
On the ESP32 bench
Of Espressif's chips, the H2, C6 and C5 have the 802.15.4 radio that Zigbee needs. This lesson chooses a role, starts a network and shows the report it makes, then hands over to the ESP32 chapter for the code.
Which chips have the radio
Zigbee needs an IEEE 802.15.4 radio. In the October 2026 documentation, the ESP32-H2 has it with Bluetooth Low Energy and no Wi-Fi. The ESP32-C6 has it with Wi-Fi 6 and Bluetooth Low Energy. The ESP32-C5 has it too, and whether the Arduino Zigbee library is validated for a given chip depends on the core release, so check the release you use.
The original ESP32, the ESP32-S3, the ESP32-C3 and the ESP32-P4 have no 802.15.4 radio, and software cannot add one. Such a board can only drive a separate radio, which is a different design.
The role is chosen in code
The Arduino core supports a coordinator, a router and an end device, and the role is a choice in the sketch, not something the chip decides. The menu has to match it: coordinator and router use the Zigbee ZCZR mode and partition scheme, and an end device uses Zigbee ED. When they disagree, the project does not fit or will not start.
Joining, routing and rejoining are the stack's job. The sketch supplies an endpoint, a device type and a value: the same endpoint, cluster and attribute you opened in lesson eight.
A device, or a radio for a host
A native device runs the Zigbee stack on the board and is a Zigbee device with a role. A board used as a radio for a host is not: the host's software drives the radio, which is a design pattern and not a Zigbee role.
What sharing costs
On a C6, Wi-Fi, Bluetooth and 802.15.4 share one 2.4 GHz radio path by taking turns. More Wi-Fi traffic can mean more Zigbee loss, and Espressif marks some Wi-Fi plus Zigbee router combinations as unstable or unsupported. Battery life follows poll interval, radio wake time, the sensor and the regulator, so it needs the whole board measured.
The code and the board settings are in the Zigbee, Thread and Matter chapter of the ESP32 book. Where a device's reports go after the radio is the MQTT course; the other radio on a C6 is the Wi-Fi course.
Common mistakes
- Expecting any ESP32 board to run Zigbee. Only chips with an 802.15.4 radio can, and the library's support for each depends on the release.
- Leaving the Tools menu on the default. The mode and partition scheme must match the role in the sketch.
- Calling a board that drives a radio for a host a Zigbee device. The Zigbee stack runs on the host in that design.
Edit this page — content/fundamentals/zigbee/the-esp32-as-a-zigbee-device.mdx
Discuss this article
Ask about this page. The answer stays here, on the page it belongs to, for whoever hits the same wall next.