My adventures with Zigbee started with a CC2531 coordinator, which I used for a long time. It was recommended by me to anyone willing to give Zigbee2MQTT a go. Instead of flashing it yourself, you could get CC2531 on the ITEAD Store pre-flashed and make your life easier. Now there is a new coordinator Sonoff ZIGBEE 3.0 USB DONGLE PLUS. It’s more powerful on paper and supports ZigBee 3.0 so you should get one right?
About that…
Sonoff ZIGBEE 3.0 USB DONGLE PLUS
It’s not the first Sonoff adventure with ZigBee devices. Between CC2531 and Sonoff ZIGBEE 3.0 USB DONGLE PLUS, they released a dedicated ZigBee hub to support their ZigBee Sensor range. It took approximately a month to get the hub hacked thanks to the community and run custom, tasmota-based firmware on it. The process is messy, and there is a big market for a budget coordinator who is easy to use!
Sonoff ZIGBEE 3.0 USB DONGLE PLUS brings the power of TI CC2652P + CP2102N with +20dBm output gain, ZigBee 3.0 support and flashed coordinator firmware for Zigbee2MQTT. A USB-style dongle is wrapped in an aluminium case which may (or not) decrease the direct interference caused by WiFi.
The dongle looks great, and the case makes it seem bullet-proof, but comes at a massive disadvantage. It will take a lot of space around the USB port. You may consider a USB extension cable if you want to use your neighbouring USB ports for anything else.
The Sonoff ZIGBEE 3.0 USB DONGLE PLUS comes pre-flashed with coordinator firmware and this is the firmware on my unit:
Coordinator firmware version: '{"meta":{"maintrel":1,"majorrel":2,"minorrel":7,"product":1,"revision":20210120,"transportrev":2},"type":"zStack3x0"}
It’s worth mentioning that the pre-flashed firmware has support for up to 21 devices directly and 40 through the ZigBee mesh, but with a newer than 20210120 firmware your support for devices can be extended to 100. (ZigBee2MQTT figures claim 50/200).
Inside
It’s actually easy to open, as the Sonoff ZIGBEE 3.0 USB DONGLE PLUS is secured with 4 machined screws and simply slides out from the enclosure. The stick contains the TI CC2652P + CP2102N circuit and a dedicated header for dev access.
Despite having power indicators, the aluminium enclosure covers up the LEDs so you are not able to tell if the device is working. I’m yet to find out what the dip switch for the hardware control is for, but it is here (you will know when to enable this for flow control). Time to put it back to its case and start some testing.
Setting up Sonoff ZIGBEE 3.0 USB DONGLE PLUS
I’m pleased to say that Sonoff ZIGBEE 3.0 USB DONGLE PLUS is plug and play. If you are getting started, follow the installation instructions and plug your device in. Run
ls /dev/tty*
to list the ports available on your device. Run it once when Sonoff ZIGBEE 3.0 USB DONGLE PLUS is unplugged, then do the same with the coordinator plugged in and play “spot the difference” to get your device address. it will look like this:
/dev/ttyUSB0
or similar. Open config file:
sudo nano /opt/zigbee2mqtt/data/configuration.yaml
and add the device to the configuration (don’t forget to change your MQTT server options etc).
homeassistant: false
permit_join: true
mqtt:
base_topic: zigbee2mqtt
server: 'mqtt://xxxxxxx'
user: xxx
password: xxxxxxx
serial:
port: /dev/ttyUSB0
Flashing Sonoff ZIGBEE 3.0 USB DONGLE PLUS vs CC2531 vs zzh
Sooner rather than later, you will face the fact that you have to change the firmware. I already tried the latest one, and due to the performance issues outlined below, I reverted back to the original rev: 20210120
.
With time better firmware will be available for sure, thankfully the flashing process is pretty straightforward. You will need a Windows PC and the following:
- USB drivers (CH341SER)
from hereor if you have issues from here - Flash Programmer 2 (account needed to download)
- correct firmware (3.x.0)
Get everything installed and organised nearly and then:
- Hold the BOOT button down, then plug the coordinator into the USB, let go after 2-3 sec
- Open TI software and select CC2652P from the dropdown at the right
- Pick the firmware .hex file for CC2652P
- Select: Erase Program & Verify options
- Use the Play button to start the process.
>Page: 43 verified OK. >Verification finished successfully. >Reset target ... >Reset of target successful.
This is the message upon the successful flash. If you are given anything else, make sure you held the BLS button long enough before and after the coordinator had been plugged in.
Sonoff ZIGBEE 3.0 USB DONGLE PLUS vs CC2531 vs zzh
Improved range, number of devices and better shielding are the advertised benefits of Sonoff ZIGBEE 3.0 USB DONGLE PLUS, since I have other coordinators let’s verify this in a very unscientific way (sorry folks, I don’t have proper radio equipment, but I’m happy to run around and test the reported values).
Specification
CC2531 Coordinator | Sonoff ZIGBEE 3.0 | zzh (electrolama) |
TI CC2531 | TI CC2652P + CP2102N | TI CC2652R |
Zigbee 1.2 (recommended) tested 3.0 | Zigbee 3.0 | Zigbee 3.0 |
Flash required (guide) or pre-flashed from Sonoff | pre-flashed | Flash required (guide) |
Devices (direct/mesh) 20/30 | Devices (direct/mesh) 21/40* | Devices (direct/mesh) 50/200 |
Range +0dBm | Range +20dBm | Range +5dBm |
Get Yours $4.90 | Get Yours $4.90 | Get Yours $30 |
Tests
For this test, I will grab an end device and run around like crazy reporting the linkquality
values in the same locations. For obvious reasons, expect inaccuracies in my reports, but hopefully, they should show the advantages of using Sonoff ZIGBEE 3.0 USB DONGLE PLUS over CC2531.
All coordinators will be plugged into a 1.5m long USB extension lead to removing WiFi interference from Raspberry Pi, and because Sonoff ZIGBEE 3.0 USB DONGLE PLUS covers up other USB ports with an excessively big body and my DeskPi PRO runs off SSD plugged at the back.
I will take measurements with the IKEA button pressed in different locations around the house:
- 1.5m from the coordinator
- next to the coordinator for max link quality value
- 3m from the coordinator in the same room
- 5m from the coordinator across the structural wall
- 5m from coordinator’s direct line of sight
- upstairs at the most remote location across a structural wall (approx 9m)
- upstairs nearer to the coordinator in the room with a WiFi router across the structural wall (approx 6m)
Results
Take a look at the following screenshots. Numbered dots represent locations listed above in which I pressed the button to report the link quality.
Thanks to the bigger antenna and +20dB gain, we can see bigger values coming from Sonoff ZIGBEE 3.0 USB DONGLE PLUS, although the coordinator is equally prone to signal degradation over structural obstacles. Some of that will be also due to the limited range of the IKEA button.
With that said, the CC251 performance was pretty good, being outdone by zzh in the most difficult scenarios. I’d like to give the credit to my antenna hack, but it’s unlikely the reason.
The range isn’t everything
I haven’t done the proper range test for a very particular reason. ZigBee by default is a mesh system. It relies on a strong mesh between coordinator and routers. Ideally, you want to have at least one router device in your network (usually mains-powered ZigBee devices). To handle the signal across rooms and multiple floors.
You can easily double the range of your ZigBee network but adding router devices, while achieving the same result with a more powerful ZigBee coordinator would likely result in increased interference between WiFi 2.4Ghz and ZigBee signal.
As you can see, even underpowered CC2531 did pretty well in my test. Having a dedicated router on the other half would significantly increase the practical range of my ZigBee network. Considering that Sonoff ZB Basic (act as a router) costs about $10, it’s a much better solution to your range anxiety than investing in premium coordinators.
Disappointing
Despite very similar results to the zzh coordinator, the cheaper Sonoff coordinator comes with a lot of issues I had to overcome. You could see from the graph that extra gain and may come in handy when your ZigBee mesh isn’t propagated correctly, but Sonoff ZIGBEE 3.0 USB DONGLE PLUS comes with serious compatibility issues. I struggle to pair ZigBee devices, including the Sonoff ZB button which I expected to work without issues. I had no issues with CC2531 or zzh.
ITEAD decided to rely on community-built firmware and it will be up to that community to address the incompatibilities. It will purely depend on the uptake of the coordinator but in the current state, I’m struggling to recommend this to anyone just getting started with ZigBee. In terms of compatibility, I found it less convenient to use than CC2531 or zzh.
The redeeming feature is its price. Sonoff offers pretty powerful hardware, at a budget price, but until the community gets behind a dedicated firmware for Sonoff ZIGBEE 3.0 USB DONGLE PLUS, it won’t become the mainstream DIY coordinator. Until then, if you need something better than CC2531, it’s worth investing in zzh which had been serving me well.
EDIT 08/10/2021
After submitting my feedback to ITEAD, the PR team responded that they are sending the coordinator to Koen (ZStack dev) to address the issues. It’s a move in the right direction, however, I can’t figure out why Koen wasn’t brought on board in the first place to assure a smooth launch. Let’s hope Koen is incentivised well for his work and focus on Sonoff coordinator.
EDIT 10/01/2022
New coordinator software is out and promises fixes and improvements in the pairing process. I have tested the coordinator and wrote more about my experience here in this post. I would strongly recommend that you check it out to avoid disappointment.
Afterthoughts
Now that you have your brand new Sonoff ZIGBEE 3.0 USB DONGLE PLUS working, you may want to stock up on some other Sonoff ZigBee products:
- Sonoff ZigBee Bridge
- Sonoff Basic R3 Zigbee
- Sonoff Mini ZB
- Sonoff Smart Socket S31 ZigBee
- CC2531 pre-flashed with Zigbee2MQTT
- SNZB-01 Zigbee switch
- SNZB-02 Zigbee temperature & Humidity sensor
- SNZB-03 Zigbee PIR motion sensor
- SNZB-04 Zigbee Door|Window contact sensor
Final thoughts
If you want a taste of ZigBee in your home automation, CC2531 is still a great budget option. In a couple of months, when firmware matures, Sonoff ZIGBEE 3.0 USB DONGLE PLUS can become an interesting choice with a reasonable price of $10. With the current supply issues, you may as well pull the trigger now, and keep it in a drawer until the issues get resolved. These things are sold in small batches and sell out quickly. For now, zzh is the way to go if you are looking for upgrades. What do you think? Let me know in this Reddit thread.
🆓📈 – See the transparency note for details.