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

UPDATED! The announced TI CC2652P based “Sonoff Zigbee 3.0 USB Dongle Plus” from ITead, later renamed to “ZBDongle-P”, has been released and looks to be great value for a premium hardware package sold for a low price. It is based on Texas Instruments CC2652P radio chip and this “ZBDongle-P” variant is to be sold side-by-side as an alternative to their new “ZBDongle-E” variant that is instead based on Silicon Labs EFR32MG21 radio SoC chip, and while both practically have the same specifications on paper, they use different Zigbee stack firmware which will affect compatibility/support with different Zigbee gateway application implementations, thus the developers of various Zigbee gateway applications will have different recommendations on the preferred variant.

https://itead.cc/product/sonoff-zigbee-3-0-usb-dongle-plus/

https://sonoff.tech/product/diy-smart-switch/sonoff-dongle-plus/

As sold at a lower price it is assumed ITead hope to make money on attach rate sales, so if you are new to Zigbee also recommend to buy some of their other Sonoff branded Zigbee devices as well:

https://itead.cc/?s=zigbee&post_type=product&type_aws=true

I personally recommend Sonoff battery-operated Zigbee door/motions/temperature sensors and button. Suggest reading the articles by NotEnoughTECH if want independent reviews of those Sonoff sensors:

https://notenoughtech.com/featured/sonoff-zigbee-sensors/

Also, I can personally recommend using a few of their USB adapters flashed as Zigbee Routers too.

UPDATES AND TIPS!

  • Price of the “ZBDongle-P ” adapter rasied to $19.99, matching the price of their new Silicon Labs EFR32MG21-based “ZBDongle-E ” adapter which is sold side-by-side to offer an alternative.
  • Price raised again, now from $14.99 to $19.99 in May 2022 due to increased components cost.
  • Price raised from $10.99 to $14.99 in January 2022 due to increased components cost for all.
  • First batch came pre-flashing with older firmware from 20210120 which works out-of-the-box with ZHA and Zigbee2MQTT, however, it is highly recommended to at least upgrade to firmware Z-Stack 3.x.0 build 20211217 or later
    • Other than many bug-fixes the newer firmware offer +9dBm transmission power instead (instead of +5dBm transmission power) as well as the possibility to configure up to +20dBm transmission power via software settings in ZHA integration and Zigbee2MQTT respectively.
  • To avoid EMF interference strongly recommended buy and use → Long USB extension cable
    • Another reason for using a USB extension cable is that the USB-plug design of ITead’s Sonoff Zigbee 3.0 USB Dongle Plus hardware adapter is a little short which makes it harder and sometimes impossible to plug it into some USB ports if the computer enclosure/chassis/casing is to thick around the USB-port as that will physically prevent the USB dongle from actually making a proper connection inside the USB port even if it looks like it is plugged in all the way that is possible.
    • Also follow all the general tips in https://github.com/zigpy/zigpy/wiki/Generic-best-practice-tips-on-improving-Zigbee-network-range-and-general-stability as all Zigbee Coordinator adapters is very sensitive to EMI/RFI interference (e.g. a noisy radio frequency environment will jam the signal and prevent it from receiving all Zigbee messages to it without errors). Connecting the dongle via a long “shielded” USB extension cable in a USB 2.0 port or USB 2.0 hub (and not a USB 3.0 port) to get it away from EMF sources will usually help a lot if experiencing connection or pairing symptoms/issues.
  • Win/Mac need Silabs drivers → CP210x USB to UART Bridge VCP Drivers - Silicon Labs
  • ITead official FW flashing guide → SONOFF Zigbee 3.0 USB dongle plus firmware flashing
  • Unofficial FW flashing without open case → https://github.com/JelmerT/cc2538-bsl/pull/114
  • Dongle hardware can also be used as Zigbee router (a.k.a. repeater) → flash router firmware

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

image verses image versus image

Feature/Model ZBDongle-P ZBDongle-E 9888010100045
Radio 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 (9dBm firmware available from Koenkk) Yes (20dBm firmware available from ITead) Yes (20dBm firmware available from ITead)
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 (first need to run update script if from first hardware batch shipped) None (no USB chip EEPROM)
Home Assistant USB Auto Disovery Yes Yes (but way need to run update script if from first hardware batch shipped) 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 Experimental support as still in development by zigbee-herdsman dev Experimental support as still in development by zigbee-herdsman dev
IoBroker Supported Experimental support as still in development by zigbee-herdsman dev Experimental support as still 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

FIRMWARE UPGRADE REQUIREMENTS AND FLASHING SOFTWARE LINKS

New firmware for all popular CC2652 adapters is released relatively regularly by the community, and each release is based on latest upstream SDK from Texas Instruments and contains loads of bug-fixes.

Dongle firmware upgrade prerequisites key points are:

Adapters based on CC1352 or CC2652 chips can be flashed by putting them in the bootloader. After you have done this one of the following tools can be used to flash it. See your adapter manual on how to enable bootloader (boot mode) manually or use software that support automatic BSL mode for it.

Upgrade firmware with one of these (ZigStar GW Multi tool and cc2538-bsl support auto BSL):

https://sonoff.tech/product-review/zigbee-3-0-usb-dongle-plus/

https://sonoff.tech/new-product-coming-soon/?fbclid=IwAR2nyXNbxQ2K0-yIx7ccPtG6OAY_6hJkVG6xHwdnRfU23AYvfXFREDagCjQ

Technical overview from the perspective of Home Assistant users:

Most experienced Zigbee users in the community know that Texas Instruments CC2652P is together with the competing Silicon Labs EFRMG21 chips at this time the most capable and most powerful multi-protocol MCU with 2.4 GHz radios on the market. CC2652P radio chip is currently also the most popular as a Zigbee Coordinator and Zigbee Router in the DIY Zigbee userbase community because it is newer so the firmware is well maintained and is stable/mature in both Zigbee2MQTT and the built-in ZHA integration for Home Assistant. Just like Silabs EFRMG21, TI’s CC2652P feature an integrated Power Amplifier that is technically capable of +20 dBM amplification (though legally the firmware is probably not allowed to be configured to use more than +10 dBM amplification).

According to ITead’s marketing material, it will come pre-flashed with Texas Instruments Z-Stack 3.x.0 coordinator firmware and it should work out-of-the-box with either Home Assistant’s ZHA integration (which depends on zigpy so will probably work with Jeedom Zigbee plugin too) and Zigbee2MQTT (a.k.a. Z2M, which depends on zigbee-herdsman so will probably work with IoBroker Zigbee as well).

In addition, ITead specifically mentions that this TI dongle can alternatively function as a Zigbee router (presumably by flashing Zigbee router firmware instead and open access buttons as pressing a button to enable pairing/joining mode is usually required).

It is based on Texas Instruments CC2652P (CC2652 with integrated +20 dBm amplifier) Zigbee radio and features a metal casing + an SMA connector with an external antenna. It looks a little on the large side for USB 2.0 Type-A so could connect it directly if have no other USB devices but with this using 2.4 GHz frequency band like most other Zigbee adapters it is still recommended to always use a USB extension cable in order to get it away from the computer or any other electronic appliances (and their cables/wires) so it gets less radio frequency interference (RFI) and will thus achieve better signal reception.

https://www.facebook.com/SONOFF.official/posts/2867330886911891

https://www.facebook.com/iteadstudio/posts/4960944183932977

It is based on Texas Instruments CC2652P (CC2652 with integrated +20 dBm amplifier) Zigbee radio and features a metal casing + an SMA connector with an external antenna. It looks a little on the large side for USB 2.0 Type-A but still recommend using a USB extension cable.

Interestingly it uses a Silabs CP2102N UART-to-USB chip so wonder if it will have unique ITead VID and/or PID strings specific for this adapter so can be added to autoomatic USB discovery in Home Assistant?

ADDITIONAL NOTES:

I understand ITead went with CC2652P instead of Silicon Labs EFR32MG21 for this “Plus” dongle version because of the current silicon chip shortage (which Silabs parts suffered for more than most).

Hopefully, we will also see ITead release a new redesigned/revised variant of their cheaper Zigbee 3.0 USB dongle (Silabs EFR32MG21 based adapter) with good RF shielding and corrected PCB antenna design or better yet a high-quality ceramic chip antenna with properly tuned components for the antenna used.

https://community.home-assistant.io/t/itead-zigbee-3-0-usb-dongle-stick-only-cost-7-and-is-based-on-silicon-labs-efr32mg21/271144

As we know, ITead’s previous ‘non-Plus Zigbee 3.0 USB dongle’ is/was based on Silabs EFR32MG21 SoC which has just as powerful MCU and radio, but sadly was proven that implementation in ITead’s first Zigbee 3.0 USB Dongle PCB board revision had a badly designed integrated PCB antenna with poor tuning and no electromagnetic shielding which caused huge issues in radio reception, and to this date, it has been listed as “out-of-stock” since after the initial batch was sold out. Again, very sad since that could also have been a great Zigbee Coordinator adapter if it had been properly engineered. Hopefully, they will decide to take another stab and redesign that as a new product after the chip shortages as it would be great if they could also offer a Silabs EFR32 based alternative for extended compatibility.

11 Likes

How to flash latest firmware to ITead SONOFF Zigbee 3.0 USB Dongle Plus adapter

Tip! Unofficial FW flashing without the open case → https://github.com/JelmerT/cc2538-bsl/pull/114

Update! Broken down the steps to flash firmware mentioned from https://github.com/JelmerT/cc2538-bsl/pull/114 into a basic guide for flashing ITead SONOFF Zigbee 3.0 USB Dongle Plus adapter.

This guide use the cc2538-bsl tool from JelmerT’s latest “master” branch on GitHub and could easily be made to work on all operating systems. I tested on Windows OS but others have done this on Linux and Mac OS by using different Serial/COM-port addressing as the steps should otherwise be the same.

Guide for updating firmware via cc2538-bsl Python tool without opening enclosure

  1. Install Silabs CP210x device drivers (CP2102N USB-to-UART bridge / USB-to-Serial converter chip) needed for Windows OS and Mac OS, (this also required a reboot of my operating-system).
  2. Install Python (in my case I installed and tested with Python for Windows 3.10.1).
  3. Launch command-prompt (cmd.exe) as elevated Administrator. Upgrade pip with python -m pip install --upgrade pip, (if pip is not available then first run python -m ensurepip --upgrade), then pre-install dependencies fro cc2538-bsl from PyPi via pip command: pip install wheel pyserial intelhex python-magic
  4. Optional but recommended: Download and install zigpy-znp via pip/PyPI with pip install zigpy-znp then perform NVRAM backup by following instructions in TOOLS.md (also find more details ZNP radio backup procedure at https://github.com/zigpy/zigpy/wiki/Coordinator-Backup-and-Migration) for Windows backup command should be something like python -m zigpy_znp.tools.nvram_read COM5 -o nvram_backup.json and optionally also backup Zigbee network via python -m zigpy_znp.tools.network_backup COM5 -o network_backup.json
  5. Download cc2538-bsl on GiHub from its “master” branch, (and not via pip/PyPI), unpact the zip to a folder then launch command-promt (cmd.exe) as elevated Administrator and run its setup.py to install its dependencies (should include “setuptools”, “wheel”, “pyserial”, “intelhex”, and “python-magic” packages).
  6. Get latest firmware (I tested latest “CC1352P2_CC2652P_launchpad_*.zip” image available from its “master” branch at this time. Alternatively, you could get the latest “beta” version from the develop branch). Regardless make sure to get the correct image file as should be the one for “launchpad” (and not for “other)”!
  7. Stop any applications or services that might be connected to the Zigbee adapter via serial port (ex. Home Assistant’s ZHA integration, Zigbee2MQTT, ioBroker, Jeedom, etc.). In my case, I ran the update on another computer so nothing to stop there.
  8. Run command to flash from command-promt (cmd.exe) launched as elevated Administrator, example with firmware release available at this time: python cc2538-bsl.py -p COM5 -e -v -w --bootloader-sonoff-usb CC1352P2_CC2652P_launchpad_coordinator_20211217.hex

Obviously need to replace number in “COM5” with the port # actually shown used under ports in Device Manager on Windows on your computer as the OS will just assign the next available Serial/COM-port.

Also, if using Linux or Mac OS instead of Microsoft Windows then the COM# serial device path after -p will be different when set the port to use, (like for example /dev/ttyUSB0 or /dev/ttyUSB1) and might need different Silabs CP210x device drivers (CP2102N USB-to-UART bridge / USB-to-Serial converter chip) for your operating system, on Linux might have to run Python with sudo, and read that many on Linux successfully run sudo python cc2538-bsl.py -e -v -w --bootloader-sonoff-usb CC1352P2_CC2652P_launchpad_coordinator_20211217.hex without setting serial device path with -p for port to use.

5 Likes

Replying here to a related question in this other thread with topic “Best most powerful zigbee stick?

https://community.home-assistant.io/t/best-most-powerful-zigbee-stick/262095/

Yeah, black anodised aluminium heat sinks enclosures just look cool when sold in retail stores, haha :wink:

Seriously, if the right parts on PCB board itself has proper RF shielding (which I understand it does now) then that visable metal case is purly aesthetic choice making it easier to sell in brick and mortal stores.

However guess is a metal case probably adds unnessesary cost which is passed along to customers.

1 Like

They now posted some documentation which states that this hardware dongle does support “Hardware Flow Control” but default firmware that it is flashed does not (so default uses “Software Flow Contol”):

https://sonoff.tech/product-review/zigbee-3-0-usb-dongle-plus/

The dongle is pre-flashed with the official Zigbee 3.0 coordinator firmware, which does not support software flow control. The dongle supports hardware flow control, if you want to enable it, please set the dip switch to on, and generate the firmware that supports hardware flow control before running, see the following document for details on how to generate the corresponding firmware.

https://sonoff.tech/wp-content/uploads/2021/09/Zigbee-3.0-USB-dongle-plus-firmware-flashing-.docx

Enable hardware flow control and generate firmware (optional) If you need to enable the hardware flow control of the CC2652P USB Dongle, you need to use CCS to import the ZNP project to configure and compile the firmware that supports the hardware flow control.

These are available to purchase now.

Thanks. Ordered. I already have a tubezb ethernet coordinator, but I think they are great routers too.

Initial batch already sold out, however pre-orders for next batch is now available at Itead’s official store.

This would be a great device to use as a repeater! Is there a firmware load available that can have it act as a repeater and not a coordinator, so I can plug it into a USB power adapter and have it extend my zigbee network?

You can use the zigbee2mqtt repeater firmware.

Does that require the stick to be plugged into a computer running zigbee2mqtt? I would love the stick to be standalone, and just plugged into a power brick.

To flash : yes. Once flashed with the router software you can plug it in a phone charger or something similar

Excellent! Thank you…

This Dongle is now sold out, you can only pre order now

I suppose it might be too much to ask whether this has any regulatory certification, like FCC? :thinking: (I realize they are based outside the US, so either this or something similar in another country, or they have indeed sought this for products sold abroad—I just don’t see any filing for this one.)

1 Like

Do you see filings for any of the other zigbee coordinators?

Yes, this is the norm for commercial offerings in the United States. (I would not expect this for a DIY solution like a TubeZB device, but this is not one of those. And anything that uses an internal antenna or product already certified from another manufacturer may be covered by that–part of some Home Assistant Amber questions if you’ve followed that–but this one is external and I’m not aware of any TI product sold like that.)

Most coordinators are some sort of full hub/bridge/gateway rather than a “stick,” and I’m not aware such ones of any that aren’t filed. The only other offering I can think of in stick form is the Nortek/Linear, which is filed as expected: https://fccid.io/EF400131/Test-Report/Test-Report-15-249-2722755

FYI, Koenkk from Zigbee2MQTT got info from ITead/Sonoff that the first batches of dongle came pre-flashed with older “CC1352P2_CC2652P_launchpad_coordinator_20210120” firmware from Z-Stack-firmware/coordinator/Z-Stack_3.x.0/bin at master · Koenkk/Z-Stack-firmware · GitHub but specifications around 50 direct children, 100/200 routes, and a maximum of 200 Zigbee 3.0 devices that is listed here should still apply → Z-Stack-firmware/README.md at d019739f4a8b7bd1dfb873a3493ac876fee43974 · Koenkk/Z-Stack-firmware · GitHub

While it should still work with Zigbee2MQTT and ZHA regardless if firmware is a little old or not, it is probably a good idea to to upgrade to latest firmware before starting a Zigbee network or migrating.

I know that ITead have certified quite a few Sonoff branded devices with FCC and CE before, but I believe that it will depend in how many they expect to sell of each specific product in that country/region.

See exampels of many other FCC cerified Sonoff branded devices here → https://fccid.io/2APN5

So maybe not too much to ask for this product, however do not expect FCC and CE certification will be a priority and instead expect that to follow later only if and when a product is proven popular or not.

Texas Instruments LPSTK-CC1352R Evaluation Board and Texas Instruments LAUNCHXL-CC1352P Development Board are based on a similar chips (CC1352R and CC1352P) are official reference hardware which both have an extenal antenna and I believe have already been tested for FCC and CE compliance by Texas Instruments.

https://www.ti.com/tool/LPSTK-CC1352R

Offers FCC, CE, and IC certified radio for multi band operation at 2.4GHz and Sub-1 GHz empowering the developer with simultaneous operation across multiple wireless stacks (Bluetooth® Low Energy, Bluetooth mesh, Sub-1 GHz, Thread, Zigbee®, and 802.15.4)

https://www.ti.com/tool/LAUNCHXL-CC1352P

But, it will also depend on firmware configuration when FCC test as it is usually technically possible to set an amplification in firmware that is higher then what it legally allowed in a country. So a firmware with very high amplification configuration that is legal in one country might not be legal to use in another country. However if ITead/Sonoff is set a lower than maximum then it should comply for certifications.

1 Like

I wonder what will be better and why - this dongle or Conbee II. What do you think? I don’t have Conbee II but it’s considered as very good from what I read. CC2652P apparently is good chip too.

Right now, the CC2652 is the king!

1 Like