LoRa Range Testing

Posted by ben/ on 2020/08/10 - 0 Comments

The LoRa boards are debugged. Before finishing we did some range testing to help choose the antennas. Having some complete LoRa boards will allow us to ship to the backers who ordered gray Pros + LoRa.

What is LoRa?

For those who don't know, a quick summary:

LoRa is a Long Range radio protocol that has advantages for applications where you don't need to transmit much data (10's of bytes per second) and it needs to be transmitted over relatively long ranges (100m-10km). This tends to be useful when you have to monitor things that aren't connected to a stabile power supply, or aren't near normal radio networks. If you are a farmer who wants to know if the gate to the back 40 is open, or a hiker who wants to send text messages to your friends back in camp, LoRa might help you do it.

Originally we were going to use trace antennas for the LoRa daughterboards, but the range was not very good. So now the plan is to ship with Flexible Printed Circuit (FPC) antennas. They cost a little more, but the range is at least double.

It's actually surprisingly hard to find clear numbers for what a realistic LoRa range actually is. Most published data seems to come from the Frictionless Spherical Cow Institute of Weights and Measures and have little to do with real-world performance. For example, a highly tuned system that gets 50 km with one end located on top of a mountain and the other on a drone (totally clear line of sight) would probably max out at 1km in an urban environment where both radios are near the ground. After some digging, the table below can be used as a rough guide for what you might expect:

Test Procedure

We set the radios to 23dBm (max power), and used the Adafruit Feather library to drive them. LoRa has a few additional parameters that can be used to configure a trade-off between more range or faster data transfer. We used the default settings, which give a middle balance of both range and bandwidth. We did not modify them get maximum range as that's generally going to be misleading for people who actually want to use the modules in real applications.

Bandwidth was set to 125 kHz, Coding Rate to 4/5, and the Spread Factor was 7. LoRa sends data via a series of radio "chirps". The Bandwidth parameter sets the frequency range those chirps cover, Coding Rate is the level of data redundancy, similar to how a QR code has extra bits used for error correction, and the Spread Factor sets how long each chirp takes. Longer chirps can reliably transmit the same data further, but take more time and power.

Links, if you want to learn more:
- https://docs.exploratory.engineering/lora/dr_sf/

We tested 915 and 868 MHz FPC antennas, as well as a 915 MHz "duck" antenna.

Antenna Testing Department, None of: Frictionless, Spherical, Bovine

Test 1:
Antenna 1 indoors, behind concrete wall.
Antenna 2 mobile, walking in urban environment.

Test 2:
Antenna 1 on roof, approximately 7m elevation.
Antenna 2 mobile, walking in urban environment through buildings.

Test 3:
Antenna 1 held in hand, 1m elevation.
Antenna 2 mobile, walking in urban environment maintaining clear line of sight.

Test 4:
Antenna 1 on roof, approximately 7m elevation.
Antenna 2 mobile, walking in urban environment maintaining clear line of sight.


Test Duck
 915 MHz 
 915 MHz 
 868 MHz 
Test 1 (Indoor) 200 130 130
Test 2 (Urban) 370 215 220
Test 3 (Urban, clear) 480 545* -
Test 4 (Urban, elevated) 1120** 1120** -

*slightly different path than for the duck antenna, which is probably why it got better range
**test stopped by ravine, RSSI -118

FPC Antenna
Duck Antenna

Overall Project Status

We will produce a batch of LoRa boards, which should let us ship a few more of the phones we already made.

We did get some feedback from the recent phones that shipped out, but I haven't had time to clean up the code and send it out yet. I anticipate there will be more feedback after that. Once we feel like the hardware has been sufficiently battle tested we will be ready to produce the rest of the phones. The money situation is still not great, but we are making progress on the remaining design and production tasks while we wait.


I also thought I'd mention another Kickstarter project that seems relevant here. It's a series of STEM learning projects aimed at understanding modern technology. Each one comes with a kit of parts and clear build instructions. Albert Gajšak launched the MAKERphone around the same time we launched the WiPhone and we ended up chatting over email. He seems like a pretty good guy and has a track record of delivering what he said he would, so I thought I'd give him a shoutout (but there is no other affilitation and we weren't paid to do this):

STEM Box by Albert Gajšak and CircuitMess