Help migrating from NRF5 SDK to NRF Connect SDK

Hi, I have a fully functional software running on a NRF module. The application is built on a nrf5 sdk. I would like to migrate the entire application to NRF Connect SDK. Is there a document or anything from where i can get help to understand how this is done ? Can someone help me ?

Parents Reply Children
  • Okay. I understand. But is there any chance that any  of the old APIs or examples that was available in nrf5 was removed completely in NCS ?
    I used a the buttonless dfu in nrf5 (ble_app_buttonless_dfu )but I cannot find a similar example in NCS. Can you tell me is it stll available in a different name or if it is completely removed ? If it is available in NCS, could you tell me where I can get the code ?

  • Some of the examples we had in nRF5SDK are also supported in NCS inside ncs\vx.x.x\nrf\samples. Not all the examples are ported and I am not sure if it is in the roadmap even to port all available examples in nRF5SDK to NCS.

    Midhunjac said:
    But is there any chance that any  of the old APIs or examples that was available in nrf5 was removed completely in NCS ?

    A lot of libraries all of drivers (except nrfxlib) and many examples from nRF5 SDK are not available in the NCS. the buttonless_dfu example does not exist in NCS since Zephyr works with MCUBoot and it has its own native support of DFU and samples that are provided around it.

  • So, in a nutshell, I might have to destroy my existing code developed around nrf5 SDK and develop it all from scratch if I am migrating to NCS to achieve the same functionality. Right ?


  • Not all of your current application based on nRF5SDK needs to be discarded. BLE API is different, but you will be able to find a close cousin API in nRF Connect SDK BLE API to the one in the Softdevice API. 

    There is no fstorage or fds in nRF Connect SDK, so you need to port that to settings. You need to change the way you initiated the peripherals and use Zephyr device drivers instead.

    • All you application logic and state machine can still be re-used.
    • All the logic inside the device driver callbacks can be reused. 
    • The way you communicate to the sensors connected to your product, pre and post processiing of data logic can still be re-used.
  • How do i flash the program to my custom board ? I have a custom board with nrf52840. I have been using nrf5 sdk based application and flashing it with the segger studio. I flash my board using the nrf52DK.
    I recently migrated my application to NCS.I have made a dts file and couple of other board related files. When i try to flash using 'west flash' , it says flashing is successful. But it does not really work. Am I doing something wrong ?Can you please guide me through the steps to flash the device successfully ?

Related