nRF5 SDK for Thread and Zigbee v4.0.0
Zigbee and Zigbee+BLE examples

Table of Contents

The following examples demonstrate different features of a Zigbee stack running on the nRF52840 or the nRF52833 device.

Before running the examples, see Running precompiled examples.

To control Zigbee network and devices using Python language, you can use the Zigbee CLI Agent example and a Python CLI wrapper library.

Device support breakdown
Not all Zigbee examples support both the nRF52840 or the nRF52833 devices. See both sections for more information.
SoftDevice usage
Zigbee examples do not use the SoftDevice, with the exception of multiprotocol examples.
Zigbee example parameters
All Zigbee examples use the following parameters:
Radio Channel: 16
For production firmware or for use with 3rd party devices, such as Amazon Echo Plus, it is strongly advised to set the IEEE_CHANNEL_MASK (located in files named main.c of each example) to cover multiple channels. For example, set IEEE_CHANNEL_MASK to 0x07fff800U, in order to use all 802.15.4 defined channels.

Testing

You can find the source code and the project file of the examples in the following folder: <InstallFolder>/examples/zigbee Use the following steps to test the Zigbee examples:

  1. Build the example according to the instructions in Building examples.
  2. Use nrfjprog (from nRF5x Command Line Tools v9.2.0 or newer) to program the hex file that was created in the _build folder to the board.
  3. Use an UART viewer to see the log messages produced by the application. All Zigbee examples use 1 000 000 baud rate.

Zigbee BSP LED and button reference

All Zigbee examples use the same LED assignments:

All buttons are reserved for user application purposes. The following buttons are available:

See example pages for assignments related to each example.


Persistent storage erase method

All Zigbee examples have a method to erase the Zigbee persistent storage at boot. When using an nRF52 Development Kit, short the pin 1.09 to the ground. This pin is configurable in the zigbee_helpers.c file.

Warning
This feature clears all the NVRAM used by the Zigbee stack, including the NWK frame counter. This has severe consequences in the production. For clearing all the network information data except the frame counter, use the zb_nvram_clear function.

Power consumption measurements

For devices in which low power consumption is critical, especially battery-powered devices that implement the end device role, the current consumption must be verified during the development process.

There are different ways in which you can measure the current, for example by using the ampere-meter. For more information, see Measuring current for nRF52840 DK.

When measuring the power consumption for Zigbee examples, take into account the following information:


Documentation feedback | Developer Zone | Subscribe | Updated