ITead’s “Sonoff Zigbee 3.0 USB Dongle Plus V2” (model "ZBDongle-E") based on Silicon Labs EFR32MG21 +20dBm radio SoC/MCU

Oki, I give up. Thanks for all the suggestions but sorry, not helping me at all. I’ve manage to achieve loads of stuff in my days considering my low level of knowledge in programming and computing. This is only for peeps with very good knowledge and experience. This is way to complicated and time-consuming.
Yes that is the firmware I’ve used and tried to flash. I have tried with Python, used several guides, followed step by step on Youtube… I’ve looked at your suggestions and tried to proceed with two of them. I will scrap the E-dongles and maybe consider to get the P-dongles instead. Look like more people are more successful with these…Seems to be working for others (at least cost less considering all the hours I spent on this). Good luck to everyone.

@kidnor I think the most common problem/solution is using/trying different baud rate speeds. When talking to the bootloader for flashing firmware then a baudrate speed of 9600 is more commonly used, while a higher baud rate speed like 115200 is used when actually using the application firmware. So try manually enter baudrate speed of 9600.

Then I believe the second most common problem/solution is installing good device drivers for the USB-to-Serial converter/bridge chip, which is not the same on ZBDongle-E and ZBDongle-P, as the ZBDongle-E board uses the WCH CH340 chip and the ZBDongle-P board uses Silicon Labs CP2102 or CP2102N chips. For WCH CH340 see →

Third, I would generally suggest trying to flash from an other computer and/or other operating systems if you are having that many issues with trying to flash when using your existing computer and operating system. So if you are having problems using a Linux OS then try on a Windows OS, or vice versa.

Hello, does anyone know how to reset the paired mode of ZBDongle-E using router firmware?

I had to change coordinators and re-pair all my devices, but can’t seem to get the ZBDongle-E unpaired from the previous dongle.

I tried flashing it back to coordinator firmware, and then flashing it into router firmware again - that didn’t work either.

Not sure if its been asked here (its a long thread…)

I ended up accidentally flashing my Dongle-E with 6.10.3 hw version of the firmware, and it seems to be working fine.

According to this page, there are some variants of the Dongle-E that do support the hw version of the firmware:

Note the comment lower down on that page:

  • hw = hardware flow control (RTS/CTS flow control - Only supported by ZB-GW04 V1.2)

I presume, because my coordinator is still working fine after flashing, that it supports the hw version. But just to be safe, how do I tell if its based on the ZB-GW04 V1.2 ?

I bought the coordinator in Nov 22 from Aliexpress here:

UPDATE: After a little more research i realised that the ZB-GW04 V1.2 is not an updated version of the Dongle-E, but a totally different stick, so I’m unclear why my Dongle_E is still working, given I flashed it with the hw version of the firmware. At least the mystery is solved and I’ll flash it back to the sw version.

Has this been successful for you? Or do you have any other documented recommendations to share that actually work for flashing these devices with the router firmware?

I’ve tried every baud rate up to the documented 115200 on both Windows and Mac devices to try to flash these dongles with the router firmware using SecureCRT and I’m seeing the same results no matter which OS or even device I try to flash (I purchased 3). In most instances, I get to the exact same thing that @kidnor screenshot and then nothing else happens. I only get there when I do the following:

  1. Hold Bootloader button (inner button) while connecting USB cable to computer
  2. Start preconfigured session in SecureCRT
  3. Press 1 on Windows, Mac didn’t require this and would let me skip to step 4
  4. While still holding the Bootloader Button, press the reset button (outter button) on device
  5. Gecko Bootloader screenshows up, so let go of the Bootloader button.
  6. Press 1 and select file
  7. Get the same thing previous shared, it shows Transferring, but no status.

If I then hit Ctrl+c and then 1 again, I sometimes will get more text under “Transferring” showing the transfer speed, but it’s 0 and no time counting. No matter how long I let it set there, it just does nothing.

This is the same for all device combos. And I’ve looking into the other flashing methods, but I’m not well versed in the tools required for those methods, so I’m really looking to make the method recommended by the manufacturer to work. Any other suggestions?

That was a wrong presumtion; no versions of the Sonoff ZBDongle-E from ITead support. It only works because firmware will fall back to using no flow control if the hardware does not feature support for it.

Recommend flash ZBDongle-E with firmware that has software flow control (better than no flow control).

PS: The Sonoff ZBDongle-P from ITead does support hardware flow control but you need to flick the DIP switch on the board to enable it → ITead's "Sonoff Zigbee 3.0 USB Dongle Plus" (model "ZBDongle-P") based on Texas Instruments CC2652P +20dBm radio SoC/MCU

Sorry it works for me to following the the method recommended ITead/Sonoff →

Suggest that you consider following some other flashing methods mentioned in my original post above:


For flashing Silabs EFR32MGxx chips like EFR32MG21 checkout these different methods:

Note! Need to first install WCH CH9102F (CH34x/CH91xx) device drivers in your operating system.

Has anyone successfully used one of these other methods to flash the ROUTER firmware on the ZBDongle-E?

If so, could you share specifically how you did that or point to a guide that is specific to this situation?

There is a lot of baseline knowledge needed for each of these other methods. Simplicity Studio would seem like the next easiest since it’s an instead of CLI, but I can’t get it to recognize the USB no matter what I do (yes, the drivers have been installed, uninstalled, reinstalled, device rebooted, etc…). And it seems like each one of these other methods are more generalized flashing tools, but aren’t specific as to how this should function for this device type and router firmware.

Used this webflasher to update my ZBDongle-E. Then switched over to Zigbee2MQTT afterwards. Till now it’s running way better, no drops so far.

Not credited but that looks like it is a more or less a copy of the “sl-test” proof-of-concept by @darkxst

Thanks. I did see this blog, but it wasn’t clear to me if I could use it to flash the ROUTER firmware. Is that possible?

Do I need to reset or lose something to install it?

If it allows you to provide you own custom image file (.gbl) from other source then it should be possible.

You are going to need Python3 installed on your system. Python should be already installed if running Linux, but for Windows or Mac you will need to download and install Python for you operating system. Also, since the webbrowser needs to access the dongle as a serial device you also already need to have installed device drivers for the WCH CH9102F USB-to-UART bridge (USB-to-serial converter) chip that used by in the “ZBDongle-E” adapter (and installing a device driver may require rebooting of your operatingsystem again) → USB to High Speed Serial Port Chip CH9102 - NanjingQinhengMicroelectronics …then you of course need to stop any appliciations/services that is using the “ZBDongle-E” adapter (such as Zigbee2MQTT) before it can access it since serial devices only support one connection at a time.

Hello I’m using z2m with the default firmware and I have issue with a sensor pairing. If I update the firmware, will I need to re pair existing devices ?

You should not have to but recommend that you stop Zigbee2MQTT do backups to files with zigpy-cli before upgrading firmware as then you should be able restore those backups from the files:

zigpy-cli in turn uses bellows library which can also be used as a standalone tool for NVRAM backup:

If have Zigbee2MQTT problems after firmware upgrade recommend post to zigbee-herdsman thread:

which firmware do you recommend to use for direct z2m use ?

Hey guys, could you tell me if my ZBDongle-E is up to date? Is my version compatible with Matter?

Well, I don’t know well how to update or how to download new versions.

Zigbee2MQTT version [1.30.4] commit: [unknown]
Coordinator type EZSP v8
Coordinator revision build 297
Frontend version 0.6.127

I updated to 7.2.2 version and the sensor now pairs successsfuly

No, at least not out-of-the-box with the firmware that it ships with. It ships with Zigbee NCP firmware image which can only be used as dedicated Zigbee Coordinator (or as a dedicated Zigbee sniffer).

But that is really the wrong question to ask or you don’t understand what Matter is or how Matter works.

Matter is at the application layer and something that is supported in the Matter integration for Home Assistant and not just hardware or firmware. Regardless, no Matter devices use the Zigbee protocol.

Wireless devices for Matter can be based on either WiFi or Thread network protocol, and from an end-users point-of-view it has in practice nothing to do with Zigbee (even though most modern IEEE 802.15.4 (SoC radio chips) can usually technically be flashed with either Thread/OpenThread firmware or Zigbee firmware if the manufacturer/developer chooses to develop and release support for them).

That is, Thread network protocol will be used as link/media for IPv6 for most battery-powered Matter devices while mains-powered Matter devices will instead use WiFi or Ethernet for their link/media.

If you want to use Matter devices that are based on the Thread network protocol then you need to flash either OpenThread NCP or OpenThread RPC firmware for a dedicated “Thread Border Router”, or a firmware image with multi-protocol support such as either Multi-PAN RPC or a Zigbee NCP + OpenThread RPC combination.

As multi-protocol support using a single adapter is still experimental (and will probably will never be as good as dedicated adapters for each network protocol) I personally recommend buying and using a dedicated adapter for Zigbee Coordinator (NCP) and a separate dedicated adapter for Thread/OpenThread. For early-adopters suggest buying a Home Assistant SkyConnect USB adapter to use a dedicated Thread Border Router for Matter →

Silicon Labs EmberZNet NCP Zigbee Coordinator build 297 is the only firmware image version ITead has released for their Sonoff Zigbee 3.0 USB Dongle Plus V2” (model “ZBDongle-E”) dongle.

That is the latest official firmware version from ITead/Sonoff, but it is not the latest firmware version as there are many later versions released as unofficial firmware images from the community. See above.

Links + information about tools and images for updating Zigbee NCP firmware are in my original post above in this thread as well as already asked and answered multiple times in this discussion thread.

Please follow and then ask more specific questions if you get stuck after you already tried your best.

1 Like

I’ve uploaded RCP 4.3.0 builds to go along with Silabs Multiprotocol addon 2.2 when its released shortly.

I will update web flasher here after release.