Close
0%
0%

Off-grid LoRa Communicator

An off-grid communication solution capable of long distance transmission (10KM)

Similar projects worth following
Low power, long range communication solution for traveling or exploring in remote areas where cell phone signal is unreliable or non-existent.

I started this project because I often travel in convoy with friends to remote areas where sending a simple WhatsApp message is impossible due to non-existent cell phone signal. This makes it difficult to let friends know which turn to take or when we are stopping for a break without them being able to physically see us take a turn or pull over.

Each of these devices, one for each vehicle or group of people, creates a WiFi hotspot that any Android compatible phone can connect to with the accompanying Android app. Groups of people can then communicate, in group chat fashion, with a maximum of 8 Android devices per WiFi hotspot.

This solution isn't just applicable to road trips, but any situation where long distance communication is necessary as it is small, light weight and low power.

The off-grid LoRa communicator is a communication gateway for mobile devices based on ESP8266/SX1278. The SX1278 LoRa solution claims transmission distances of up to 10KM and the ESP8266 provides a 802.11b/g/n Wi-Fi compatible hotspot for mobile devices. Both these chips are small and power efficient which allow ease of use in mobile applications such as hiking or in vehicles.

Currently, in this POC stage, the off-grid LoRa communicator allows up to 8 mobile devices to connect to it simultaneously to send and receive text messages in a group chat like fashion. When a message is sent on one side it is transmitted via the LoRa communication standard to the other side where messages are delivered to the connected devices via the included app. 

There is no real limit to the number of off-grid LoRa communicators provided the number of messages being sent at any one time isn't too high, receiving messages doesn't add any overhead. This allows messages to be broadcast to many people at once, provided there is a use case for such a situation.

I built the off-grid LoRa communicator on perf-board and 3D printed a case to house it securely. The case supports holes for an SMA connector for the antenna, serial/debug interface and power. The plan is to later build a custom PCB to reduce the device footprint as well as add additional features such as a charging controller for LiPo batteries and then enclose it in a water resistant case.

Code written on the ESP8266 ensures any connected clients receive incoming messages, allows clients to send messages and handles sudden disconnects/reconnects gracefully by keeping track of device MAC addresses. New sockets are opened for new devices and existing open sockets are reassigned to existing clients should they reconnect after disconnecting.

Currently I have only developed an app for Android, this app is still in early stages and for now just serves as a POC. Improvements to UI and additional features will be added in the future as well as the possibility for iOS support. When first started the app will prompt the user for a username to use for all communication. In addition a foreground service is started to monitor a socket for incoming and outgoing messages. This allows the app to be closed or minimised to the background while still giving the user notifications for incoming messages. The service will continue to run even when disconnected from the LoRa station hotspot and will continually attempt to reconnect as long as it is running. The user has the option of stopping the service from within the app, the service will automatically restart if the app is opened.

Here is a simple demonstration of the app with two other devices.

Although still in its early stages this project has a few advantages over existing projects such as Meshtastic.

  1. Lower hardware cost, only an ESP8266 and LoRa radio are required vs the more expensive ESP32 used in the T-Beam along with GPS receiver etc.
  2. One LoRa station supports 8 clients vs Meshtastic which only supports once device per LoRa station which further reduces costs if multiple people want to send and receive messages. For example, to connect 16 people, two groups of 8, you only need two LoRa stations vs needing 16 if you were to use Meshtastic.
  3. Still has similar/identical functionality as the GPS on your phone can be used to send location data to others vs using the onboard GPS found in the T-Beam.

This project is ongoing and opensource, links to the source code can be found below:

If anyone is interested in contributing please let me know! 

  • 1
    Schematic

View all instructions

Enjoy this project?

Share

Discussions

WestInSide wrote 03/27/2022 at 15:44 point

Hey Keegan, really great project! I have a question regarding security. Is it possible for third persons to read the messages?

  Are you sure? yes | no

Keegan wrote 03/28/2022 at 07:43 point

Hi, yes at the moment there is no encryption. The plan is to add that next.

  Are you sure? yes | no

WestInSide wrote 04/04/2022 at 14:10 point

That sounds great! I'm pretty thrilled to try out your project.  🙌

  Are you sure? yes | no

bjoerns1983 wrote 03/23/2022 at 10:06 point

That project is really cool.

Instead of writing an own client Messenger App, did you consider using something like Briar? Seems the right tool for something like this.

  Are you sure? yes | no

Lander wrote 03/05/2022 at 12:34 point

Can you maybe add a picture with the connections?

  Are you sure? yes | no

Keegan wrote 03/17/2022 at 14:12 point

Sure I will add schematics this weekend when I have some spare time.

  Are you sure? yes | no

Nazwa wrote 03/04/2022 at 11:57 point

why this device is big and not connect trought baofeng / ethernet/ router?

  Are you sure? yes | no

teraz wrote 03/02/2022 at 18:22 point

similar gotenna but ... not mobility and big!

  Are you sure? yes | no

Fredrik Lindqvist wrote 02/27/2022 at 12:48 point

@Keegan Have you considered the using Matrix over Pinecone P2P? There's quite some interesting work going on and it could potentially allow a device that has access to both your Lora cell and another network to act as a relay.

It's been demoed with a BLE mesh https://matrix.org/blog/2021/05/06/introducing-the-pinecone-overlay-network

  Are you sure? yes | no

Keegan wrote 02/28/2022 at 19:45 point

Thanks I will have a look, seems very interesting and useful from the brief read that I did. If you'd like to contribute towards the code please do :)

  Are you sure? yes | no

Collin wrote 02/22/2022 at 21:37 point

Cool project, I might try to implement this using my LoRa platform (open source and free) https://GitHub.com/crmulliner/fluxnode

  Are you sure? yes | no

Hakaday wrote 02/22/2022 at 20:40 point

The Cellsol appears to use the dev board I was going to suggest: https://heltec.org/project/wifi-lora-32/  It has a ESP32, SX1276/SX1278, 64x128 oled, CP2102 UART, and LiPo charger all integrated.  I have a LoRa32 as well as several pSOC+LoRa boards from HelTec.  Documentation can be a challenge, but the hardware performs. 

  Are you sure? yes | no

Matteo Borri wrote 02/21/2022 at 23:12 point

https://f3.to/cellsol/ We did this a couple years back... same idea, except it also works with iOS. We should make sure all these attempts are cross-compatible.

  Are you sure? yes | no

Adam Quantrill wrote 02/21/2022 at 22:06 point

What is the basestation power consumption like - could it run off  a LiPo battery? It would be great if you could put it in a backpack or tent for festivals etc.  Also have you considered BLE instead of WiFi as the transport between phone and basestation?

  Are you sure? yes | no

Keegan wrote 02/22/2022 at 08:47 point

I would expect it to have fairly similar power consumption to the T-beam boards used with Meshtastic which run on LiPo batteries for days. Meshtastic also uses BLE instead of WiFi. I chose to use WiFi in this solution because BLE only allows one device connected at a time whereas the WiFi route allows 8.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates