Zigbee samples

The nRF Connect SDK provides the following samples showcasing the Zigbee protocol. You can build the samples for various boards and configure them for different usage scenarios.

In addition to their basic functionalities, you can expand the samples with variants and extensions. The following table lists variants and extensions available for each Zigbee sample:

Variant or extension

Light bulb

Light switch

Network coordinator

NCP

Shell

Template

FEM support

Sleepy End Device behavior

***

**

**

Multiprotocol Bluetooth LE

***

***

***

***

Zigbee FOTA

**

**

**

**

Endpoint logger

**

**

**

**

ZCL scene helper

***

***

***

***

Read the table symbols in the following manner:

  • - Using this variant or extension either requires changes in Kconfig through the provided overlay file or the variant or extension is already enabled by default in the sample. See the sample documentation for detailed configuration steps for these variants and extensions.

  • ** - Implementing this variant or extension requires minimal changes in the sample source code and Kconfig options. Click the link for implementation details.

  • *** - Implementing this variant or extension requires several changes in both selected Kconfig options and source files, and may require adding new source files to the sample (for example, command implementation). Click the link for implementation details.

  • No symbol - The variant or extension is not available for the given sample.

Some variants and extensions might also require additional hardware and software, such as mobile applications for testing purposes.

General information about samples in the nRF Connect SDK
  • If you are working with embedded devices, it is a good practice to first test your setup by programming an unchanged sample to your development kit.

  • Some samples in the nRF Connect SDK are currently not designed to work out-of-tree. You may need to manually configure your sample to work correctly in the nRF Connect for VS Code extension.

  • All samples in the nRF Connect SDK use Fatal error handler library and are configured to perform a system reset if a fatal error occurs. This behavior is different from how fatal errors are handled in the Zephyr samples. You can change the default behavior by updating the configuration option CONFIG_RESET_ON_FATAL_ERROR.

  • All samples in the nRF Connect SDK are tested and verified in accordance with their maturity level.

If you want to list samples available for one or more specific boards, use the nRF Connect for Visual Studio Code extension to filter them.