Concept Rendering with future 9-Key version
-
ESP32C6 Dev Board, such as the XIAO Seeed Studio ESP32C6
-
IDE such as VSCode
-
Espressif IoT Development Framework ESP-IDF
-
ESP ZigBee SDK
-
Optional for debugging:
- ConBee II (ZShark Sniffer Firmware)
- Wireshark for Sniffing ZigBee Traffic
The code (found in main/esp_zigbee_gpd.c) sets up the ESP32C6 as a "ZigBee Green Power Device" 4-Way switch simulating an EnOcean PTM 215Z, commonly used in "Friends of Hue" / "Works with Hue" Switches.
On boot, after pressing the Pushbutton on the ESP32C6, the commisioning routine is started, simulating the 10s press of the lower right key, followed by a double key press 2s later to confirm the commision.
After the commision routine is complete, the pushbutton sends a "Recall Scene 0" command on press and a "Recall Scene 4" command on release, that is interpreted as a "short button press" event by the hue bridge.
This is also the Workaround used by EnOcean to simulate long presses, where Scene 0 to 3 are press-down events, and Scene 4 to 7 are release-events, forming 4 press and release pairs:
- Button A0: 0 and 4
- Button A1: 1 and 5
- Button B0: 2 and 6
- Button B1: 3 and 7
Currently only Button A0 is configured to the pushbutton on the ESP32C6. More GPIO pins can be configured by modifiying the code to suit your project.
The goal is to build a low power device (<15 mA) resembling the concept images, including a custom PCB-Design with Cherry ULP switches, CR2450 battery / rechargeable USB-C LiPo-Module and enclosure.
Further steps include adapting the project to Silicon Labs EFR32MG24 Multiprotocol SoCs for native Matter, Thread and ZigBee support, so that the device can be configured to multiple platforms.

