nRF Util for nRF5 SDK v1.0.0

DFU over Thread

Use an nRF5 Development Kit (DK) as the connectivity device for the Device Firmware Update (DFU) over Thread procedure.

For DFU over Thread, nRF Util for nRF5 SDK supports both unicast and multicast mode. In unicast mode, every DFU client requests consecutive blocks of firmware from nRF Util for nRF5 SDK individually. In multicast mode, nRF Util for nRF5 SDK sends consecutive blocks of firmware in multicast messages, and clients that are interested in a new firmware receive and process these messages.

The default mode is unicast mode. To select multicast mode, call nRF Util for nRF5 SDK with a multicast address as a destination address.

Complete the following steps to perform the DFU:

  1. Connect an nRF5 DK to your computer.
    This board serves as the Thread network co-processor (NCP) for performing the DFU on the target.
  2. Run nrfjprog --eraseall to erase the contents of the DK.
  3. Run nrfutil dfu thread to do a full DFU over a Thread.
    Use the -f option to program the DK with the required connectivity software. This option overwrites the contents of the DK.

    Enter nrfutil dfu thread --help to see available options.

For example, enter the following command to initiate a unicast DFU procedure for the file app_dfu_package.zip over Thread on channel 11 with PAN ID 0xABCD, using an nRF52840 NCP connected to COM3:
nrfutil dfu thread -f -pkg app_dfu_package.zip --channel 11 --panid 43981 -p COM3
Any remote Thread device can then request the firmware update.
Enter the following command to perform a multicast DFU procedure for the file app_dfu_package.zip over Thread on channel 11 with PAN ID 0xABCD to the multicast address FF03::1, using an nRF52840 NCP connected to COM3:
nrfutil dfu thread -f -pkg app_dfu_package.zip  --channel 11 --panid 43981  -rs 5000 -a FF03::1 -p COM3 -r 4
Any remote Thread device can then decide whether it wants to receive and process the firmware update messages.