Which OTA / DFU update solution going forward?

Hi all, I have a prototype device app I'm going to "deploy" in a remote location with an nrf52840 dongle. Initially ble via special shell commands added to nrf/samples/bluetooth/shell_bt_nus. I'm sure I will further refine the code with a dk and will then want to update the remote nrf52840 dongle. Getting to the dongle for every update will be... a "chore." I found myself looking at ways to do a remote update but, after searching through all the samples for "OTA" and "DFU" and there seems to be many "starts" but nothing clear. Going to UpdateHub now would be overkill as this stage. In case I missed something, here's what I found so far:

infocenter.nordicsemi.com/.../service_dfu.html Buttonless BLE Secure Device Firmware Update (DFU)
developer.nordicsemi.com/.../README.html
developer.nordicsemi.com/.../README.html
developer.nordicsemi.com/.../README.html
developer.nordicsemi.com/.../README.html MCUmgr
developer.nordicsemi.com/.../README.html
developer.nordicsemi.com/.../README.html docs.updatehub.io
docs.updatehub.io/.../
developer.nordicsemi.com/.../README.html
infocenter.nordicsemi.com/.../s112.html SoftDevice 112
infocenter.nordicsemi.com/.../group__peer__manager.html Peer Manager

Here's my questions:

1. With the adoption of zephyr, do the current SoftDevice's have a future with new development or will most of that functionality be coming from Zephyr anyway.

2. Any guidance on which OTA update solution to start with? If it means switching from BLE to 802.15.4/6lowpan/thread/matter, that is fine (but it will mean more time spent coming up to speed). For a zephyr solution, which samples should I be looking at?

TIA!

  • Hi,

    1. With the adoption of zephyr, do the current SoftDevice's have a future with new development or will most of that functionality be coming from Zephyr anyway.

    The SoftDevice was used in the nRF5 SDK, but is not used in the nRF Connect SDK (though the link layer has been ported to the SoftDevice Controller). The nRF5 SDK is in a maintenance mode, and will not see new features added. For any new project I recommend going for the nRF Connect SDK.  See the nRF Connect SDK and nRF5 SDK statement for details.

    2. Any guidance on which OTA update solution to start with? If it means switching from BLE to 802.15.4/6lowpan/thread/matter, that is fine (but it will mean more time spent coming up to speed). For a zephyr solution, which samples should I be looking at?

    If you are using the nRF52840 dongle, that ships with a nRF5 SDK based USB bootloader. If USB transport is OK for your use case, you can continue to use that. If not, you should look at the bootloader and DFU solution in the nRF5 SDK, which supports a number of transports (including BLE, UART, USB, and more). Which transport makes the most sense is application specific, so that choice is up to you. You can see an overview of the DFU solution the the nRF Connect SDK under Bootloaders and Device Firmware Updates. In most cases, it will consist of the MCUboot boatload, and an application that include an SMP Server (over one or more different transport layer), that you use for image management. You can refer to the SMP Server sample where you can pick different overlay files for different transports. (PS: You can ignore the step about signing in the sample, as that is done automatically in the nRF Connect SDK build system, though you need to specify your own key when going to production as detailed under Signature keys).

Related