We demystify the long range capabilities of Bluetooth Low Energy with a range test you can repeat for yourself.
Before the launch of Bluetooth 5, there was just one way to increase range in your Bluetooth Low Energy (BLE) product: By increasing radio transmit power.
But doing this negatively impacted current consumption of your product. High peak currents could also make it impossible to use certain battery types, thereby putting size- or price constraints on your application.
Read more: Power consumption explained
The Bluetooth 5 specification has introduced a number of improvements, including 125kbs or 500kbps ‘long range’ mode, allowing you to increase range at the cost of a reduced data rate and increased average current consumption. Maximum output power is also increased from +10 dBm to +20 dBm, boosting potential range further.
Bluetooth long range tested
Because of many questions and some confusion about the feature, our developer team tested it with the Nordic Semiconductor nRF52840 Rev 1 and documented the results.
If you want to try the test out for yourself, the full process with attached project/binaries is available over on the DevZone blog. But if you’re just interested in the results, read on!
Understanding path loss
For some context behind the experiment, you should understand a bit about path loss. This is the reduction in power density (signal strength) that occurs as a radio wave propagates over a distance.
Radio waves follow an inverse square law for power density: In theory, when radiating from a "single point" (i.e. when antenna dimensions are very small compared to propagation distance), doubling the distance results in 1/4th the energy density at the receiving position. In the real world though, path loss is higher because of precipitation, humidity, signal reflections etc. that further deteriorate the signal.
Vice versa, given that a minimum signal energy density is necessary for successful reception, range can be increased by adding output power. Because that maintains the minimum energy density, over longer distances!
Bluetooth 5 Long range in a nutshell
The long range feature provides a way to increase the range without cranking up the output power. This is done by applying Forward Error-correcting Codes (FEC) into the transmission at the hardware (physical) level. Hence, the term "Coded PHY". Of course, it's a trade-off vs data rate.
It's like increasing the sensitivity of the receiver by tweaking the transmitter. Theoretically for Bluetooth long range, expect 12dB in the case of coded PHY at 125Kbps compared to 1Mbps mode. This should result in 4 x the range. In real life, standard Bluetooth devices supporting long range, achieve around 8dB increase. This should slightly more than double your range. Let's see how our test went.
A little about the testing process
The places where you test long range will have different signal propagation characteristics and different path losses. We chose to do this test outdoors to keep things as simple as possible. Indoors there will be too many limiting factors that make it difficult to conclude anything from the results.
We did the range test with the Nordic Semiconductor nRF52840 Rev C, using both 1Mbps PHY and Coded PHY (long range) @ 125Kbps to minimize the effect of random variables on the radio signal, so we can focus solely on the improvement that the long range feature gives over 1Mbps PHY.
Read more: Nordic Semiconductor nRF52840
The test was focused on range and not power consumption, so this was not a test optimized for power efficiency. We tried to keep the radio active most of the time and used LEDs as visual indicators.
For non-connected *) states (0 dBm Tx power), the distance obtained for 1Mbps PHY 0 dBm TX was 654.92 meters. For Coded PHY 0 dBm TX, the distance was 1,300 meters. That’s double the range with Coded PHY.
For connected **) states (0 dBm Tx power), the distance obtained for 1Mbps PHY 0 dBm TX was 681.9 meters, while for Coded PHY 0 dBm TX the distance obtained was 1,300 meters. That’s an almost-doubled range increase with Coded PHY compared to 1Mbps in connected state at 0 dBm.
For example: In our case, to measure the longer range we had to use a position that involved signal propagation over sea water, while for the 1Mbps mode, everything was done over land... In other words, we were not able to create identical conditions for our tests. So we expected a 2.5 x increase, but got slightly less than 2x instead.
Environmental factors like this are something we’ll watch out for in future tests to see if there are any specific reasons or patterns we can identify.
With 1M PHY, the scanner logs show that we can get adv packets with a signal strength of around -93 dBm. With Coded PHY @ 125 Kbps, the scanner can still detect adv packets of signal strength around -101 dBm. An improvement in radio sensitivity that shows the long range feature is working.
With a 6 dBm sensitivity increase, the range should theoretically double. In real life, we see that a full 100% increase may not be achieved as it depends on many environmental factors.
Run your own test: Everything you need is on the DevZone blog.
The range improvement will also depend on the radio propagation characteristics, which are outside the control of this BT5 feature. Materials along the path will deteriorate the signal indoors. Regardless, you should still see increased range as compared to 1Mbps PHY, but the exact amount is impossible to generalize.
*) Non-connected states: While etablishing a connection, or used as a beacon.
**) Connected states: During an established BLE connection.