Jan Procházka's Library Aims to Deliver Easier ESP32-Driven Zigbee Handling in Your Arduino Projects
New application programming interface will bring ESP-IDF-style Zigbee support to the Espressif ESP32 Arduino Core.
Embedded software engineer Jan Procházka is looking to make it easier to create Arduino sketches for Zigbee projects on the Espressif ESP32-C6, ESP32-H2, and other microcontrollers — by creating an application programming interface (API) for inclusion in the Espressif Arduino ESP32 Core.
"[The] Zigbee library [is] a new API for Arduino," Procházka explains of the project, which he's working on in his capacity as a software engineer at Espressif. "[It supports the] ESP32-C6 and ESP32-H2 as Standalone Nodes, [and] other SoC [Systems on Chips] can be used as radio co-processor attached to a RPC (802.15.4 radio layer)."
The idea behind the library, brought to our attention by CNX Software, is simple: to make it easier for those choosing to use the Arduino IDE or other Arduino sketch creation tool to build Zigbee projects using Espressif's range of IEEE 802.15.4-compatible microcontrollers. While already available in Espressif's own ESP-IDF software development kit, and the dedicated ESP-Zigbee-SDK, those looking to build Arduino projects with Zigbee support have been left largely adrift.
The work-in-progress library, which is currently available in a fork of the Espressif ESP32 Arduino Core's development branch, currently supports the creation of Zigbee classes, all Zigbee roles, Zigbee network scanning, and control of basic on-off smart lights and switches and color-changing or dimmable smart lights and switches — and the user can also set the manufacturer and model name.
Still to come in the API are controls for temperature sensors and thermostats and a to-do list item for adding the ability to monitor battery level or power supply status. While the basic code examples from the ESP-IDF have already been ported across, they're not fully updated to use the library — and the documentation is not yet complete. "More tasks will be added while [the project is] in progress," Procházka notes.
The library's development progress can be monitored in this GitHub issue, while the source code is published in Procházka's Espressif ESP32 Arduino Core fork under the Lesser GNU General Public License 2.1.