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

Updating one nRF52 DK board with another, automatic OTA

I am trying to update one nRF52 DK Board with another using OTA firmware updates. Similar to how the nRF Connect app can connect to a nRF52 and flash a now firmware image, I want to  have one of the nRF52s check the version of firmware in the advertisement packet of the other, see it needs to be updated, and automatically update it (without having user interaction, each as stand-alone embedded systems). I am currently looking at the IOS and Android app as well as nrfutil to see if I can mimic this in c++ on "master" nRF52 DK Board. Currently I think it would be easiest to do what nRF Connect does by taking a zipped image, breaking it apart, and sending the packets as described by the bootloader section on the infocenter.

I am using:

-nRF52 DK Board (pca10040) (x2)

- SDK14

-MacOS

-c++

Parents
  • Hi.

    Here is a proposal for what you could do:

    You first must find out if the nRF52 DK you wish to update requires an update.
    Second, you must store the DFU image you wish to use on the DK you wish to update from.
    Last, you must port the part of nrfutil which is responsible for the DFU transfer, from Python to C. There source file for the Python implementation can be found here, and you can find more in-depth information about how the packets are sent over BLE here.

    - Andreas

Reply
  • Hi.

    Here is a proposal for what you could do:

    You first must find out if the nRF52 DK you wish to update requires an update.
    Second, you must store the DFU image you wish to use on the DK you wish to update from.
    Last, you must port the part of nrfutil which is responsible for the DFU transfer, from Python to C. There source file for the Python implementation can be found here, and you can find more in-depth information about how the packets are sent over BLE here.

    - Andreas

Children
Related