ESPHome and Zigbee - cc2530 or xbee uart


I’m curious to know if anyone’s tried using something like a cc2530 or other to interact with a Zigbee network from ESPHome ?

The firmware on the chip could in theory handle all the ZCL stuff, and just take orders like sending to the on/off cluster of for example, to act like a bound switch. It could allow automations without going through home assistant, assuming such a firmware exists.

From the doc it looks like an xbee would be able to do that through UART without too much trouble, but they’re quite physically big. Any idea if there’s a similar firmware for the cc2530 ? Any examples or existing projects ?


Not precisely what you are after, but I saw this recently. Xbeesharp -- .NET 6 C# implementation of Digi XBee ZigBee API operations

I don’t think this is directly related.

My little DIY XBee project is a way to minimize dependencies as much as possible when using DIgi XBee devices. These great little devices do use ZigBee, which works great for my projects – weather station, garage door opener, various sensors – that I can integrate to HA using MQTT. I chose .NET 6 and C# because I like it.

The reason I shared is the hope a simple and focused implementation of the XBee API in any way could benefit anyone else attempting the same :slight_smile:

Yeah the only conjunction was perhaps you posting within a day or so of each other :slight_smile:

For the OP there is ptvo but it is not open source, nor does it leverage esphome. The power saving battery suitable version costs extra (and is limited to the device it is licensed to). It is however based on standard hardware like the cc2530. Various sensors and of course relays etc can be attached.

If you look at Zigbee2MQTT or search DIY here Database of Zigbee devices compatible with ZHA, Tasmota, Zigbee2MQTT, deCONZ, ZiGate and ioBroker you’ll find examples of devices, but I think most of them come back to the ptvo firmware. (Don’t quote me on that, but many of them are.)

I have seen PTVO but that’s indeed not really what I’m looking for, that seems meant to create Zigbee devices.
As good as it’d be to make Zigbee sensors, that’d not really what I had in mind here since I already have perfectly functional esphome boards all wired up, I just want them to be able to turn lights on without going through HA. One of the nice things about Zigbee is being able to bind devices, that way when HA is down for any reason there’s no impact.

I know there’s no proper support for any of this in esphome, but I was thinking it might be possible to send hard coded commands over uart to an xbee.
The doc describes their api frame format and it looks like you can just have it transmit arbitrary packets to any address : XBee/XBee-PRO® S2C Zigbee® RF Module User Guide

I’d figure out the address of my light(s), come up with a valid binding transmission maybe (that’s the hard part) and just plop the hard coded api frame in hex in the esphome config and call it a day.
At least from the xbee doc that seems possible.

Xbeesharp certainly helps to know how frames are made, now I just need to figure out what to put in it :slight_smile:

So you essentially want to build your own zigbee co-ordinator stack.

Not something I would spend my time on, given the excellent choices of xigbee implementations in HA.

I kinda get why you might want to control without HA, but then again this is the HA forum.

So you essentially want to build your own zigbee co-ordinator stack.

No, what I’m looking to do is make the esp behave essentially like a Zigbee switch bound to a device : send a specific command to an individual device directly, without going through the coordinator.

The coordinator doesn’t come into this at all, I’ve had bound devices keep working with each other for years after taking the coordinator down.
I’m not talking about implementing binding though, just hard code the actual command that a bound device would send.

I have an xbee board somewhere, I’ll give this a try if I can find it.

I kinda get why you might want to control without HA, but then again this is the HA forum.

Well it’s also the ESPHome forum

Thats true

sorry but I’ve been trying to figure out if it’s possible to program an esp module with cc2530 to create a battery-operated fingerprint reader. some time ago following guides I managed to create one using An 8266 But wifi and that need to be connected to a power supply. I wanted to create one with batteries where I have no possibility of carrying current. Does anyone know if Is possibile and and which components to start with? Thank you

You can use deep sleep to prolong battery life.

If you are looking for a ZigBee solution you could try


  1. It is not open source

  2. I think you need the paid version to get power management, which is tied to one chip.

  3. I don’t think it supports fingerprint readers.

There doesn’t seem to be an easy way into writing firmware for ZigBee devices.

If you search or for DIY you’ll find some other stuff that hackers have done.