Configuring Matter in nRF Connect SDK
This page describes what is needed to start working with Matter in the nRF Connect SDK.
Mandatory configuration
To use the Matter protocol, set the following Kconfig options:
CONFIG_CHIP
- This option enables the Matter protocol stack and other associated Kconfig options, includingCONFIG_CHIP_ENABLE_DNSSD_SRP
that is required for the discovery of the Matter device using DNS-SD.CONFIG_CHIP_PROJECT_CONFIG
- This option defines the path to the configuration file that specifies Vendor ID, Product ID, and other project-specific Matter settings.
Because Matter is an application layer protocol on top of the other IPv6-based transport protocols (see Matter architecture and integration), it uses multiple software modules with their own configuration options to provide the communication between the devices and the necessary functionalities. It uses modules such as Bluetooth® LE, the IPv6 stack (currently, only Thread is supported), nRF Security, or MCUboot. Make sure to review the configuration options of these modules when configuring Matter.
For an example configuration, see the Matter Template sample’s prj.conf
files in the configuration
directory for each supported board target.
For instructions about how to set Kconfig options, see Configuring your application.
Optional configuration
After enabling the Matter protocol and defining the path to the Matter configuration file, you can enable additional options in Kconfig.
OpenThread configuration
Enabling CONFIG_CHIP
automatically enables the following options related to OpenThread:
CONFIG_OPENTHREAD_ECDSA
andCONFIG_OPENTHREAD_SRP_CLIENT
- enabled throughCONFIG_CHIP_ENABLE_DNSSD_SRP
CONFIG_OPENTHREAD_DNS_CLIENT
- enabled throughCONFIG_CHIP_ENABLE_DNS_CLIENT
Additionally, you can enable the support for Thread Sleepy End Device in Matter by using the CONFIG_CHIP_ENABLE_SLEEPY_END_DEVICE_SUPPORT
Kconfig option.
This option sets the CONFIG_OPENTHREAD_MTD_SED
Kconfig option.
For more information about configuring OpenThread in the nRF Connect SDK, see Configuring Thread in nRF Connect SDK.
Commissioning with NFC
You can configure the Matter protocol to use NFC tag for commissioning, instead of the default QR code.
To enable NFC for commissioning and share the onboarding payload in an NFC tag, set the CONFIG_CHIP_NFC_COMMISSIONING
Kconfig option.
Logging configuration
Logging is handled with the CONFIG_LOG
option.
This option enables logging for both the stack and Zephyr’s Logging API.
Zephyr allows you to configure log levels of different software modules independently. To change the log level configuration for the Matter module, set one of the available options:
CONFIG_MATTER_LOG_LEVEL_INFO
Matter shell commands
You can enable the Matter shell library using the CONFIG_CHIP_LIB_SHELL
Kconfig option.
This option lets you use the Matter shell commands with Matter samples.
See Using CLI in nRF Connect examples in the Matter documentation for the list of available Matter shell commands.
Matter device identification
Matter has many ways to identify a specific device, both mandatory and optional. These can be used for various purposes, such as dividing devices into groups (by function, by vendor or by location), device commissioning or vendor-specific cases before the device was commissioned (for example, identifying factory software version or related features).
Some of these can be configured using the Kconfig options listed below:
CONFIG_CHIP_DEVICE_VENDOR_ID
sets the device manufacturer identifier that is assigned by the Connectivity Standards Alliance.CONFIG_CHIP_DEVICE_PRODUCT_ID
sets the product identifier that is assigned by the product manufacturer.CONFIG_CHIP_DEVICE_TYPE
sets the type of the device using the Matter Device Type Identifier, for example Door Lock (0x000A) or Dimmable Light Bulb (0x0101).CONFIG_CHIP_COMMISSIONABLE_DEVICE_TYPE
enables including an optional device type subtype in the commissionable node discovery record. This allows filtering of the discovery results to find the nodes that match the device type.CONFIG_CHIP_ROTATING_DEVICE_ID
enables an optional rotating device identifier feature that provides an additional unique identifier for each device. This identifier is similar to the serial number, but it additionally changes at predefined times to protect against long-term tracking of the device.
Amazon FFS support
Matter in the nRF Connect SDK supports Amazon Frustration-Free Setup (FFS) that allows Matter devices to be automatically commissioned to the Matter network using the Matter-enabled Amazon Echo device. To enable the FFS support, set the following configuration options to meet the Amazon FFS setup prerequisites:
CONFIG_CHIP_DEVICE_TYPE
to the appropriate value, depending on the device used. The value must be compliant with the Matter Device Type Identifier.
Required components for Matter network
The Matter protocol is centered around the Matter network, which requires the following components to operate properly:
Matter controller - configured either on PC or mobile
Thread Border Router - configured either on PC or Raspberry Pi
For information about how to configure these components, read Configuring Matter controller and Configuring Matter development environment.