ITead's "Sonoff Zigbee 3.0 USB Dongle Plus" (model "ZBDongle-P") based on Texas Instruments CC2652P +20dBm radio MCU now sold for $19.99

That worked. I started the pairing before plugging it in.

Just putting my experience out there. While coordinator has worked great on any channel, I’ve had a lot of trouble with the sonoff dongle joining as a router when the network was on channel 25. Was wondering if anyone else has experienced a similar issue? Channel 15 working fine but 25 not so much.

Update! Z-Stack 3.x.0 20211217 release has now been copied to master and should be seen as stable:

Again, recommend using JelmerT’s sonoff branch here to upgrade firmware without pressing buttons:

Hopefully ITead will begin pre-flashing this release to future batches for +9 dBm out-of-the-box support.

PS: This new firmware version is also shipped as standard as part of Zigbee2MQTT 1.22.2 release

If the default Zigbee channel is conflicting with your Wi-Fi channel then you should really consider changing the channels on your Wi-Fi router and/or access-points instead as per the suggestions here:

It is generally recommended not to change Zigbee channel on your Zigbee coordinator from default as not all Zigbee devices will initiate pairing on all channels. There are some mentions of this on a few specific devices listed in blakadder’s Zigbee Device Compatibility Repository so maybe add a comment:


Some Legrand devices work only on Zigbee channel 11. With certain devices you need the Legrand Hub to update the firmware to have all features available.

Regardless, probably also want to report any such issues to this Z-Stack firmware development repo:

I also messed up the SONOFF USB ZIGBEE after router firmware the flash.
Unfortunately, flash again doesn’t work at all.

D:\Utils\cc2538-bsl-feature-ITead_Sonoff_Zigbee-delay> -p COM6 -evw --bootloader-sonoff-usb CC1352P2_CC2652P_other_coordinator_20210708.hex
Opening port COM6, baud 500000
Reading data from CC1352P2_CC2652P_other_coordinator_20210708.hex
Your firmware looks like an Intel Hex file
Connecting to target…
ERROR: Timeout waiting for ACK/NACK after ‘Synch (0x55 0x55)’

Is there another solution to the problem, or has USB become completely brick?

Yeah should use “CC1352P2_CC2652P_launchpad_*.zip” and not “CC1352P2_CC2652P_other_*.zip

Did you try removing enclosure and manually hold physical boot-button while plugging into USB-port?

If you messed up the bootloader firmware then only way to unbrick the hardware is to flash with cJTAG:

The cheapest option for an officially supported debugger is Texas Instruments CC-DEVPACK-DEBUG:

The official TMDSEMU110-U XDS110 JTAG Debug Probe is better option though as offer more options:

Texas Instruments XDS110 JTAG debug probe is a bit expensive but cheap clones of it should work, ex:

Also, note that original Segger J-Link V9 (legacy) debug probes does not support cJTAG, so need at least a Segger J-Link V10:

Where exactly can the output power setting be increased to 20dBm after flashing ‘CC1352P2_CC2652P_launchpad_coordinator_20211217.hex’ which has the output set to 9dBm by default?

1 Like

Yes, I removed the cover and pressed the boot button. Unfortunately, it still doesn’t reach the bootloader.
Do I have an adapter like this
that could be used to flash?

Probably not. You need to verify that the debugger you buy supports 2-pin cJTAG (“IEEE 1149.7” a.k.a C-JTAG or c/JTAG) compatibility mode and not just common JTAG SWD as TI CC2652 debug do not use SWD and SWDCLK, etc. but instead only TMS and TCK cJTAG is not SWD/SWDCLK as cJTAG (IEEE 1149.7) is an extension to the JTAG standard (IEEE 1149.1). See details at → Flash Firmware using c/JTAG - Electrolama

Looking at pictures on ITead’s product page for the Sonoff CC2552P board you see that no SWD and SWDCLK pads are exposed, but it does expose TMS and TCK pads so those is what you need to use.

So will probably need cJTAG debug probe with TMS and TCK, and thus you will need to user a cJTAG compatible debugger probe adapter like Texas Instruments XDS110 or a clone of TI’s XDS110.


The cheapest option for an officially supported debugger is Texas Instruments CC-DEVPACK-DEBUG:

The official TMDSEMU110-U XDS110 JTAG Debug Probe is better option though as offer more options:

Texas Instruments XDS110 JTAG debug probe is a bit expensive but cheap clones of it should work, ex:

Also, note that original Segger J-Link V9 (legacy) debug probes does not support cJTAG, so need at least a Segger J-Link V10:

Finally Texas Instrument’s registration is working again :face_with_hand_over_mouth:



Hello !
I would like to know too :slight_smile:


1 Like

Posted details above in a previous post →


Zigbee2MQTT adapter settings examples:

transmit_power: 5
transmit_power: 9
transmit_power: 14
transmit_power: 20

ZHA integration advanced configuration examples:—yaml

Also, looking at zigpy-znp configuration example sounds as if 19 dBm is highest can set for CC2652P?

      tx_power: 5

5 versus 9 in tx_power configuration

      tx_power: 9

9 versus 14 in tx_power configuration

      tx_power: 14

14 versus 19 in tx_power configuration

      tx_power: 19


PS: Recommendation after testing is just to leave it at the new +9 dBm default and use that instead of using a higher setting thinking to get better result, as it is just the Zigbee coordinator “shouting louder” and not “listening better” so if Zigbee devices from very far away try to connect directly to the Zigbee coordinator instead of going through a Zigbee router then their signals back might not always be strong enough.

1 Like

Hey, everybody,
I have a few questions. I have HA running on HAOS (non-virtual environment). I currently have ZHA installed with about 75 devices. Every time HA restarts then only about 60 devices boot back up. Most of the time the end battery sensors go down. So I updated the coordinator firmware (Sonoff ZigBee 3.0 USB) to the latest version 20211712 according to the instructions

Unfortunately, after putting the coordinator back in, no devices loaded and I had to re-pair all 75 devices. Unfortunately, even so, this did not help solve my problem that after restarting HA some devices do not load (and I have to manually add them again).

  • Please, is it necessary to do some IEEE backup or something like that before updating the firmware (using FLASH-PROGRAMMER)?

Thank you very much for your help

Hello everyone,

Newbie on HA with Zigbee2mqtt , aqara devices and this sonoff dongle plus. I started pairing with two aqara devices : a temp/humidity sensor and a wireles mini button.
The battery indicator of the temp/humidity sensor shows a “?” symbol instead of the battery level/status.

I have read other people having battery level indicator issues with aqara devices and this sonoff dongle plus. Has anyone else had this problem and solved it ?

Thank you

Sometimes takes several hours before xiaomi zigbee devices will report a battery value, it should hopefully show a value after a few more hours.

Unfortunately even then the battery value is only an approximation. Often with some of the older xiaomi / aqara devices the battery value will seem OK but its only when the device drops off the network that I realise the battery is dead. Pretty much anything below 50% means it could die at any time. Most of the xiaomi sensors have brilliant battery life though (years, in some cases).

I’ve bought one of these sticks to replace a flakey cc2531 (would have to be unplugged and plugged back in every couple days to work)

I followed the instructions on the Z2M site for updating the ieee address of the sonof to match the old device and it looked like it had worked

Starting Zigbee2MQTT fails with the below error message.

2022-01-09T09:28:01.202Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
Zigbee2MQTT:error 2022-01-09 09:28:59: Error while starting zigbee-herdsman
Zigbee2MQTT:error 2022-01-09 09:28:59: Failed to start zigbee
Zigbee2MQTT:error 2022-01-09 09:28:59: Exiting...
Zigbee2MQTT:error 2022-01-09 09:28:59: Error: Coordinator failed to start, probably the panID is already in use, try a different panID or channel
    at /app/node_modules/zigbee-herdsman/dist/adapter/z-stack/adapter/startZnp.js:172:23
    at Generator.throw (<anonymous>)
    at rejected (/app/node_modules/zigbee-herdsman/dist/adapter/z-stack/adapter/startZnp.js:25:65)
npm ERR! errno 1
npm ERR! [email protected] start: `node index.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2022-01-09T09_28_59_820Z-debug.log

If i change the panID zigbee2MQTT loads but then will have to repair all my devices.

Have i missed something? Would rather avoid repairing if i can.

1 Like

You are still using the deprecated daniel welch add-on. Upgrade your add-on to the official one

Reinsert your cc2531, start the add-on with version 1.22.2 at least once, then swap to the CC2652.


Backup of your old dongle and restore to new is required for ZHA when migrating from another dongle.

Firmware upgrades usually erase network settings so best to perform a backup before upgrading.

Backup is not strictly necessarily required when upgrading firmware on the same dongle however it is still always recommended to do backups. If you for example mess up and flash the wrong firmware image (as some people do) then you will need that backup to restore without having to pair all devices again. Upgrading firmware can sometimes also reset some configurations stored on the dongle itself.

1 Like

Tip! le_top added possibility to backup your Zigbee network to a JSON file within Home Assistant ZHA via “zha_custom” custom component by mdeweerd (originally fork of zha_custom by Adminiuga):

I must have missed the change of repo for the add-on! Thanks seems to be working now.

Hopefully the new dongle wont still keep losing connection every couple days!

1 Like