blob: ed04f302d72e715a1ac8f67de9e8ac3ee5ddb2c8 [file] [log] [blame] [view]
# nRF Connect platform overview
The nRF Connect platform is a
[Matter](https://github.com/project-chip/connectedhomeip) platform that uses
Nordic Semiconductor's nRF Connect SDK.
The following diagram shows a simplified structure of a Matter application that
runs on the nRF Connect platform and uses Bluetooth® LE and Thread stacks for
communication purposes:
![nrfconnect platform overview](./images/matter_nrfconnect_overview_simplified_ncs.svg)
> **Note**: For readability, the diagram does not show all projects components,
> only the most important ones for a typical Matter application.
<hr>
## nRF Connect SDK
Nordic Semiconductor's
[nRF Connect SDK](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/index.html)
allows to build a range of applications, including cellular IoT (LTE-M and
NB-IoT), Bluetooth Low Energy, Thread, Zigbee, and Bluetooth mesh. The SDK
contains samples, libraries and a full set of drivers for Nordic Semiconductor's
[nRF9160](https://www.nordicsemi.com/Products/Low-power-cellular-IoT/nRF9160),
[nRF7002](https://www.nordicsemi.com/Products/nRF7002),
[nRF5340](https://www.nordicsemi.com/Software-and-tools/Development-Kits/nRF5340-PDK),
and
[nRF52 Series](https://www.nordicsemi.com/Products/Low-power-short-range-wireless)
devices.
The nRF Connect SDK is based around [Zephyr RTOS](https://zephyrproject.org/),
which is a scalable Real-Time Operating System dedicated for the connected,
resource-constrained devices. Zephyr supports multiple hardware platforms and
provides hardware drivers, application protocols, protocol stacks, and more.
Besides Zephyr, the nRF Connect SDK also integrates other projects like crypto
library mbedTLS, MCU bootloader or the [OpenThread](https://openthread.io/)
implementation of the Thread stack.
<hr>
## Bluetooth LE stack
In the nRF Connect platform applications, the Bluetooth LE interface is used to
perform pairing and Thread or Wi-Fi network provisioning operations between the
Matter device and the Matter controller. Afterwards, the fully provisioned
device is able to communicate with other devices inside the Thread or Wi-Fi
network.
For the Bluetooth LE communication purposes, the nRF Connect platform
application is using the Bluetooth LE stack, in which the Bluetooth LE Host part
is provided by the Zephyr RTOS and the SoftDevice Controller is implemented in
the nRF Connect SDK's driver.
The nRF Connect SDK's Multiprotocol Service Layer (MPSL) driver allows running
Bluetooth LE concurrently with other stacks on the same radio chip.
Read more in the nRF Connect SDK documentation:
- [SoftDevice Controller](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrfxlib/softdevice_controller/README.html)
- [Multiprotocol Service Layer](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrfxlib/mpsl/README.html)
<hr>
## Thread stack
For the Thread communication purposes, the nRF Connect platform application is
using the Thread stack, which consists of several layers implemented in
different projects. The core of the Thread stack is OpenThread, but it also
requires the IEEE 802.15.4 radio driver provided by the nRF Connect SDK and the
network layer functionalities provided by the Zephyr.
Read more in the nRF Connect SDK documentation:
- [Multiprotocol Service Layer](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrfxlib/mpsl/README.html)
- [nRF 802.15.4 Radio Driver](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrfxlib/nrf_802154/README.html)
- [OpenThread integration](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/protocols/thread/overview/ot_integration.html)
<hr>
## Wi-Fi stack
For the Wi-Fi communication purposes, the nRF Connect platform applications are
using the
[Zephyr port of Host AP and WPA Supplicant](https://github.com/nrfconnect/sdk-hostap/)
and the
[Wi-Fi driver from the nRF Connect SDK](https://github.com/nrfconnect/sdk-nrf/tree/main/drivers/wifi/nrf700x)
that implements the communication between the host MCU and the nRF7002 companion
integrated circuit over SPI or QSPI bus. The nRF7002 companion integrated
circuit is compliant with IEEE 802.11ax (Wi-Fi 6).
<hr>
## Matter integration
Matter is located on the top application layer of the presented model, looking
from the networking point of view. The Bluetooth LE and Thread or Wi-Fi stacks
provided by the nRF Connect SDK and Zephyr must be integrated with the Matter
stack using a special intermediate layer.
In practice, this layer contains platform-specific implementations of abstract
manager interfaces (such as Bluetooth LE Manager or Thread Stack Manager)
defined in the Matter stack. The application is able to use Matter's platform
agnostic interfaces and no additional platform-related actions are needed to
perform communication through the Matter stack.
For more information, see the
[Matter integration in the nRF Connect SDK](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/protocols/matter/overview/integration.html)
page in the SDK documentation.
<hr>
## Build system
The nRF Connect platform makes use of the following build systems to generate
ninja build scripts:
- GN - Used by the Matter project in majority of cases.
- CMake - Used by other components related with the nRF Connect platform,
namely nRF Connect SDK and Zephyr.
As a result, Matter's stack and platform modules are built with GN (see the
overview diagram) and the output is used to generate the library file. The
application, nRF Connect SDK, and Zephyr are built with CMake and the Matter
library file is imported during the compilation process.
For more information about the build system in Zephyr and the nRF Connect SDK,
see the
[Build and configuration system](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/app_dev/build_and_config_system/index.html)
page in the SDK documentation.