nRF5 SDK v11.0.0
This information applies to the following SoftDevices: S130, S132, S332

Two devices are required to perform a Device Firmware Update: the DFU target and the DFU controller. The DFU target is the device that is updated with a new firmware image, which can contain a new application, SoftDevice, bootloader, or a combination of SoftDevice and bootloader. The DFU controller is the device that transfers the image. For example, the DFU controller can be an app on a mobile phone, or an nRF5 dongle in conjunction with Master Control Panel.

The DFU target is the device that contains a bootloader with DFU capabilities. This bootloader's responsibility is to start either the application or the DFU mode, depending on different triggers. The DFU mode is part of the bootloader. If DFU mode is started, the bootloader expects a Device Firmware Update. The DFU controller can then initiate the transfer of a firmware image, which is received and validated by the bootloader. If the image is valid, it is copied to replace the existing firmware; depending on the type of image, it might replace the application, the SoftDevice, or even the current bootloader that is receiving the update.

By default, the DFU bootloader will start the application on the device. DFU mode is started in the following cases:

The following figure shows the workflow when performing a buttonless update of the application:

Example of a buttonless DFU to replace the application image

For a more technical overview, see the Architecture of the DFU bootloader and the Architecture of the DFU process.

The DFU state machine models the states and transitions in a DFU process.

Documentation feedback | Developer Zone | Updated