I spend my morning investigating the range of CC2531 USB ZigBee stick. Despite better alternatives, this $4 USB dongle remains my favourite coordinator. It’s incredibly cheap, comes as USB form factor and so far I had no compatibility issues despite using 1.2 ZigBee stack. I run into some interference issues with my Argon18 mod, so I decided to add an external antenna to CC2531 and move it outside of the enclosure. I will show you two ways of adding external antennas to CC2531 and I’ll look at the possible range and signal quality improvements.
Adding an external antenna to CC2531
There are 2 ways to go about it. There is an easy way, and a slightly more complex but robust way to add an external antenna to CC2531. In both cases, you will need some basic soldering skills.
The easy way
Before you start anything, you have to decide what type of antenna you are going to use with ZigBee stick. This will determine the connector soldered to the board. Take a closer look at how the antenna is terminated. This will determine the socket type:
As the socket is firmly soldered to the PCB of the CC2531, you won’t be able to change the socket type without desoldering (or using an adapter), and you will be limited to where you can put the antenna. It’s not an issue if you just use the CC2531 in the USB stick form factor.
SMA connectors are great. It aligns perfectly with the traces of the built-in PCB antenna of CC2531. To add the connector, you will have to remove the protective layer from the traces as indicated, and cut the antenna traces in 2 places to isolate the middle pin. To ground the connector better, uncover the trace at the end of the antenna as well and join it with the ground plate using a blob of solder.
Take your time and investigate the joints properly to make sure SMA connector is fused with traces from PCB. You can also add a drop of hot glue to further isolate the antenna traces.
The complex way
This method is only a little more difficult, as the component we are going to use is much smaller. The IPEX / IPX connectors are present on various devices to add a coaxial external antenna. Adding IPEX / IPX connector to CC2531 is a great solution if you want to move the antenna away from the coordinator, and you don’t want to be limited to a single SMA type. After all, it’s easier to unpin the IPEX / IPX cable, than desolder the SMA connector.
As before, we will need to expose built-in antenna as our connector will latch on to it. Unfortunately, the connector is way to narrow to use it in the same way as SMA. I tested various configurations and I found the way to solder the connector in play and provide enough surface area to create the solid contacts and fix the connector in place at the same time.
The main trace has to be cut close to the exposed pad. Rotating the connector 45° allows each pad to be fixed in place by solder. Just bear in mind that IPEX / IPX connector must be placed in a correct orientation. The access to the middle pin is from one side only.
Don’t forget to ground the other side of the PCB antenna and join it with the ground plane on the PCB.
Range, signal strength and other benefits
It was a right call to add an external antenna to CC2531, it improved the signal dramatically of the Argon18 case. It looks better than having the USB stick at the back. Is it worth hacking it if you use CC2531 primarily as a USB stick?
I have tested 9 different antennas, trying to find improvements. And frankly speaking, my results are a little mixed. The stock antenna is pretty decent. It covers all my rooms, but I don’t get the range outside the house in the garden.
Testing various antennas I discovered that range increased, but not by the factor I would expect it to. I’m pretty sure, this is down to the power of the CC2531. I got about 5m of extra range in the garden (the coordinator is on the other side of the house) but the overall range of the ZigBee devices (line of sight range) stayed the same regardless of the antenna used.
You have to remember that range will depend on both devices. I was able to get about 25m while keeping the line of sight using IKEA Tradfri Dimmer.
The biggest changes are in link quality. Overall, the bigger the antenna, the better
linkquality 0-255 value, it’s not the antenna size that is the biggest contributor, but the position and orientation. Apart from IKEA dimmer, I also used IKEA Tradfri colour lightbulb.
I did notice positive changes in regards to the link quality values. My kitchen (room the furthest from the location of the coordinator) seen the improvement of 10-20. The inconsistencies in measurements however point out that the ability to orientate the antenna was the biggest contributing factor.
Values measured in the same room didn’t bring obvious improvements in the link quality, proving that the PCB antenna isn’t bad.
If your CC2531 doesn’t cover the entire 2 story house, chances are, there is something interfering with the signal. Connect a USB extension cable to see if you can improve the signal by moving CC2531 away from the Raspberry Pi. Adding an external antenna may help, consider adding more ZigBee devices that come with router feature to build the mesh network up. In case your coordinator signal is often disrupted, consider one of 2 solutions above and add an external antenna to CC2531. If it’s the range you are after, anything further than 25m away, you may need a different coordinator. Probably a good topic for another article, considering that I have CC2530 and ConBee II as well. Let me know what do you think in this Reddit thread.