LoRa Mesh Network With Off-the-Shelf Hardware

An ideal application for mesh networking is off-grid communication; when there’s no cellular reception and WiFi won’t reach, wide-area technologies like LoRa can be used to create ad hoc wireless networks. Whether you’re enjoying the outdoors with friends or conducting a rescue operation, a cheap and small gadget that will allow you to create such a network and communicate over it would be a very welcome addition to your pack.

That’s exactly the goal of the Meshtastic project, which aims to take off-the-shelf ESP32 LoRa development boards and turn them into affordable mesh network communicators. All you need to do is buy one of the supported boards, install the firmware, and starting meshing. An Android application that will allow you to use the mesh network to send basic text messages is now available as an alpha release, and eventually you’ll be able to run Signal over the LoRa link.

Navigating to another node in the network.

Developer [Kevin Hester] tells us that these are still the very early days, and there’s plenty of work yet to be done. In fact, he’s actively looking to bring a few like-minded individuals onto the project. So if you have experience with the ESP32 or mobile application development, and conducting private communications over long-range wireless networks sounds like your kind of party, this might be your lucky day.

From a user’s perspective, this project is extremely approachable. You don’t need to put any custom hardware together, outside of perhaps 3D printing a case for your particular board. The first time around you’ll need to flash the firmware with esptool.py, but after that, [Kevin] says future updates can be handled by the smartphone application.

Incidentally, the primary difference between the two boards is that the larger and more expensive one includes GPS. The mesh networking side of things will work with either board, but if everyone in your group has the GPS-equipped version, each user will be able to see the position of everyone else in the network.

This isn’t the first time we’ve seen LoRa used to establish off-grid communications, and it surely won’t be the last. The technology is perfect for getting devices talking where there isn’t any existing infrastructure, and we’re excited to see more examples of how it can be used in this capacity.

29 thoughts on “LoRa Mesh Network With Off-the-Shelf Hardware

      1. Oh yes, I’ve used aprs on previous projects and liked it. Though I think this has a lot of advantages for many users:
        * similar range
        * much longer battery life
        * no ham licence required
        * encrypted (legally)
        * _super_ cheap existing hardware: $30
        * ‘just works’ simplicity for most users
        * standardized OLED UX for things like seeing texts or navigating with GPS.

    1. Hello Kevin, I’m working with Lora on remote farms without cellular or wifi coverage. I’m interested in developing a mesh or repeater-like feature for non-line of sight esp32 nodes. Are you working on this or a similar solution?

      1. yes, this project is intended initially for the ‘hiker gps communicator’ use case. but it is also made as a generalized reusable widget for comms in any application. It will let you push in packets and (slowly) get the packets out on some other node with the “how did that happen in between” being ‘not your problem’ ;-).

        Of course _some_ amount of line of sight is needed to get sizable range, but it could be through a series of nodes.

        The idea would be to either put your code into the same ESP32 device with the existing network glue, or talk to the ESP32 from your device over bluetooth or serial. That’s actually how the current android app does its thing.

    2. Dear sir. First of all thank you for giving me this opportunity to speak

      Well I am Vishal Meshram. And had developed a weather monitoring system capable of transmitting the data from Approx 2 Km.
      The size of my system is is just a size of match box.
      Which can be carried out to remote places through drones or any carrier.
      I would be honored if by any means my idea or my work could be of some help to you.

      I am also looking to develop a system where multiple transmitters can transmit the data simultaneously and must be received at a single point .
      Therefore I will be needing your help ….

      So let’s work together…….
      And give something better to the society.

      God bless…..

    3. To Mr. Kevin,
      I hope this message finds you well. I am intrigued and interested in your project. During my bachelor’s project, I implemented a mesh network of Lora modules for long range irrigation system that do not have cellular coverage as well as a server host on the mother communication Lora esp32 board that is connected with a proxy to be accessed with a dual authentication system to check on the crops and send commands (sending and receiving).

      I would love to work with you on any project related to mesh networking or/and Lora.
      If you are interested, send me an email on abdullah17khaled@gmail.com

      Hope you have a good day.
      thank you

    4. Hi Tom, I am using lora to control a water pump on my farming property but would like to explore mesh so I can add in other nodes ( weather station, cattle water storage etc ) but my excitement peaked when I thought this small form messaging node, potentially using Signal ( that we already use ) to communicate between our ambulance teams in case of call-outs during power outages that frequently take out our cell tower. I will be watching this project closely.

  1. This is cool. I’ll contact you tomorrow after work to see if my skill set would be of any assistance. Used to work in electronics manufacturing as a prototyper and coder/debugger. Been really into overclocking again, and I’m honestly bored with it at this point… Sounds fun!

    1. Could be an application for a super-low bitrate codec such as Codec2 at 700bps. You’d still need to tackle CPU time needed to encode/decode samples, and maybe make it not-quite-realtime so if radio’s bitrate drops below 700bps (due to channel congestion, interference, etc.), you’d buffer the clip and play it back once it all arrives.

  2. Hi Kevin,

    I’m looking for communicating over Lora with PGP encrypted strings when in range (and otherwise I fallback to the M2M Simcard), I already build an apk which is encrypting everything client side, but as you can imagine “hello world” is slightly longer encrypted by a 4K key. Do you think it will have limitations / any idea what will be a save string length maximum?

    Kind regards, Patrick

  3. I am working on a system where LoRa module1 forwards packets. In this setup, when a user is connected to module2 (linked to an ESP32 board and serving as an access point), and they enter a URL like google.com on their smartphone, I intend for the request to travel from the user’s device to the ESP32, then to LoRa module2, further reaching LoRa module1. Module1 is connected to a Raspberry Pi, which is in turn connected to the internet. The Raspi should forward the request to the internet, retrieve the response, and send it back to LoRa module1. Finally, LoRa module1 should relay the response back to module2, which can then be accessed by the user on their smartphone. The primary goal is to enable the user to view basic HTML text-based websites through this LoRa network.

    1. I’m also doing the same with LWIP, I tried capturing packets on all ports promiscuously but my ESP32 crashes many times because it gets some threads locked. It’s a hell of a project, I had many headaches and still no working prototype. Provably would implement just a proxy/VPN/ssh tunnel using only one port.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.