This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Performing an OTA DFU with nRF Connect SDK v2.1

Running nRF Connect SDK v2.1 targetting an nRF52840 DK (PCA10056)

I'm looking at the OTA DFU options for this SDK. The host side tool if i'm not mistaken is a go utility called mcumgr. My question is how do i perform an OTA DFU using another nRF52840 DK or Dongle as the connectivity board? 

We've used the NRF SDK v15.3 previously for OTA DFU's in which we could use nrfutil (a python utility) and an nRF 52840 Dongle running a prebuilt connectivity image to perform the DFU from a PC. Is such a setup possible for the nRF Connect SDK, specifically from an osx host environment? 

  • Hi pquevedo,

     

    I'm looking at the OTA DFU options for this SDK. The host side tool if i'm not mistaken is a go utility called mcumgr.

     Correct, the mcumgr (https://github.com/apache/mynewt-mcumgr) is the managment library used for firmware updates in nRF Connect SDK. mcumgr uses the Simple Management Protocol (SMP) protocol.

    We've used the NRF SDK v15.3 previously for OTA DFU's in which we could use nrfutil (a python utility) and an nRF 52840 Dongle running a prebuilt connectivity image to perform the DFU from a PC. Is such a setup possible for the nRF Connect SDK, specifically from an osx host environment? 

     There is no support for the SMP protocol in the latest version of nrfutil and I do not know if this tool will support NCS or if will create a new utility for NCS. I will have to check what the SW roadmap looks like. 

    However, if would like to implement your own python utility tool, then you can use the pc-ble-driver-py( https://github.com/NordicSemiconductor/pc-ble-driver-py) to send SMP requests over Bluetooth to a nRF device running NCS. 

    Firmware upgrade is a four step process performed using commands from the img_mgmt componentuploadtestreset, and confirm.

    Best regards

    Bjørn

Related