Smart Remote 3 nRF52 v1.2
Running a DFU

The update procedure presented in this section uses the precompiled firmware packages delivered with Smart Remote. However, the DFU process looks exactly the same if you were to use your own firmware packages.

Introduction

Smart Remote comes with precompiled firmware packages which you can use to test the DFU process. You can find them in the Precompiled Firmware folder:

These packages are fully functional and do not require you to generate new keys, bootloader, or bootloader settings, as long as you use the provided precompiled firmware. If you want to run a DFU on your own application, you need to create your own DFU ZIP package, keys, and bootloader. See Generating custom firmware packages for DFU.

There are two ways to run a DFU: using a desktop or a mobile device. The procedure is the same for the product example and for the DK add-on.

Performing the upgrade with nRF Connect (desktop)

Install the following software on your desktop computer before running this procedure:

You will also need either an nRF51 or an nRF52 DK board that will function as a connectivity board during DFU.

  1. Power on the device that is being updated. Make sure your Smart Remote is programmed with an appropriate firmware HEX file. See Step-by-step firmware configuration.
  2. Connect another DK to your computer through the USB port. This DK will serve as an intermediate connectivity board. You can use either an nRF51 or an nRF52 DK for this purpose. It is recommended to erase this board prior to using it for DFU.
  3. Run nRF Connect. From the list of ports, choose the serial port on which the connectivity board is connected.
    NRFConnect_Desktop01_SelectCOM.png

  4. If the board was erased before, a message appears saying that no connectivity firmware was detected. Agree to automatically update the connectivity firmware.
    NRFConnect_Desktop00_ConnectivityFW.png

  5. Click Start Scan. From the available discovered devices, connect to Smart Remote 3. Make sure it is not bonded to another host.
    NRFConnect_Desktop02_Scan.png

    Note
    The list of discovered devices is not automatically refreshed when they stop advertising. Whenever you have problems connecting to a device from the list, try clearing the list and rerunning the scan. If Smart Remote stops advertising, tap or move the device to wake it up from low power mode.
  6. Open pairing settings for the newly connected device.
    NRFConnect_Desktop03_Connected.png

  7. When pairing, make sure to check the Perform bonding option.
    NRFConnect_Desktop04_Bond.png

  8. When the device is bonded, close the window.
    NRFConnect_Desktop05_Bonded.png

  9. Click the DFU icon in nRF Connect.
    NRFConnect_Desktop06_DFUInit.png

  10. Select the package to be transmitted to your device.
    NRFConnect_Desktop07_DFUChooseFile.png

  11. After selecting the package, click Start DFU.
    NRFConnect_Desktop08_DFUStart.png

  12. Smart Remote device reboots to the bootloader and enters DFU mode. nRF Connect disconnects and automatically reconnects to the device using the same bonding information.
  13. The DFU package is now uploaded to Smart Remote.
    Note
    For packages containing a complete firmware (a package with the SoftDevice, bootloader, and application), this is a two-stage process, in which the SoftDevice and the bootloader are updated first, followed by the application.
  14. Progress can be observed on the graph.
    NRFConnect_Desktop09_DFUTransfer.png

  15. Wait until the DFU process is completed.
    NRFConnect_Desktop10_DFUTransferDone.png

  16. When the package upload is completed, the device reboots. In a two-stage process, the device re-enters the bootloader to continue upload of the second part of the DFU package.
    NRFConnect_Desktop11_DFUSecondStage.png

  17. After the DFU process is finished, the device reboots back to the application.
    NRFConnect_Desktop12_DFUCompleted.png

Performing the upgrade (mobile)

Install the following software on your mobile device before running this procedure:

  1. Transfer the ZIP packages that will be used for DFU to your mobile device.
  2. Power on the product example or the DK add-on. Make sure your Smart Remote is programmed with an appropriate HEX file. See Step-by-step firmware configuration.
  3. Open nRF Connect on your mobile device.
  4. Tap Scan and find Smart Remote 3 on the discovered devices list.
  5. Connect to the Smart Remote device.
    NRFConnect_Android01_Connect.png

  6. Open the settings and bond with the device.
    NRFConnect_Android02_Bond.png

  7. Tap Bond to bond with the device.
    NRFConnect_Android03_BondClick.png

    Note
    The list of discovered devices is not automatically refreshed when they stop advertising. Whenever you have problems connecting to a device from the list, try refreshing the list. If Smart Remote stops advertising, tap or move the device.
  8. To start the DFU process, tap the DFU icon.
    NRFConnect_Android04_DfuInit.png

  9. Select Distribution packet (ZIP) and navigate to the ZIP package that you have previously uploaded to your mobile device.
    NRFConnect_Android05_DfuChooseFile.png

  10. Smart Remote reboots to the bootloader.
    NRFConnect_Android06_DfuEnterBootloader.png

  11. The host reconnects to the device using the same bonding information.
    NRFConnect_Android07_DfuStart1.png

  12. The DFU package is now uploaded to Smart Remote.
    Note
    For packages containing a complete firmware (a package with SoftDevice, bootloader, and application), this is a two-stage process in which the SoftDevice and the bootloader are updated first, followed by the application. The Android version of nRF Connect performs DFU process in the background service. For information on the current stage and progress of the DFU, check the Android status bar.
  13. Progress can be observed on the graph.
    NRFConnect_Android08_DfuProgress1.png

  14. Alternatively, progress can be observed on the Android status bar.
    NRFConnect_Android09_DfuProgress1b.png

  15. When package upload is completed, the device reboots. In a two-stage process, the device re-enters the bootloader to continue upload of the second part of the DFU package.
    NRFConnect_Android10_DfuDisconnecting.png

  16. Progress can be observed as before. Note that information about the package part being currently uploaded is provided.
    NRFConnect_Android12_DfuProgress2.png

  17. After the DFU process is finished, the device reboots back to the application. Refresh the services if needed.
    NRFConnect_Android14_RefreshServices.png


Documentation feedback | Developer Zone | Subscribe | Updated