ITead's "Sonoff Zigbee 3.0 USB Dongle Plus" (model "ZBDongle-P") based on Texas Instruments CC2652P +20dBm radio SoC/MCU

Thanks. I did try many of those actions, as I’ve seen that list or a similar one somewhere.

However, I think I found the problem… I saw an Amazon user report that they had a defective antenna, so just as a test, I started to wiggle my antenna base (or rather push it and keep it pushed in any direction at the base of the antenna) and sure enough, devices were seen. However, when I stopped pushing the antenna base, the pairings failed to complete. Likewise, if I did this after the devices paired, pushing the antenna would produce real time contact state change reports, but not pushing on the base would missed reports. I think I have a bad antenna connection here.

I think I’m just going to request a replacement at this time from Sonoff. I didn’t want to commit to a FW upgrade until I had some idea of what was the culprit and also just in case a FW upgrade failed, I didn’t want to be stuck with a bricked stick without recourse from Sonoff.

FYI, ITead has now also released a new “ZBDongle-E” Zigbee dongle based on Silabs EFR32MG21 with similar specifications that will be sold side-by-side as an alternative option to the CC2652 dongle:

Comparing “ZBDongle-P” vs. “ZBDongle-E” vs. barebone EFR32MG21 dongle

image verseu image versus image

Feature/Model ZBDongle-P ZBDongle-E 9888010100045
SoC/MCU chip Texas Instruments CC2652P Silicon Labs EFR32MG21 Silicon Labs EFR32MG21
Zigbee Stack (Serial Interface Protocol API/CLI) Z-Stack v3 (ZNP 3) EmberZNet (EZSP v8) EmberZNet (EZSP v8)
Optional Zigbee Router firmware Yes Yes Yes
USB to UART/Serial Converter Chip CP2102 or CP2102N CH9102F CH340
USB EEPROM Product Description ID SONOFF Zigbee 3.0 USB Dongle Plus SONOFF Zigbee 3.0 USB Dongle Plus V2 None (no USB chip EEPROM)
Home Assistant USB Auto Disovery Yes Not yet Not possible
Flow Control None by default (Hardware flow control optional with alternative firmware and flipped dip-switch) Software flow control Software flow control
RF Transmit Output Power 9dBm (firmware hardcoded), Max: 20dBm 20dBm (default) 20dBm (default)
Antenna External (rotatable and tiltable) External (rotatable and tiltable) Onboard circuit board antenna
Enclosure/case Aluminum all-metal shell casing Aluminum all-metal shell casing None
Length 63mm 52mm ?
Packaging Retail-box with manual Retail-box with manual Anti-static bag only
Home Assistant ZHA Supported Supported Supported
Zigbee2MQTT Supported In development by zigbee-herdsman dev In development by zigbee-herdsman dev
IoBroker Supported In development by zigbee-herdsman dev In development by zigbee-herdsman dev
OpenHAB ZigBee Binding Not yet Supported Supported
Domoticz Zigbee Plugin Supported Supported Supported
Jeedom Zigbee Plugin Supported Supported Supported

Is it supported by Z2M yet?

Yes if asking about new “ZBDongle-E” Zigbee dongle but please discuss it in the other thread instead:

In case anyone is interested, I found an easy way to update the firmware using docker compose (no need to unplug or touch the dongle in any way)

Just make sure you stop Home Assistant or anything else using the dongle.

version: '3'
    image: "ckware/ti-cc-tool"
      FIRMWARE_URL: ""
      - /dev/ttyUSB0:/dev/ttyUSB0
    command: [ "-ewv", "-p", "/dev/ttyUSB0", "--bootloader-sonoff-usb" ]

Shouldn’t take more than a minute.
Then restart Home Assistant and should be everything in place.

Hope this helps.


FYI, ITead have now raised the price of this Texas Instruments CC2652P-based “ZBDongle-P ” adapter to $19.99, matching the price of their new Silicon Labs EFR32MG21-based “ZBDongle-E” adapter:

ITead’s have tried to make it clear that they plan on continuing to sell their CC2652P-based variant of “Sonoff Zigbee 3.0 USB Dongle Plus” (non-“V2” that has recently been rebranded to “ZBDongle-P”) side-by-side as an alternative to the new “ZBDongle-E” so that potential buyers have the option to buy eother a Texas Instruments and Silicon Labs based USB adapter because different home automation applications currently do not offer the same support for all SoC manufacturers.

Again, the “ZBDongle-P” variant is not supported by for example OpenHAB, while the “ZBDongle-E” " variant is not yet well supported by Zigbee2MQTT (though their developers are working on improving it).

Found a new, at least for me, version of the FW. I believed 20220219 was latest version, however found this in another thread. I believe it is a new version of the FW called 20220726 for the ZBDongle-P. Anybody tried it with HA and Z2M?

Not tested it myself yet but yes Koenkk’s Z-Stack-firmware repository tree has “master” and “develop” branches where “master” has well-tested FW and “develop” branch has not-well-tested FW images:

20220726 Changelog says:

  • Increase request retry attempts
  • Increase routing table sizes
  • SimpleLink SDK (changelog) and SimpleLink SDK (changelog)

So for fixed issues also need to look into these upstream changelogs (under “TI Z-Stack”) as well:

ID Summary
ZIGBEE-1779 “TxPower” API should set maximum power to 2dBM in some channels in RSIP
ZIGBEE-1741 Interpan messages crash stack because of network task idle state

FYI, Zigbee2MQTT testers discuss + report issues develop and master firmware images together here:


Hedda, as always I learn something new when you post. Thanks.

I will stay on the master (stable), like I do on HA and the rest of home automation system

I’ve bought a second Sonoff Zigbee 3.0 USB Dongle Plus to use a router/range extender. I’ve flashed it with router firmware.

I’ve tried flashing both these, with a successful and verified write.


I don’t know what to do next now. I’ve plugged the dongle into a USB power source, but think I should add it to the zigbee network somehow? It doesn’t appear on the network map, and doesn’t show if I try to pair it, I’m missing a step and haven’t been able find what to do next by searching.

I’m using z2mqtt, any pointer in the right direction appreciated.

I’ve made progress.

I connected it to HA, added through integrations when it then it got discovered it was also and added as a device in the z2mqtt list. After that I disconnected and plugged it into a power source, it seems like it then acts as a router, the network map shows an error when loading, but it looks like it’s connected.

The log shows a couple of errors

Failed to execute LQI for 'Zigbee Sonoff USB Router

Error: {“address”:1356,“clusterId”:32817,“sequence”:226} after 10000ms at Timeout._onTimeout (/app/node_modules/zigbee-herdsman/src/utils/waitress.ts:64:35) at listOnTimeout (node:internal/timers:559:17) at processTimers (node:internal/timers:502:7)

An unpaired Sonoff ZBDongle-P stick goes into pairing mode at power on, but doesn’t stay in pairing mode very long before going idle.

My steps:

  1. Flash with the LAUNCHPAD variant of the router firmware
  2. Unlpug router stick from USB power
  3. Place z2m into “Permit Join” mode
  4. Plug router stick into usb power source
  5. Wait for joining interview to complete
  6. Restart the z2m container or add on

The step 6 restart is my own suggestion.

Without the z2m restart after pairing, either the stick doesn’t respond to z2m availability pings, or z2m doesn’t correctly process the ping, and z2m will mark the stick as offline (but it still continues to function as a router).

After the z2m restart everything works 100%.

I don’t know what the “real” issue is, and the restart may be overkill, but it is simple and works without touching any extra settings like reporting interval.

I’ve flashed six or so sticks myself, re-flashed and tested several of those with and without the restart a few times, and confirmed with several users on-line that the restart step resolves the timeout/offline issues. Still, no promises, YMMV.

1 Like

Thank you, I think I wasn’t attempting to pair quick enough, except for the time I plugged back into HA, when I made the mistake of also adding as a device thinking that was what paired it.

Thanks for your guide, I removed it completely and started again from scratch and now its connected as router on the network.

Much appreciated.

1 Like

Good evening everyone, I have a ZBDongle-P that I use in ZHA, I have a doubt about what I need to do to update the firmware without losing my zigbee configuration. First I have to backup the coordinator in zha, then I turn off home assistant, I remove the dongle and update the firmware. Then once reconnected do I have to restore the backup of the dongle?

Basically yes, however, if the dongle config is reset during the firmware update (which it is not always) then the ZHA integration the latest Home Assistant should indicate that no configured Zigbee network is found on the radio and offer to restore the backup for you, so that last step should be less complexed than it sounds.

Also remember to stop/disable the ZHA integration before removing the dongle in order to upgrade it, (technically you do not need to remove it as could update on the same computer but it should be easier just to remove the dongle and update firmware on the other computer).

Awaiting this dongle for tomorrow, wish to change an existing installation with Conbee2.

Just realised that my DILC Nuc mini pc has only USB 3 type, and I read i should connect only to USB 2!(which I don’t have).

What will happen attached to a USB 3?

I have installed HA on a miniPC with no USB type 2 ports at all but USB 3 ports only. No problems with the Sonoff Zigbee 3.0 Dongle Plus.

Make sure to connect the stick through an USB extension cable (mine is 1.5 meter) but don’t connect the stick directly to the NUC to avoid interferences.


Just because you do not see it does not mean that there is not problems that are not seen. You might not see the reception errors which force re-transmission unless enable debug loggibg and dig deeper into the logs. Zigbee do have some robustness built into it so devices will retransmitt messages without user interaction but doing so can cause delays and drain the batteries of battery-operated devices. So not seeing the problem is not a good reason for not follow the best practice guidelines.

USB 3.0 ports/cables/pheriphials are infamously know and factually proven to cause serious EFM/EMI/RMI interference with low-power 2.4GHz IoT radios such as Zigbee, Thread, and Bluetooth. See linked whitepaper and article with practical demo for reference. Best is to always follow best practice guidelines and that is to not only use a long extension cable but also only connect it to a USB 2.0 port, so if your computer do not have one then buy and use a powered USB 2.0 hub which will in essense convert a USB 3.0 port into USB 2.0 ports,

Best is to connect a powered USB 2.0 hub to the computer and then connect a long USB extension cable to the hub and then put the Zigbee USB dongle adapter at the end, (so it that way comes as far away from the USB 3.0 port as possible. You can and should still use USB 3.0 cables are those are better shielded, and it is not the cables themselves that cause interference but only USB 3.0 signals.


can’t find one on amazon, they sell all 3.0. Does it have to be powered? Can I use a NON powered hub 2.0?

Amazon store for which country? There should be loads available.

Just do a search keywords ”powered USB 2.0 hub” on Amazon or Google.

Only a few examples on (US country store) listed here: