DFU over Zigbee

nRF Util

tags
nRF Util

This DFU method uses a Development Kit (DK) compatible with the nRF5 SDK as the connectivity device for the Device Firmware Update (DFU) over Zigbee.

Note

This procedure is compatible with the nRF52840 DK (PCA10056) and the nRF52833 DK (PCA10100).

The DFU over Zigbee procedure is performed by loading an upgrade image to the Over-the-Air (OTA) Server running on the DK. The OTA Server then distributes the image to the network.

Related nRF5 SDK for Thread and Zigbee documentation

You can run the nrfutil nrf5sdk-tools dfu zigbee command to perform this update, together with appropriate options for your setup. To see the list of options, run the nrfutil nrf5sdk-tools dfu zigbee --help command.

Before you begin, run a command to generate a Zigbee-specific image from your own application. See Zigbee packages for more information. For example, you could use the following command from the Generating DFU packages page:

nrfutil nrf5sdk-tools pkg generate --hw-version 52 --sd-req 0x00 --application-version 0x01020101 --application nrf52840_xxaa.hex --key-file key.pem app_dfu_package.zip --zigbee-manufacturer-id 0xCAFE --zigbee-image-type 0x1234 --zigbee-comment good_image --zigbee True

Tip

You can use the --external-app option to generate packages for updating external applications. For more information, see Packages for external applications.

For more information, see Zigbee packages.

Complete the following steps to perform the DFU:

  1. Connect a DK compatible with the nRF5 SDK to your computer.
    This board serves as the Zigbee OTA Server.
  2. Run nrfutil nrf5sdk-tools dfu zigbee with appropriate options to start the Zigbee OTA Server, which will then perform DFU over Zigbee in the network.
    The DFU over Zigbee process ends immediately after loading the image, but the OTA Server is active until DK reset.

    For example:

    nrfutil nrf5sdk-tools dfu zigbee --file CAFE-1234-good_image.zigbee --channel 20 --jlink_snr 683604699
    

    In this command:

    • --file specifies the package to be transferred. The package name includes the manufacturer ID (CAFE), image type (1234), and comment (good-image), taken from the flags provided when generating the package.
    • --channel specifies the Zigbee 802.15.4 channel to use for the DFU.
    • --jlink_snr specifies the serial number of the DK that will act as the OTA Server.