Too bad ITead didn’t add SMA (or IPEX) connector + external antenna or used a ceramic chip antenna.
Solder points for PCB trace antenna look too small for an average DIY thinker like myself for soldering on a RG316 SMA-Female to PCB solder pigtail antenna cable, but maybe others are willing to do it?
There are guides to solder SMA connector PCB trace antenna path so can use external antenna, ex:
FYI, Silicon Labs EZSP (v8) support in zigbee-herdsman (which Zigbee2MQTT depends on) was just recently added and as such is not mature and currently only available in Zigbee2MQTT dev branch. They are however looking for testers that want to experiment and help out testing it. Initial development has been started on experimental (pre-alpha stage) support for various Zigbee coordinatior adapters based on Silicon Labs EFR32 SoC families with EmberZNet NCP 6.7.8 firmware or later via EZSP version 8 (EmberZNet Serial Protocol) interface. This include all hardware based on SoCs/Modules from Silabs EFR32MG21/MGM210 and EFR32MG12/MGM12 series. More information and discussion available in the Zigbee-herdsman repository on GitHub:
Note! All the issues regarding interference that I posted above of course also apply to Zigbee2MQTT, as such this is not the best hardware to test EZSP with because any problems can be due to interferance.
FYI, other than using a very long USB extension cable with your dongle and adding electromagnetic shielding to your other devices/appliances (like your Raspberry Pi enclosure), another tip is to add electromagnetic shielding to all the parts of the dongle circuit board that is not the PBC trace antenna.
This type of electromagnetic shielding can done by first wrapping it in one layer of some kind of isolating film or tape around it and then wrapping a layer of conductive metallic tape on top of that.
Just make sure to not cover the antenna and as well as electrically grounding the conductive metallic tape to the USB jacketing (which act as a point of the electrical ground) checking it makes contact.
Rather than using just any tape lying around a better solution would probably be a good idea try using either heat-shrink tubing or kapton-tape as the isolation layer (both types are widely available online).
Also, rather than using any metallic tape, suggested consider buying conductive copper tape (checking that the adhesive/glue on the metallic tape really is a “conductive” variant as “non-conductive” variant also exist, as then it should be easy to ground that conductive tape by just wrapping part of the USB mantel/jacketing as the point of the electrical ground). Tip is to just search for “conductive metal tape”.
…once I get around to this myself I probably do it overkill style; i.e.:
First wrap a layer of Kapton-tape (no need to touch USB mantel, and making sure not to cover the PCB trace antenna on the board),
Then wrap a layer of conductive metallic tape, (that needs to touch USB mantel/jacketing, and making sure not to cover the PCB trace antenna on the board).
Lastly heat-shrink tubing over everything (here you could probably choose if you also want to cover PCB trace antenna or not).
Again, be sure to touch USB to ground copper-tape but not to cover the tip of the dongle/stick circuit board which has PCB trace antenna!
PS: If you are using a Raspberry Pi or other single-board-computer with wired Ethernet and you do not need to use its WiFi or Bluetooth then you can also add a layer of electromagnetic shielding to its enclosure as well (or just buy a metal case for it).
I cannot find the hardware address of the Itead zigbee stick under Supervisor->Hardware. I’ve tried both USB2.0 and USB3.0 ports…is there a secret I’m missing?
All the Aqara and Xiaomi devices are infamous for having loads of compatibility issues with most Zigbee implementations that are not their own. Suggest check out this post on Hubitat which have pairing tips:
PS: Also read other dongle tip on about adding conductive metallic tape as electromagnetic shielding:
I bought the Zigbee 3.0 USB dongle together with their button switch directly from ITead. I plugged it into a USB 2.0 on my RPI4 with a long USB lead. When I install the ZHA integration, it picks it up and installs it but I get the following error:
And this is the error I get on the logs:
Logger: homeassistant.components.zha.core.gateway
Source: components/zha/core/gateway.py:152
Integration: Zigbee Home Automation (documentation, issues)
First occurred: August 11, 2021, 10:04:49 PM (98 occurrences)
Last logged: 12:18:45 AM
Couldn't start EZSP = Silicon Labs EmberZNet protocol: Elelabs, HUSBZB-1, Telegesis coordinator
Traceback (most recent call last):
File "/usr/local/lib/python3.9/asyncio/tasks.py", line 492, in wait_for
fut.result()
asyncio.exceptions.CancelledError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/zha/core/gateway.py", line 152, in async_initialize
self.application_controller = await app_controller_cls.new(
File "/usr/local/lib/python3.9/site-packages/zigpy/application.py", line 74, in new
await app.startup(auto_form)
File "/usr/local/lib/python3.9/site-packages/bellows/zigbee/application.py", line 109, in startup
self._ezsp = await bellows.ezsp.EZSP.initialize(self.config)
File "/usr/local/lib/python3.9/site-packages/bellows/ezsp/__init__.py", line 83, in initialize
await ezsp.reset()
File "/usr/local/lib/python3.9/site-packages/bellows/ezsp/__init__.py", line 98, in reset
await self._gw.reset()
File "/usr/local/lib/python3.9/site-packages/bellows/uart.py", line 223, in reset
return await asyncio.wait_for(self._reset_future, timeout=RESET_TIMEOUT)
File "/usr/local/lib/python3.9/asyncio/tasks.py", line 494, in wait_for
raise exceptions.TimeoutError() from exc
asyncio.exceptions.TimeoutError
Anny assistance in getting this integrated and working please?
Logger: zigpy.application
Source: /usr/local/lib/python3.9/site-packages/zigpy/application.py:78
First occurred: 12:30:47 AM (9 occurrences)
Last logged: 12:38:04 AM
Couldn't start application
Thank you @Hedda, greatly appreciate your assistance. I got the correct Device Path from the hardware section, and installed it manually and it work. You are STAR!
I figured I am on version 678 but did not bother to upgrade it to 679, as after reading the link you sent, don’t have a clue on how to do it.
You can upgrade via either of these two tools/scripts as long as provide the correct firmware image file:
PS: Tips is that easier to upgrade on a other computer than the one running your Home Assistant, and any operating system will work as long as you first install Python (though command syntax will differ).
I understand ITead only 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 fixes revision of their cheaper Zigbee 3.0 USB dongle with proper RF shielding and either corrected PCB antenna design or better yet a ceramic chip antenna.
As we know, ITead’s existing ‘non-Plus Zigbee 3.0 USB dongle’ is based on Silabs EFR32MG21 SoC which is just as powerful but sadly was proven that ITead’s first Zigbee 3.0 USB Dongle PCB board revision had a badly designed integrated PCB antenna and no electromagnetic shielding which caused huge issues, and to this date, it has been listed as “out-of-stock” since after the initial batch was sold.
FYI; Zigbee Router firmware for EFR32MG21 adapters has now been released by xsp1989 on GitHub.
From readme it sounds tested with ITead Zigbee 3.0 USB Dongle and an SM-011 based USB adapter.
The same “SM-011 V1.0” Zigbee radio modules by CoolKit Technologies is also used inside some Zigbee gateways/hubs like the popular ITead Sonoff ZBBridge and ZB-GW03 eWeLink Ethernet Zigbee Gateway sold by EACHEN and SmartWise, so could perhaps be that the same Zigbee Router firmware could maybe also be used on the SM-011 Zigbee module in all or some of those products as well?
FYI, ITead has now also released a new Zigbee dongle based on the same EFR32MG21 SoC however the new one features the same external antenna + metal-enclosure as ITead’s dongle that is based on Texas Instruments CC2652P, as well as shipping in similar retail packaging to make it more attractive for sale in brick and mortar stores: