Zigbee open source map (2026): gateways and coordinators, plus DIY devices and routers

Discuss the Implementation and Development of Zigbee Devices
Post Reply
User avatar
ZerOne
Site Admin
Posts: 216
Joined: Sun Dec 13, 2020 8:21 am

A signpost for anyone wondering what is genuinely open in the Zigbee world and which piece does what. Sources are the project repos and docs as at October 2026. I have not built or flashed all of these, and licences are read from the repos' own licence fields and READMEs, so check the licence file before you ship or redistribute anything. The chip side is in the "Zigbee chips and modules compared" thread.

Part 1: gateways and coordinators
A Zigbee setup is normally a radio (coordinator firmware on a chip) plus host software that talks to it.

Host software
  • Zigbee2MQTT (GPL-3.0): bridges Zigbee to MQTT. It sits on zigbee-herdsman (MIT) and zigbee-herdsman-converters (MIT, the device definitions).
  • ZHA and zigpy: Home Assistant's built-in Zigbee integration. zigpy is the library (GPL-3.0), with radio libraries bellows (Silicon Labs EZSP), zigpy-znp (TI) and zigpy-deconz (ConBee/RaspBee). The zha library and zha-device-handlers (device quirks) are Apache-2.0.
  • deCONZ: from dresden elektronik, for ConBee and RaspBee hardware. Its README says the core was closed source from 2012 to 2024 and was released as open source under a BSD licence on 19 April 2024. The REST plugin is on GitHub as BSD-3-Clause. The web-based Phoscon app is not part of that repository.
  • Tasmota Zigbee (Zigbee2Tasmota): runs on an ESP8266 or ESP32 and supports TI CC253x/CC26x2/CC13x2 and Silicon Labs EFR32MG12/MG21 radios. It can also just pass bytes through to ZHA or Zigbee2MQTT over ser2net. The Tasmota docs themselves recommend ESP32 over the resource-limited ESP8266.
Coordinator and gateway firmware
  • Z-Stack-firmware (Koenkk, MIT): compile instructions and prebuilt Z-Stack firmware for CC2530, CC2531, CC2538, CC1352P, CC2652P, CC2652R and CC2652RB.
  • silabs-firmware-builder (NabuCasa, Apache-2.0): builds Zigbee, Thread and Z-Wave firmware for Home Assistant's ZBT-1/SkyConnect, ZBT-2, ZWA-2 and Yellow. Note that it relies on the Silicon Labs Gecko SDK and proprietary Silicon Labs tools.
  • Silicon Labs Multiprotocol add-on (Home Assistant): runs RCP multiprotocol firmware so one radio can serve Zigbee (via ZHA, EZSP over a socket) and OpenThread. Home Assistant's own ZBT-1 page calls multiprotocol experimental and not recommended, so read that before using it.
  • XZG (GPL-3.0): open firmware for ESP32-based Zigbee gateways with CC2652 or CC1352 radios (web flasher and docs on its site). The newest tagged releases I saw were pre-releases from late 2024, though the repo had commits as recently as April 2026. The older ZigStarGW-FW repo is archived.
  • TubesZB: Ethernet coordinators (CC2652P2 or EFR32 modules with ESP32 boards running ESPHome). The repo publishes firmware and docs. I did not check what licence applies.
  • ESP-Zigbee-SDK (Espressif, Apache-2.0): lists Espressif Thread Border Router / Zigbee Gateway reference hardware, though it is a development SDK rather than a ready-made gateway. Version 2.x uses an Espressif proprietary Zigbee stack supplied as a prebuilt library; the older 1.x uses ZBOSS.
Part 2: DIY devices and routers
  • ESPHome Zigbee component: exposes ESPHome components over Zigbee to ZHA or Zigbee2MQTT, Home Automation profile only. It supports nRF52 and ESP32-C5/C6/H2. It needs a coordinator, uses roles of end device or router, and the docs advise against battery-powered routers. The docs say changing the config means removing and re-adding the device.
  • ESP-Zigbee-SDK examples: Espressif's repo has a Zigbee console example under examples/all_device_types_app, and lists ESP32-H2, C6 and C5 dev kits.
  • Nordic nRF Connect Zigbee R23 add-on (ncs-zigbee): supports nRF52840, nRF52833 (NCP sample only) and nRF54L parts. GitHub shows its licence as "Other", and the ZBOSS stack is precompiled, so check terms before commercial use.
  • Custom support in Zigbee2MQTT: external converters are JavaScript files that teach Z2M about a device it does not know, and you can add them from the front end under Settings, Dev console, External converters. Good for DIY devices.
  • Router firmware: Sonoff says the ZBDongle-E can be flashed with router firmware to extend the mesh, and Home Assistant offers experimental ZBT-2 repeater firmware. A USB-powered router is a cheap way to fill a dead spot, but I have not tested either.
  • OTA: Koenkk/zigbee-OTA (GPL-3.0) is a collection of OTA files used for device updates.
Links Question for the group: Has anyone built their own Zigbee router or sensor with ESPHome or the ESP-Zigbee-SDK, and which chip behaved best for you?
Post Reply

Return to “Zigbee Wireless Technology”