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

It does, but even better is also connecting a powered USB 2.0 hub as that will practicate convert the port to USB 2.0 has less interference, read → Guide for Zigbee interference avoidance and network range/coverage optimization


The technical specs of ZBDongle-E specify the power required to run the device is 100mA:

By definition usb 2 supplies 100mA so not sure why powered usb is suggested. Do you know?

I covered the reason for that here →

To summerize it is easier to just recommend a powered USB 2.0 hub over a unpowered USB 2.0 hub because many users commonly use a single-board computers with a power-supply that is just barley has enough power to power the single-board computer itself, without any pheriphials, then they normally connect an unpowered harddrive + radio dongles (all of which adds to the total amount of power needed) and then it very common to get get intermittent issues which the root cause turn put to be power related problems.

Simply put, if you use a powered USB 2.0 hub then you have at least secured powered to the radio dongle so any issues you might still get should not have to due with that radio dongle not getting enough power.


I see.
I’m using Intel Nuc server with 4 usb 3 ports and it has enough power so I guess in my case powered hub is not needed.
Last question - does it really needs to be a hub? Can i
I just connect the dongle to a usb 2.0 extension cable? Why use a hub at all?

Again see this other thread which is more ontopic since interference for Zigbee is not specfic to this dongle →

There are several links to references there and more. Short answer is that all USB 3.0 ports and devices emit interference that seriously affect Zigbee.

Yes, but if I use long usb extension cable doesn’t this effectively make the connection usb2?

How about this - you can try the long usb 2.0 (not usb 3.0) cable, and see if that works for you.
If there is still strange behavior happening to your setup, maybe 1 or 3 or 6 or 60 months down the road, then you know what to do.

What Hedda said is still true.
And no, plugging a USB 2 cable to a USB 3 port does not “effectively make the connection usb2”. There will still be interference.
But, sure, it does not hurt to try - everything is relative… so who knows… maybe you will find the interference relatively acceptable.

1 Like

Yes, that is the whole point. The device is nothing more than a Serial to USB adapter that operates at a speed of 115,200kbps, far below the speed of even USB 1.0 speeds of 1.5mbps.

Again, I think that it would be much better if the interference discussion could be moved to that other thread since that i not specific to this dongle as it applies to all Zigbee dongles and devices, and would be better if questions and feedback on the suggested best practice in that guide were collected here instead → Guide for Zigbee interference avoidance and network range/coverage optimization

But for reference read this whitepaper PDF from Intel on usb.org as see this video (that is posted there) about how extremely sensitive Zigbee really is, and understand that just because it works does not mean that it works well, as for example battery powered devices will draw much more battery if they have to resend messages due to interference, so a common symptom of interference a “seemingly working” Zigbee setup is that batteries last only for weeks or months instead of for years:

Thank you so much for your clear instructions. Got Dongle E working as a router connected to my Dongle P coordinator within 5 mins after finding your post. I did get stuck with the boot button part as my led did not flash no matter how many times I tried, I read further and checked my device manager for the correct com port. I had to use COM5 and then it worked straight away. Would have saved some time if you had put check com port before connecting to device but we got there so all good :+1:

1 Like

Hi. What firmware did you use to make your E dongle to work as router please? I have been trying to flash the Z3RouterUSBDonlge_EZNet6.10.3_V1.0.0.gbl with SecureCRT but it gets stuck when starting to load. I only manage to flash the coordinator firmware without any problems… however router firmware not at all. Nothing… (also tried Com5 but nothing) Thanks

Try flashing with other tools:

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.