nRF Connect SDK: DFU BLE in Windows?

I am developing an app for a custom nRF52840 board. I am using the latest version of the nRF Connect SDK (2.9.1) and have enabled OTA DFU in firmware using MCUboot and sysbuild. I am able to successfully upload and flash firmware updates using the nRF Connect Android app, but the workflow is cumbersome. Is it possible to perform DFU over BLE in Windows? I have found and explored 3 options, but none of them seem to work:

- mcumgr: My understanding is that mcumgr only supports DFU over BLE on MacOS and Unix. Is this correct?

- nrfutil: Supposedly supports DFU over BLE through legacy nRF5 SDK tools. I tried using this tool with the nrfutil dfu ble command, but it terminates with KeyError: 'manifest'. I believe this is caused by my app being built with the nRF Connect SDK rather than the nRF5 SDK. Is this correct? Is there a way around this error while staying with the nRF Connect SDK?

- nRF Connect for Desktop Bluetooth Low Energy standalone app: I am able to connect to my custom board using the BLE desktop app, but I don't see an option for DFU. Is this feature not implemented in the desktop app?

Any guidance would be greatly appreciated.

  • Hi,

    Is it possible to perform DFU over BLE in Windows?

    BLE FOTA is unfortunately not supported on Windows. BLE FOTA support with mcumgr is only for Linux AFAIK. The limitation is on Windows' side. See  McuMgr via BLE with a Windows machine  

    - mcumgr: My understanding is that mcumgr only supports DFU over BLE on MacOS and Unix. Is this correct?

    Yes, this is correct

    I believe this is caused by my app being built with the nRF Connect SDK rather than the nRF5 SDK. Is this correct?

    Yes, this is correct. Nrfutil for nrf5 sdk and nrfutil for ncs are two different tools

    I am able to connect to my custom board using the BLE desktop app, but I don't see an option for DFU. Is this feature not implemented in the desktop app?

    The purpose of this application is not DFU, but to test other BLE activity

    Let me know if this answers your question

    Kind regards,
    Andreas

Related