How to do DFU updates from a laptop, perhaps using dfu_transport_ble.py?

I intend to extend the Secure DFU Service to perform some custom activities (including file transfer) from a Central to an nRF52832 device. During development it would be very useful to run the DFU service on a laptop, initially with the functionality of the 'nRF Device Firmware Update' app. Then I would add in my extensions. When it is working we can move the functionality to an Android and/or iOS app.

I already have my Windows laptop acting as a Central device using the Bleak python library, talking to my device over BLE.

There seems to be python code that might have the necessary functionality at the URL below, but so far I can't see documentation for running this:

https://github.com/NordicSemiconductor/pc-nrfutil/blob/master/nordicsemi/dfu/dfu_transport_ble.py

Is there any documentation for this? Any suggestions for getting going?

  • Hi Acutech, 

    You are pointing to the legacy nrfutil for nRF5 SDK. It's depreciated tool and is replaced by the new nrfutil tool. Unfortunately the new nrfutil source code is not available. 

    The legacy nrfutil requires a nRF52 board to be connected to the PC to do BLE DFU. You interface with the nRF52 board via serial port. You can find the documentation on how to perform a BLE DFU update here

    As mentioned in the deprecated note on github, the support for using legacy nrfutil is limited. 

Related