During the design phase of one of my recent projects, I had to pick a radio IC for transmitting data. One of the options which came up was using a STM32WB-series IC, which embeds an 802.15.4 radio modem. However, I had zero experience with these chips or with this radio modem, so it was hard to determine whether it would meet the project’s criteria, mostly range. Even after a bit of Googling, I only found a specification which said that the range should be about 100 feet (30 meters), but that was too vague for my taste (at what output power? with what antenna?).
So I decided to buy two of the NUCLEO-WB55RG kits and get some real world data on the range I can expect. I used the
Thread_Coap_Generic example provided by ST, with the following modifications
- on line 321 in file
app_thread.c, I added a call to
otPlatRadioSetTransmitPower(NULL, pwr), which enabled me to change the output power
- on line 737, I changed the response callback to a custom function, which turned on an LED
The testing took place in “Line-of-Sight” scenario on a long street in a small town. I simply set one kit on 1 meter high pile of snow and walked away with the other kit, periodically pressing one of the pushbuttons, which initiated sending the Coap message. If a response was received, an LED was illuminated (ie the connection was tested in both directions), and I continued walking further. The tests were performed with three different antennas:
- PCB antenna of the Nucleo
- W1095K, a short 2.4 GHz antenna, which I connected to the Nucleo via an SMA connector
- GW.34.5153, a long 2.4 GHz antenna, connected the same way
Also, just out of curiosity, I 3D printed a 2mm thick plastic cover from TPU, which I fitted over the PCB antenna, to see the impact.
And here are the results:
|Kit #1 power|
|Kit #1 antenna||Kit #2 power|
|Kit #2 antenna||Range|
|+6||PCB antenna||+6||PCB antenna||43|
|+6||PCB antenna w/cover||+6||PCB antenna||16|
|+6||PCB antenna w/cover||+6||W1095K||42|
|+6||PCB antenna w/cover||+6||GW.34.5153||56|
|+4||PCB antenna w/cover||+6||GW.34.5153||49|
As always, any range measurements concerning RF are highly dependant on the setup, surroundings etc., so treat this with a huge grain of salt. But I think that the conditions of the experiment changed very little, so the relative accuracy shouldn’t be bad.