This DFU method uses a Development Kit (DK) compatible with the nRF5 SDK as the connectivity device for the Device Firmware Update (DFU) over Thread.
Note
This procedure is compatible with the nRF52840 DK (PCA10056).
You can run the nrfutil nrf5sdk-tools dfu thread command to perform this update, together with appropriate options for your setup. To see the list of options, run the nrfutil nrf5sdk-tools dfu thread --help command.
Note
For DFU over Thread, nrf5sdk-tools supports both the unicast and the multicast mode.
- In the unicast mode, every DFU client requests consecutive blocks of firmware from nRF Util for nRF5 SDK individually.
- In the multicast mode, nRF Util for nRF5 SDK sends consecutive blocks of firmware in multicast messages, and clients that are interested in new firmware receive and process these messages.
The default mode is the unicast mode. To select multicast mode, call nrf5sdk-tools with a multicast address as a destination address.
For more information about the DFU over Thread, see the Thread Secure DFU protocol page in the nRF5 SDK for Thread and Zigbee documentation. For an example of the full DFU procedure from start to finish on the nRF52840 DK, see Thread Secure OTA DFU Example.
Complete the following steps to perform the DFU in the default unicast mode:
- Connect a DK compatible with the nRF5 SDK to your computer. This board serves as the Thread network co-processor (NCP) for performing the DFU on the target.
- Run
nrfutil device erase --allto erase the contents of the DK. -
Run
nrfutil nrf5sdk-tools dfu threadwith appropriate options to perform DFU over Thread.For example:
nrfutil nrf5sdk-tools dfu thread --flash_connectivity --package app_dfu_package.zip --channel 11 --panid 43981 --port COM3In this command:
--flash_connectivityoverwrites the contents of the DK.--packagespecifies the package to be transferred.--channelspecifies the 802.15.4 channel to use for the DFU. If not specified, channel 11 is used by default.--panidspecifies the PAN ID of the 802.15.4 channel to use for the DFU. If not specified, the 1234 PAN ID is used.--portspecifies the serial port to which the NCP DK is connected.
After this command is run, any remote Thread device can then request the firmware update.