About the nRF Connect SDK

The nRF Connect SDK enables you to develop applications for nRF52, nRF53, and nRF91 Series devices. It is a set of open source projects maintained by Nordic Semiconductor, consisting of several repositories such as:

  • sdk-nrf repository - contains applications, samples, libraries, and drivers that are specifically targeted at Nordic Semiconductor devices.

  • sdk-nrfxlib repository - contains closed-source libraries and modules in binary format. See the nrfxlib documentation.

  • sdk-mcuboot repository - contains a fork of the MCUboot project, which provides a secure bootloader application. You can find the fork in bootloader/mcuboot after obtaining the nRF Connect SDK source code. See the documentation in Nordic Semiconductor’s MCUboot fork.

  • sdk-zephyr repository - contains a fork of the Zephyr project, which provides samples, libraries, and drivers for a wide variety of devices, including Nordic Semiconductor devices. See the documentation in Nordic Semiconductor’s Zephyr fork.

The main repository is sdk-nrf. It contains the SDK manifest file that enables you to manage the repositories as one code base with the west tool.

Tools and configuration

The figure below visualizes the tools and configuration methods in nRF Connect SDK. They are based on the Zephyr project. All of them have a role in the creation of an application, from configuring the libraries or applications to building them.

nRF Connect SDK tools and configuration

nRF Connect SDK tools and configuration methods

  • Kconfig generates definitions that configure libraries and subsystems.

  • Devicetree describes the hardware.

  • CMake generates build files based on the provided CMakeLists.txt files, which use information from Kconfig and devicetree. See the CMake documentation.

  • Ninja (comparable to make) uses the build files to build the program, see the Ninja documentation.

  • The GCC compiler creates the executables.

West

The Zephyr project includes a tool called west that enables you to manage multiple repositories. When developing in the nRF Connect SDK, your application will use libraries and features from folders that are cloned from different repositories or projects. The west tool keeps control of which commits to use from the different projects. It also makes it fairly simple to add and remove modules.

A west workspace contains one manifest repository and multiple projects, where the manifest repository controls which commits to use from the different projects. For more information, see the West (Zephyr’s meta-tool) user guide.

See Getting started for information about how to install the nRF Connect SDK and about the first steps.