nRF Connect SDK and Zeyphr Integration

Hello,


We are looking at using an nRF52 Series microcontroller for a BLE device. We are trying to decide if we should use the nRF5 SDK (which we have used in the past) or nRF Connect SDK. We understand that the nRF Connect SDK is recommended for new projects and we would like to use it as we want to use an RTOS and it looks like an improvement to the nRF5 SDK.

However, one of our concerns is vendor lock-in. Due to the current shortages, we want to remain as flexible as possible in case we are unable to source Nordic parts at some point during the product's lifetime. With the nRF5 SDK, the separation was very clear between the SDK and OS due to us running "bare metal", so it was easy to separate the business logic from the HAL.

With the nRF Connect SDK and our lack of experience with Zephyr, we are unsure how difficult it would be to move to a different vendor (ST, TI, Microchip) due to the integration between the Nordic's HAL and Zephyr. 

Has anyone got experience supporting a Nordic MCU (with the nRF Connect SDK) and a different vendor's MCU using Zephyr that they could share?

Would anyone be able to comment on how tightly integrated the nRF Connect SDK is with Zeyphr and if this could lead to issues if we can't source Nordic MCU's?

Thank you, please ask questions if you need more information.

Parents
  • Hi,

    The nRF Connect SDK is tightly coupled with Zephyr. You can almost think of it as similar to a Linux distribution, where all have more or less the same kernel and surrounding basic tools etc, but add differentiations components on top of that. There is a lot of the surrounding tools and components in the nRF Connect SDK though, so the analogy is not 100%, but it gives the idea.

    The Zephyr RTOS is getting more and more widespread, so if you base your firmware on Zephyr APIs and/or your own wrappers, then you should be able to reuse most of the code with other SoCs as well. The nRF Connect SDK is sort of a superset of Zephyr, and you will typically use quite a bit of features from there. That will mostly be under the hood though, and also for the proprietary components you often use Zephyr APIs (for instance if you use the SoftDevice controller as BLE controller the application code will be exactly the same as if you were using the Zephyr LL).

    It will be interesting if someone else on this forum can comment on their experiences.

  • Hi Einar,


    Thank you for your reply. That's good to know.

    I would also be very interested if someone could comment on their experience so I won't verify this answer yet if that's okay?

Reply Children
No Data
Related