Extending coverage with LoRa

Reading Time: 3 minutes


Posted by Sašo Stanovnik, Senior Researcher, XLAB


There are many ways to get data to your device: ranging from a wired connection, to WiFi, to a mobile network connection or even a satellite link. A fundamental difference between all these is the connection range. Wired links generally do not exceed 100 metres, similar to WiFi connections, but the latter offer the advantage of mobility. Switching to a mobile connection provides even greater range, as towers have a range of multiple kilometres, but are stationary. In cases where there is no network coverage, as seen in Figure 1, an alternative is the use of satellite networks, which are available almost anywhere.

However, satellite networks are expensive, with prices being around 100 EUR monthly, excluding equipment costs and for a very basic connection. Higher speeds cost more, but usually max out at the low tens of megabits per second, making it unsuitable for any high-bandwidth applications. Another shortcoming of satellite connections is the extremely high latency, starting at around 250 milliseconds for satellite constellations in geostationary orbits due to the inherent low performance of the speed of light.

Figure 1: Network coverage map of Croatia and its seas [1].


Another option for expanding network coverage is through LoRa. This is a low-bandwidth high-range connection technology that does not primarily serve the purpose of carrying an IP network. Its two incarnations, LoRa and LoRaWAN provide peer-to-peer and hub-and-spoke connection schemes respectively.

Extending coverage through LoRa must be done manually as there is no simple way to tunnel an IP connection through it. It also does not make sense due to the very small bandwidth, measured in tens of kilobits per second at most and its high latency, measured in hundreds of milliseconds. LoRa is much more affordable, with transceivers costing less than 10 EUR, and its range is also greater than most such wireless technologies, achieving tens of kilometers of range. Data is then transmitted manually, in the application layer, over a custom interface.

Figure 2: Multiple network connection schemas for a boat.


There are a few connection scenarios then made possible, visualised in Figure 2:

  1. a pure WiFi connection between a boat and the marina,
  2. a mobile connection between a boat and cell towers,
  3. a LoRa connection between two boats, with only one having a mobile connection,
  4. a proxied LoRa connection between multiple boats, where only one has a connection to another boat in mobile network range and
  5. only a LoRa connection between multiple boats without a connection to the cloud.

With an application layer, data can be transferred via multiple hops to reach the cloud, effectively extending network coverage. Care must be taken to ensure proper security and to ensure duplicate data is not sent, wasting the limited bandwitdh. Reliability must also be taken into account as messages transmitted through LoRa do not have strong end-to-end guarantees.

Figure 3: Our LoRa testing equipment: a LoRa module attached to a Raspberry Pi.


Our preliminary tests show that the peer-to-peer version of LoRa exhibits almost no packet loss at up to 600 meters, only being sensitive to physical obstructions such as buildings and dense vegetation. Transmission reliability at that distance is high, reaching 97 percent, however line of sight does play a role in both range and reliability. Later tests we performed at distances of more than 2 km show an increase in lost packets. At those distances, narrow streets and buildings played a huge factor in packet losses, as shown in Figure 4, where a jump in lost packets occurred at 1.6 kilometres because of local geography. Further testing is necessary to establish real limits on the line-of-sight distance limits.

These tests will later also with different LoRa protocol parameters, such as the spreading factor, so enough data will be gathered to make definitive conclusions about the performance, reliability and final bandwidth. After performance testing, our further work will explore more on the performance of peer-to-peer LoRa and attempt to create a proof of concept sensor data sharing application, which will be both efficient and secure.

Figure 4: A LoRa testing track with lost packets marked in red and a 1.6 km circle around the receiver device.



[1] https://www.a1.hr/karta-pokrivenosti