Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs

Migrating nRF52840 Firmware from nRF5 SDK with SoftDevice S140 to nRF Connect SDK via BLE DFU

We currently have several nRF52840-based devices deployed in the field, running firmware developed using the nRF5 SDK and utilizing the SoftDevice S140 for BLE functionality. These devices are equipped with the nRF Secure Bootloader to facilitate Device Firmware Updates (DFU) over BLE.

As we plan to transition our firmware development to the nRF Connect SDK (NCS), we aim to update our existing devices to the new NCS-based firmware via BLE DFU. Given the differences between the nRF5 SDK and NCS—particularly concerning bootloaders and BLE stack implementations—we seek guidance on the following:

  1. Can the existing nRF Secure Bootloader be used to directly update the application firmware to an NCS-based version? If so, what modifications are necessary to ensure compatibility?
  2. Is it advisable to perform a two-stage DFU process, first updating the bootloader to MCUboot and subsequently updating the application firmware? What are the recommended steps to achieve this without physical access to the devices?
  3. Considering that the nRF5 SDK relies on the SoftDevice S140, while NCS utilizes the Zephyr BLE stack, what considerations should be made to ensure a seamless transition during the DFU process?
  4. What are the best practices for managing memory layout changes when migrating from nRF5 SDK to NCS, especially in the context of DFU?
Related