Building Autonomous, Off-Grid, Encrypted, and Solar Powered Communications Infrastructure
A guide on building autonomous communication networks with LoRa that work without wider communications infrastructure. Combining techniques for resistance, resilience, and persistence.
This is for educational purposes only. I am not responsible for misuse of this information as this article is a confluence of publicly available information with personal anecdotes. If you use this information to do anything illegal or malicious, that is on you - and your responsibility.
This will be a guide on how to use LoRa (Long Range) radio hardware to create mesh networks that can transmit text messages miles away with no cellular signal/LTE, no WiFi, and no infrastructure. These nodes can be powered directly off portable solar panels with USB chargers, or used with portable battery banks. This can create a resilient mesh network of devices that can send text messages without the need for wider infrastructure in emergencies such as natural disasters, during protests, or in areas of military or state occupation. Messages can be encrypted and can be sent to broadcast channels or directly to other devices/users like a DM or a traditional text message. This can all be done with cheap hardware with LoRa capabilities, a power source, and some basic computer skills (No CLI or special coding). Depending on the environment even the cheapest LoRa hardware can broadcast up to three miles in urban/suburban areas or up to ten miles in rural areas/direct line of sight. That’s node-to-node distance, with multiple nodes in a local network you can extend the range even further. Because mesh nodes automatically join the network and act like a relay, the more nodes, the more theoretical distance you can cover and the more people who can have access and communicate. With antenna upgrades, proper placement, and some basic skills you can create a DIY autonomous communication system that works even when everything else doesn’t.
I will offer two examples of some hardware, one is a small device that connects to a phone via Bluetooth and uses the Meshtastic app on a phone to act as a client. The other device is more standalone and is basically a Blackberry clone with a LoRa chip in it. Great to have an all-in-one device to hand to someone that just works with LoRa and doesn’t require a phone (less power requirements with fewer devices). There are some benefits and downsides to these options but I wanted to illustrate the possibilities on what you can use.
This article is broken up into sections to make it easier to digest.
Things will start with the technical “how” section and will explain how to do this hands-on - with steps to go from bare unflashed hardware to sending messages, adding encryption, boosting signals, and ways to actually use the hardware.
The “why” / “use cases” section goes into detail about the reasoning behind making autonomous communication systems (and by extension) the reasons why we would want to build autonomous infrastructure. I also go into detail about situations/use cases where systems like this could be used along with some security tips. This is optional but it explains some social, political, and historical reasons why this topic is important.
The “next steps” section will connect autonomous communications with autonomous infrastructure as a whole. This will explain the snowball effect of going from small projects - to building community-wide mutual aid networks - to what I see as a possible path to revolutionary action.
Table of Contents
“The How?”:
How to build off-grid, solar-powered, encrypted, and resilient mesh LoRa networks
Flashing Meshtastic (With step-by-step instructions and examples)
Powering your device with direct solar, portable battery banks, and other options
“The Why?”:
“The Next Steps”:
How to build off-grid, solar-powered, encrypted, and resilient mesh LoRa networks
Background/Overview
This LoRa network system isn’t too complex and your average person can get a Meshtastic node flashed, powered, and running without a crazy amount of technical skills. Some basic criteria will be covered in more detail but these are the building blocks of what you need to get things going.
A device with LoRa capabilities.
A computer with internet access to flash the device. Or the firmware downloaded to load without internet access.
A way to connect to the device like a phone (optional if you get a standalone LoRa device).
A way to power the LoRa board.
A place to broadcast.
These are the basic Lego bricks. Just like Legos, you can build off of these basic blocks and reconfigure things.
Hardware
To create this mesh network we are going to use LoRa combined with Meshtastic software to create nodes within a network that work together to transmit text messages long distances without wider infrastructure. The specific hardware I used and some recommendations are featured later in this article in more detail.
What is LoRa?/How does the system work?
LoRa stands for Long Range, which is a special protocol that uses a specific radio frequency to transmit and receive data over long distances. LoRa requires special hardware that can send and receive LoRa signals, most phones don’t have LoRa hardware so we are going to use standalone LoRa devices to connect to a phone or a standalone LoRa device with a built-in keyboard to send data long distances.
How far can we transmit LoRa data?
That depends.
LoRa works great with line of sight, meaning two nodes are basically in front of each other with the least amount of obstructions in between them. Not everyone lives in a giant field with no trees and buildings in-between but you can still get a line of sight by getting high. Not like that, get to higher elevations to clear obstacles. You can get (nearly) a direct line of sight by putting nodes high up on buildings, structures, or natural formations like hills and mountains to broadcast over any obstacles.
In a city that means getting nodes as high as possible so the radio signals travel farther without hitting obstructions. Or by going up the mountain to broadcast in a valley.
You don’t need a direct line of sight but clearing obstacles will help the signal to travel farther. I was able to broadcast a signal in a suburban area a half mile away through trees and about 20 houses to the next node. Sometimes you won’t have the opportunity to bounce directly to another node, but by adding additional nodes or repeaters in the middle of your destination you can still send data through obstacles while also making it easier to connect to a far away node that may have a line of sight with another node even farther away. This brings up the topic of mesh networking, nodes, and signal bouncing.
By nodes I mean any device running Meshtastic. This can be another person’s Meshtastic client that can send and receive messages or it might be a standalone Meshtastic device that is made into a router or a repeater to just help send messages. Your device will be set up as a client. A client in a Meshtastic node can send and receive messages, but will also forward messages to other devices.
You can get creative with how you get around obstacles. You might be able to get another node or make a repeater LoRa device that connects through a neighborhood to a spot that can hit a tall office building, or tie a device to a rope and pull it up a tall tree. If you need momentary connections you could strap a node or repeater to a drone and clear all the homes and trees to get a good connection enough to send a message.
Mesh networks, nodes, and repeaters
The power in this comes from the ability to create a mesh network with clients that can send and receive messages or even standalone repeaters that use super cheap LoRa boards that will basically act like a relay and pass info on to the next node.
Mesh network basics
A traditional network is client-server based, so you have a sender, a receiver, and the infrastructure to move that info around. One major flaw is that if the communication structure or the infrastructure is broken, the message can’t be delivered. Take the internet as an example, if you use the encrypted messaging app Signal to send a message to another person there has to be a way for that message to get to the other person. What if the internet is down in the area of the person you are sending the message to? They just don’t get it.
However, a mesh network is more reliable because each node/device in the network can help move the message, and the reliance on centralized infrastructure to handle messages and transport that data is spread out. This message can be sent shorter distances through obstacles or longer distances using a direct line of sight to bounce the message across each device in the network.
Think of a mesh network like a relay run, each device on the network will pass the relay (the message) to the next available node until the message is hopefully delivered. In this example start with Bobby in the lower left corner.
You can see that even if parts of the network are broken; as long as other nodes/connections are available a message can still be delivered. Though Ace couldn’t forward the message from Bobby because of a signal drop due to obstacles, the message was relayed through the mesh to Jack in the end. Even though a snowstorm stopped Cara from forwarding directly to Jack, Amina was able to pass the message to Ace - who then passed it to Jack.
That example used a direct message to illustrate how messages can pass using Meshtastic, but the core of Meshtastic is to be able to send broadcast messages to all reachable devices. Great for messages that impact more than one person.
Why not use HAM radio?
While HAM radio (amateur radio) is the standard for long-range off-grid communications, in the US you can’t encrypt data over radio transmissions (unless you are a cop, federal agent, or have a specific license). You also need to be licensed to broadcast on most frequencies outside of specific ranges that are commonly used for emergencies and consumer goods like off-the-shelf walkie-talkies. Your average person isn’t going to want to drop hundreds of dollars on a fancy long range radio setup they can’t really use, need technical knowledge of how to handle it, and in general isn’t very user-friendly. Hand your average person a Baofeng radio and they will more than likely have no clue what to do. Hand them a device and tell them to use an app on their phone or on a computer that connects over Bluetooth that looks like a normal chat client and they will be able to operate things pretty easily.
Getting LoRa Hardware
You really just need LoRa-compatible hardware to start using it. LoRa is still a pretty new protocol compared to things like WiFi and Bluetooth so not every device will have it built in. But LoRa devices usually come with Bluetooth at the bare minimum to pair to a phone.
I opted to start with two different LoRa devices.
An all-in-one device that has a keyboard built-in and can act as a standalone Meshtastic client.
A small device that can be paired with a phone and is cheaper but still useful.
What you choose will be up to you. LoRa devices can range from $16 USD - $200 USD depending on the broadcast strength, the out-of-the-box easy use (most don’t come with a case), and the size of the screen.
Meshtastic has pretty wide support for ESP32 boards (most LoRa devices have an ESP32 chip in them) the following screenshot shows the supported ESP32 boards as of January 2024.
Some of these devices need a LoRa attachment or module but the easiest ones are the “T-series” made by LilyGo.
Considerations
Most LoRa devices won’t come with a case, some really good ones do come with cases and are ready to use out of the box like the LilyGo T-Echo which might be the best value for most people. However, ready to roll out of the box devices tend to sell out quickly.
You don’t need a case, and if you have a 3D printer you can churn out hundreds of these cases for a few bucks. Don’t let that stop you if you don’t have a 3D printer. You can just throw most of these devices into a shoebox or a plastic container. Will it look good? More than likely not. Will it work and keep it protected if you are installing a LoRa device like a repeater outdoors? Yes. I will go over 3D printing cases a bit later.
There are some other devices out there like the GoTenna mesh, but those are $200 for only two dongles. So no thanks. For the same price, you can get seven LilyGo TTGO T3 devices.
In terms of sourcing, Aliexpress or going to the manufacturer will be the best move in terms of cost. But shipping times might be long because they ship from China. You can buy these devices at a slight markup on sites like Amazon and other sites. Just look around for the best price compared to the shipping time!
Helium and SoftRF devices
You don’t want devices meant for Helium or SoftRF, those are different things with different uses. Most devices you will come across while searching “LoRa Meshtastic” online will say they are compatible. If you see any mention of Helium or SoftRF, feel free and skip it and opt for something more compatible. They will work, but it’s complicated to go into getting them running for what we are talking about here. If the site just says “LoRa” and “915Mhz” you should be good.
For the standalone LoRa device: LilyGo T-Deck $50
I went with a LilyGo T-Deck, which is a Blackberry clone with a scroll ball, and a full keyboard, along with the LoRa capabilities. If you are just starting and don’t feel comfortable with electronics, this might look a little intense. I would recommend getting some extra parts to make it better, as the antenna that it came with is fine, but isn’t your standard SMA (screw-on type) antenna.
If you buy them from Lilygo, you will want the 915Mhz model.
(Optional) I recommend getting an IPX IPEX-1 U.FL to SMA Female Pigtail adapter, that will fit on the board’s antenna slot and allow you to use a proper external antenna.
And also recommend getting a set of larger LoRa antennas tuned for 915MHz. You can get any antenna tuned for 915MHz, it doesn’t have to say LoRa, but for ease you can just search “LoRa” antenna.
(Optional) If you want it to have a standalone battery pack you can get any 3.7 volt battery with a JST connector. This will let you have an upgraded pack with a rechargeable battery, long-distance antennas with the ability to switch to even larger ones on the fly, and make it easy to carry.
Alternatively, you can scrap these from other electronics, they are found in pretty much every small electronic device and a trip to a thrift store or a dumpster dive might yield a bunch of these for free.
Because I have a metric fuck ton of rechargeable battery banks, I didn’t get a battery. The T-Deck will run off a USB-C cable and can run on pretty much any USB power source. A portable battery bank will also be able to charge other devices and can sometimes have an attached solar panel to change it in the sun. So an internal battery isn’t really necessary unless you want to have a truly all-in-one device. I like the option to carry one power bank to power multiple things. But you do you.
Advantages
Can work as a completely standalone LoRa messenger. No phone is required. Just runs Meshtastic and you can type out messages.
It can broadcast messages pretty far, it’s a larger board and the antenna can be upgraded giving it better range.
3D printed cases can make it look like a polished device and it’s rugged enough to take into the field.
By default has acknowledge turned on, meaning it will play a ringtone when you get a message, which is nice to have and works like a phone.
Disadvantages
Only sends LoRa messages, can’t really do anything else but that’s the point of a standalone device.
It requires some upgrades and extra parts to really get rolling with it. It has a ton of extra bells and whistles but an antenna swap is needed.
Kinda annoying to use without a case. I 3D printed a case for mine, but without a case it’s kinda a pain to move around and type. Though you can make a case out of anything (recycled bottles, cardboard, whatever).
Super portable and cheap LoRa device to connect to a phone: LilyGo T3 ($23) or T-Beam($30)
For testing, I also went with a LilyGo T3 that costs about $20 USD. It’s super small and runs off USB. It has a proper SMA antenna port to swap antennas at any time. It also has a screen that will read off messages. Super cheap, super small, and perfect for LoRa applications.
If you buy one from Lilygo select the SX1276 915Mhz model. 915Mhz will work with Meshtastic.
The T-Beam is similar but it’s slightly more expensive. But it can run without external power using a 18650 rechargeable battery and has slightly better transmit strength. This is a solid contender if you want a middle ground between the T3 and the T-Deck, of having the portability but also the power of a somewhat standalone device. Again, I opt to use external power banks or direct solar power, so I went with the T3 to start.
Also recommend getting the antenna mentioned in the T-Deck section that is tuned for LoRa at 915MHz. Those antennas will work best and maximize range and lower jitter, but other external antennas might work alright. It depends, most external antennas that will fit the SMA connector are meant for WiFi (2.4GZ + 5GZ) and are tuned for higher frequencies, while it might work, it’s not as good as a tuned antenna and may cause transmission issues.
You need a phone to use the T3, it pairs with Bluetooth so you can use the Meshtastic app on your phone to control and send messages. You really just need any device capable of downloading the Meshtastic mobile app from the appropriate app store. You can also control it over a Python CLI in Windows and Linux for all you nerds, but the mobile apps are way easier to use.
Once you have Meshtastic flashed to the device and the app or control CLI downloaded, you are ready to pair and send messages.
Advantages
Smaller in scale and is super portable.
Can be powered using any USB power source.
Has a screen to view messages.
Connects via Bluetooth to your phone so it feels like a normal texting experience.
Disadvantages
No cases are available, you have to 3D print or make one.
Requires a phone to use properly (unless you use a command line to work it), meaning older phones that can’t access app stores (ahem Apple) will not work as clients. Not everyone has a phone and it’s just a downside that you need another device to control it.
3D Printing Cases
Recommend printing the parts at 100% infill. 40% infill made the snaps too brittle and I had to CA glue the frame to get it to stick.
Feels really nice and has extra space for a battery. You need the SMA cord mentioned above to reach the case top, but it works pretty well.
I updated the link to the design here. It was deleted after originally posting this! But I still had the files on my printer’s SD card.
LilyGo TTGO T3 Case on Thingiverse:
Recommend printing at 100% infill.
The case fits well but there is some slack if you don’t add a battery. I filled the space with a piece of paper and it fits correctly.
Has a nice clip part to attach to a bag.
Not everyone has a 3D printer or has access to a 3D printer (though I recommend getting one, they are really useful) there are some other options for getting a nice-looking case.
Buy a print at an online 3D printing shop. Can get expensive, send them the STL file and the info you need and they will print and ship it to you. If you are doing cases for more than 4 devices, just get your own 3D printer. With a single roll of filament, you could print like 50 -100 cases for $20.
Check out your local library. If you live in a metropolitan city/suburb, check if any libraries offer 3D printing services. Usually will be free with a library card. You might be able to go to another city or county and pay a few bucks to use their 3D printers.
Check to see if you have a local makerspace near you. Makerspaces will have 3D printers, you might have to take a training class but it’s also good to learn and usually it’s really cheap to do one off prints or if you get a membership you have access to a ton of other tools.
If you are a college student or work for a school, check to see if you have access to a 3D printing lab. If you go or work at a college (or sometimes high schools) you may be able to use a 3D printer there.
Ask in local 3D printer meetups or local 3D printing groups. People in the 3D printing community love to help others, and if you just ask to learn and want to make some prints, someone might say yes and let you shadow them to learn, or will just print it out for you.
Recommended hardware: LilyGo T3 ($23) , T-Beam($30), or T-Echo ($54)
The T-Deck is pretty cool but only if you want to save energy or just want an all-in-one device. The T-Echo comes with a case but again, requires a phone. It’s cool to have a built-in keyboard but the LilyGo T3, T-Echo and T-Beam are cheaper and more convenient. The downside to the T3 and T-Beam is that they require a phone to actually use so it’s another thing to charge. Not a big deal, but something to be aware of.
There are other boards you can use, but I haven’t personally tested or used them. But here is a list of various boards that might also be worth considering.
The Heltec also comes with a case, so that is nice:
https://heltec.org/project/wifi-lora-32-v3/
Other devices are available from indie developers and builders, keep in mind these are mostly custom builds but they will use specific board types so figure out what it’s built with so you know what to select when flashing.
https://www.tindie.com/products/neilhao/meshtastic-mesh-device-nano-g1-explorer/
M5 stack with a LoRa attachment:
https://shop.m5stack.com/products/esp32-basic-core-lot-development-kit-v2-7
https://shop.m5stack.com/products/lora-module-868mhz
I might pick up an M5 Stack core because you can swap out the modules and it’s super cool. You can change your Meshtastic node to an air quality monitor and they have a bunch of extra sensor add-ons.
Flashing your new hardware with Meshtastic
Next, you will want to get the Meshtastic firmware on your device. These instructions will change depending on the exact device/model you have but in general, you need to hold a specific button down while plugging your device into a computer. Then use Chrome or Edge to go to Meshtastic’s web flasher site. Select your board and version, press a button, and boom. You now have a working Meshtastic node. I will go into more detail but that’s pretty much it to get it running. I’m not covering CLI installations or specialty edge cases, if you want to use the CLI - you are technical enough to read the docs and figure it out. I want to make an advanced article to go over how you could download the software to flash devices with no internet but that will come later.
OK now for the details!
LilyGo T-Deck Meshtastic Flashing
You will need a computer to do the initial setup and an internet connection. Google Chrome or Microsoft Edge is required to use the web flasher, Firefox doesn’t allow connections to the proper ports we need.
Set the power switch to the “off” position.
Plug in your T-Deck into the computer.
Hold down the trackball for around 3-5 seconds while switching the device on.
The screen will be black and not go to the default firmware. The LEDs will flash and will tell you that it’s ready for flashing.
Go to https://flasher.meshtastic.org/ and select “T-Deck” under the device dropdown.
Select the latest firmware in the “Stable” category.
Click flash and select the proper COM number. Typically this should only have one option but it should say “USB JTAG”.
Wait for the flasher to finish and the T-Deck should boot to Meshtastic.
If you learn better with videos, here is a good one that goes over those steps.
Initial config of Meshtastic
Next, you will change the name of your device which is basically what other nodes will see on the network, along with your location settings to properly set the time.
Turn your device off.
Turn the device on.
Click “new connection”, go to the serial tab, and click on “New Device”.
Select your T-Deck (The COM port name may have changed).
Once connected go to config » radio config »LoRa» And set your region.
Press the save icon in the top right corner. This will cause your device to reboot and you will have to refresh the page.
Do steps 3-5 again to connect the T-Deck, no need to add a new device just select your existing one.
Edit the device name by clicking the edit button in the top left.
Set a “Long Name” and a “Short” name, this is how other nodes will identify you.
Once you hit save the device will reboot again and you will need to follow steps 3-5.
You now have a running Meshtastic node with a custom name and can Broadcast messages!
Skipped to the initial config in the video below.
Using the T-Deck to send messages
The T-Deck is super simple to use. Start typing your message out and it will appear on the screen. By default messages will go to the broadcast channel, sending messages to any nodes that can be contacted.
If you have another node nearby and want to DM them, while you are typing a message use the trackball to move over to their name. My other device is listed as the recipient at the top.
You can also reconfigure things using the mobile app, setting that up is a little later in this guide.
LilyGo TTGO T3 (Also works for T-Beam) Meshtastic Flashing
You will need a computer to do the initial setup and an internet connection. Google Chrome or Microsoft Edge is required to use the web flasher, Firefox doesn’t allow connections to the proper ports we need.
Set the power switch to the “off” position.
Plug in your T3/T-Beam into the computer.
Hold down the RST button while turning it on, keep holding for at least 3 seconds.
The screen will be black and not go to the default firmware. The LEDs will flash and will tell you that it’s ready for flashing.
Go to https://flasher.meshtastic.org/ and select “T3” under the device dropdown.
Select the latest firmware in the “Stable” category.
Click flash and select the proper COM number. Typically this should only have one option but it should say “USB JTAG”.
Wait for the flasher to finish and the T3 should boot to Meshtastic.
Configuring Meshtastic for the T3/T-Beam
Next, you will change the name of your device which is basically what other nodes will see on the network, along with your location settings to properly set the time.
Turn your device off.
Turn the device on.
Click “new connection”, go to the serial tab, and click on “New Device”.
Select your device (The COM port name may have changed).
Once connected go to config » radio config »LoRa» And set your region.
Press the save icon in the top right corner. This will cause your device to reboot and you will have to refresh the page.
Do steps 3-5 again to connect the device, no need to add a new device just select your existing one.
Edit the device name by clicking the edit button in the top left.
Set a “Long Name” and a “Short” name, this is how other nodes will identify you.
Once you hit save the device will reboot again and you will need to follow steps 3-5.
You now have a running Meshtastic node with a custom name and can Broadcast messages!
Download the Meshtastic mobile app.
Go to the “Bluetooth” tab and connect to your new Meshtastic node. This will subscribe the device to the mesh network.
Sending messages using the mobile app
You can broadcast messages to other Meshtastic devices that are either in range - or are reachable through the local mesh by going to the “Messages” page and clicking “Channels”
To send direct messages to someone specific, click “Direct Messages” and select your recipient. After you establish contact, you can save their name and message them directly just like a normal chat/text message.
Meshtastic works on a broadcast-based system, which is how messages can be sent through the mesh. Though you might send a direct message to another node, really what is happening is a message is being broadcasted and a flag is added that says “Any client other than the recipient, ignore this message”. Meshtastic will filter out direct messages so they route to the correct recipient.
Keep in mind that these messages aren’t encrypted yet!
We will set up encryption in a bit. An interesting thing is that channel 0 (the default broadcast channel) is actually encrypted already - but it uses a default encryption key that every new Meshtastic device automatically has after the initial installation.
If you want to set up an encrypted channel you need to create a new channel, set an encryption code, and share that with your recipient.
Encrypting Messages
To send encrypted messages you need to create a new channel, this will generate a new encryption key that can be shared with other members of your group through a QR code if they are using a control device like a phone or a laptop - or by manually setting the encryption key string. This makes it easy to share encryption keys with other people, once their LoRa device has a matching key - your communications are fully encrypted. Meaning no one can read the contents of your messages without having that key. This is the standard if you’re messaging about anything sensitive.
Create a channel
With your device connected go to “Settings” » “Channels”» and click ”Add Channel”.
Next, you will need to:
Name your channel
Set the Key Size. I recommend keeping this at the highest (default) bit size of 256 bits.
Keep the “Channel Role” as secondary.
Leave “Uplink” and “Downlink” disabled.
A new channel will be available in the “messages” tab. Now you need to share your key with your friends/affinity group. You can give them the key if they have something like a T-Deck that requires a computer to change the config. If your friends/affinity group have LoRa devices that can sync to their phones, you can show them a QR code that they can scan and get the encryption key.
To do that go to “Settings” » “Share Channels QR Code”
Now your friend can scan the QR code and get the encryption key. Then you can send encrypted messages to each other.
Some valid security concerns can come up. That will be included later in the Security Concerns section.
Repeaters, routers, and extending mesh networks
To make a mesh network stronger, you need to add more nodes. Each node doesn’t need to be a client - aka able to send and receive messages. Some nodes can be made into repeaters that will just forward messages. Repeater nodes act like network extenders, all they do is take messages and pass them on. They are great for just relaying messages to another point that might have better range, or just relaying to extend the reach of the mesh network. The more repeaters or clients on the mesh, the larger distance is covered combined with line of sight distance.
Setting a device to “Router and Client” mode lets the device act as a repeater for the mesh while also being able to be configured over Bluetooth. This means you can set up the node and add encrypted channels (if you set the Bluetooth settings to a specific passcode).
Get the cheapest LoRa device you can find, Heltec makes the cheapest LoRa board and it has a screen and Bluetooth so you can set it up just like a T3 or T-Beam (using the right firmware).
Set it up using the steps above (select the right board though) and connect to it via Blueooth using your Meshtastic app.
Then go to “Settings” » “Device” » “Device Role” » and select “Repeater” or “Router & Client”
Repeater mode is good and will save energy by filtering out data, but it will only repeat broadcast messages and won’t repeat encrypted communications.
Router & Client mode is best because it still acts as a repeater while also letting you set encrypted channels if you are in Bluetooth range to reconfigure things.
Powering your LoRa devices / Mesh networks
All of these devices run on USB power so it gives you plenty of options to power these devices. Power consumption will depend on how many messages are being sent, the screen size, and the amount of storage available if a battery is being used.
You can run these nodes off a bunch of power sources as long as they have USB power:
Directly off portable solar panels.
Power from portable battery banks.
Power from portable battery banks with built-in solar chargers (very useful)
Power directly from solar charge controllers (depends on the model)
A computer USB port.
A phone’s USB port.
A 12 volt to USB adapter to power devices off car batteries and deep cycle batteries (very useful)
A USB wall charger for a phone or any device.
Anywhere you can find a USB port with power, you can power a node.
Direct from portable solar panels
You can run devices directly off the power of the sun, I have a portable solar panel that has two USB outputs on the back from Harbor Freight. I would only get that if it’s on sale, I got mine for $20. Any portable solar charger will work. A cheap 10 Watt foldable panel can power a LoRa device and charge a phone (if it has two USB charger ports).
The obvious downside is when there isn’t any sun, or if something blocks out the panel like a cloud, power might get cut. The upside is there are no batteries and with something like a T-Deck you could just carry these two things and be able to message people.
Power from portable battery banks
I use battery banks every day to charge my phone and devices on the go. Keep in mind that if you wanted battery storage for a small portable solar panel, this is a great way to go. Charge the bank with the power of the sun, or charge it on grid electricity at home, or in your car. Most battery banks have an insane amount of power storage and can run a node for multiple days depending on how big you go.
Power from portable battery banks with built-in solar chargers
Get the best of both worlds with a battery bank that can recharge itself using a built-in solar panel. These things are pretty durable, I hike with one on my backpack to charge in the sun and use it at night. It also has a nice flashlight and two USB ports. You can get any solar charger like this for pretty cheap and the battery life is alright.
The absolute GOAT for emergencies and camping is the LuminAid lantern.
Has a solar panel and MicroUSB charger, USB power out, it has a battery bank to charge and power devices, and it opens into a lantern that can give off a crazy amount of light. It also floats and is water resistant. Also not that huge, it’s similar in width to the solar battery bank and folds flat.
Power directly from solar charge controllers
Even the cheapest solar charge controllers for larger PV solar have USB output power. I go over how to make a DIY off-grid solar setup in the article below.
A 12 volt to USB adapter to power devices off car batteries and deep cycle batteries
In really bad emergencies it would be handy to have a 12 Volt switch panel. You can attach these to any 12 Volt battery usually: car batteries, boats, golf carts, and really anything large that uses a battery more than likely has a 12 Volt battery.
Attach the red to red (Positive to Positive) and black to black (Negative to Negative) and you can charge and power devices directly off a car battery.
It even has a volt meter to measure how low the battery is and two USB power slots with a switch.
Boosting/Amplifying Signals
As I recommended earlier, getting bigger, better, and tuned antennas will help with messaging. There is a balance of distance, line of sight, transmission strength, and antennas that determine how far a signal can travel and make it to the next node.
Antennas
You can use any external antenna and things might work, but for optimal transmission and receiving, get an antenna that is tuned for LoRa at 915mhz. The antenna I mentioned earlier is great because it’s portable and really boosts the range.
You can go even bigger, I picked up a $32 aluminum LoRa antenna that can connect directly to a LoRa device. It’s meant for long-range communications and is small enough to fit into a backpack to move it around. It comes with mounting brackets to attach it to a pole so you could always attach it to an existing antenna array on a building’s roof or even to a tree.
Amplifiers
A $30 LoRa amplifier can boost the transmission and receiving strength depending on the voltage given to the amp. You could get a 800mA transmission boost by wiring it to a standard USB cable for power. Higher boosts like 1000mA (5 Volts input) and 1500mA (6 Volts input) can be gained but these require voltages outside of USB power and will require a voltage regulator if you are using 12 Volt batteries. You can run this at higher voltage off solar power stations if you have an inverter and a sacrificial 5 or 6 Volt AC power plug. You can find these everywhere, they look like those random power bricks everyone has lying around. You could find some at thrift stores or even dumpster diving in places. Most will list the output power on the back of the plug.
Some amplifiers can work on multiple frequencies too, so it has multiple purposes for all the electronics/RF weirdos and hackers.
Signal Bouncing
You can also bounce radio signals (LoRa included) off other objects to throw the waves farther or make them more directional. Yagi antennas are standard but you can do weird shit like bouncing waves off parabolic dishes like satellite dishes. I did that with some Ubiquiti long-range WiFi dishes and bounced the rays off a parabolic solar oven to get a non-line-of-sight connection. Plus if the sun is out you can cook food with it, perfect for when you don’t have power/gas for an oven.
OpenSourceLowTech also did something similar by making a large parabolic antenna with chicken wire.
Use Cases
There are a couple of scenarios and situations where something like this might be useful. There are other options, and I want to stress that your strategy should be tailored to your environment. By other options I mean diversify your communications plan. Radio is fine but not everyone has access to HAM radio or is licensed or has the knowledge to understand how to use these systems. You also can’t encrypt communications so in situations where operational security (OPSEC) is important, you need other methods.
I see some use cases across major topics, each one has some subcategories or special circumstances. This isn’t exhaustive but a place to start.
Climate/ Natural Disaster Emergencies
Protests and Civil Unrest
Conflict/War Zones
Climate/ Natural Disaster Emergencies
As the climate crisis intensifies and governments and corporations essentially leave us to die to profit and maintain control and power, we will see increasing numbers of natural disasters triggered by the collapsing climate.
This isn’t a doomsday prepper fantasy, but a real issue that billions of people will feel the impacts of. Having the unfortunate circumstances of living in Texas, I lost power in the winter storm of 2021. 246 people died as a result of the storm, and that is a low estimate. Thousands of people had pipes burst and their entire homes and apartments were ruined. During this nearly state-wide blackout, communications infrastructure started to fail, almost everyone lost internet access due to power loss. Though most people had access to LTE/Cell phone service, some providers were knocked offline when cell towers lost power. With no reliable internet and cellular coverage, many people were stranded without access to clean water as the water sanitation plants in areas shut down due to the lack of power.
I’m using this as a personal example. Infrastructure is impacted during every natural disaster. Power, water, sanitation, communications, transportation, everything is impacted by climate collapse.
It was during this time that I saw mutual aid groups in Dallas start to distribute food, water, and information even before the National Guard rolled in. Driving through icy roads to help people who had a phone that had enough of a charge and service to contact someone to get help.
Now imagine if there was a diversified mesh of not just communications infrastructure but power infrastructure as well. People could communicate over radio with people who had access. A LoRa messaging mesh could bounce signals across the metroplex, making it easier for localized groups to communicate and coordinate disaster recovery and mutual aid efforts. Each localized group or person who was tapped into the network would have a way to power devices, and more importantly, power their neighbor’s devices. Using generators or off-grid solar systems to run heaters and create warming stations. I talk about creating DIY microgrids to not only power local servers and communication stations, but also to help charge their communities devices, run heaters, run medical equipment, all with cheap off-the-shelf parts.
Protests and Civil Unrest
We are seeing fascism grow across the world. Increasing social instability caused by the failures of capitalism combined with the ongoing climate collapse. We are dealing with record income inequality as those who own the means of production constantly exploit the working class: the people who actually do the work to keep things running. Militarized police forces murder unarmed BIPOC citizens and clamp down on those who speak out against these injustices. Imperial powers bomb civilians, or help fund these genocides - using the militarized police force at home to quell protests against genocidal, mindless violence. We are living in extraordinary, dangerous, and often - bleak times.
And yet there are people who not only speak up - but directly act to change this world and the systems of unjust hierarchy, domination, and violence. To protest these injustices of the world, to build social and political movements for a better future, to oppose the destruction of the environment, and to stand against genocide and war, makes you a target. It makes you a threat to the establishment of power, capital, domination, and violence.
Those of you who have protested know the insane lengths police and the state apparatus will go to, using methods that are banned by the Geneva Convention during warfare like using tear gas. Using LRADs and other technology to “disperse” crowds, aka attack civilians. Their tactics don’t stop there, surveillance is at the tip of the spear.
Police departments and federal agencies have access to devices to track who has been to a protest, and to identify, track, or charge people with crimes. There is a reason why you hear people say “Don’t bring your phone to a protest”. That’s because each phone has an IMSI number or a unique identifier attached to it. This number can be used to track your movement via cell phone towers. Police, states, and militaries have Stingrays, small devices that can simulate a cell phone tower, making every phone in an area connect to it. Not only would this disclose your IMSI identifier, but all unencrypted traffic could be viewed with a “Dirt Box”. This includes SMS text messages - which are not encrypted.
https://theintercept.com/2020/07/31/protests-surveillance-stingrays-dirtboxes-phone-tracking/
Even if you are using encrypted messaging apps like Signal, you can still be identified and tracked based on your IMSI number, or targeted for more surveillance.
You can opt to not bring a phone and instead stick to radio communications. But radio can’t be encrypted, meaning anyone who is scanning common frequencies could listen in on your conversation.
A mesh LoRa network used by affinity groups/protest groups can let everyone send encrypted messaging without a traceable cell phone. This is a situation where the T-Deck shines because you can get your encrypted channels set ahead of a demonstration and show up with just the T-Deck and no phone and still be able to send encrypted messages to the group.
Security Concerns
I’ve seen a couple of comments here and there about the fact that if a device gets taken, or falls into the wrong hands, they can read encrypted messages. The same thing is true of any encrypted device like a phone however, there is a concern with someone getting ahold of the LoRa device itself and seeing the messages being sent on the LoRa device’s screen. Even with encrypted messages, a device like a T3, T-Deck, or T-Beam will show the received message on the device’s screen.
If this is a concern (like at protests or in conflict zones) be sure that sensitive communications are brief and only sent when needed. For good Operational Security (OPSEC), it’s recommended to have an agreed-upon safe code that each person knows that is sent before something very sensitive is shared. Make sure this is something only trusted members know.
It could be a code word or an agreed-upon password or phrase.
“Hey Jane, got something sensitive to share.”
“Chestnut-Eagle-Button. What’s up?”
“Thanks, we dropped off extra water by the large tree in the park.”
Then clear the chat history.
Before a protest, clear the chat history.
Don’t use your real names, use screen names or code names, if a real name is sent, clear the chat history.
If a person doesn’t respond with the proper passcode/password/passphrase assume they are compromised and roll the encryption key on the channel by going to “Settings” » “Channels”» Select the proper channel » Press the key generator button.
Then request all other verified members switch encryption keys, either in person or by sending them a message (if other services are online).
In a pinch, you could send the encryption key in a DM, but keep in mind that anyone who is monitoring LoRa frequencies may be able to view that key being sent in transit. It’s a risk, but in order for that risk to become an issue the threat actor has to:
Know LoRa is being used.
Have the hardware to even pick up LoRa signals.
Have the technical experience to eavesdrop on LoRa signals and decode them.
Your average police department more than likely doesn’t have LoRa equipment, nor is trained to intercept LoRa signals. However, militaries and federal agencies have the funds and resources to have LoRa equipment and the money to train agents on how to intercept signals.
I don’t recommend sending encryption keys over unencrypted channels. Honestly never do it unless it’s a situation where someone is in danger.
If chats are routinely cleared of sensitive and identifiable information, and a verification code or passphrase is used: even if someone has their device captured, nothing can lead back to the other members.
Specifically for protests, if you are in danger of having a LoRa device captured - do not factory reset the device. I’m not a lawyer and this isn’t legal advice, but if you factory reset the board before being detained and and are charged with a crime - they may use the fact that you wiped the device against you. Have good data practices and you won’t need to worry about devices falling into the wrong hands.
I want to reitterate. I’m not resonsible for what people do with this information. If you do illegal shit - that is entirely on you. Nor am I saying you should do anything illegal. This is publicly available information.
LoRa devices do have identifiers based on their long and shortcodes. These should also be changed after every demonstration. There are ways to track down a LoRa signal, because Meshtastic will send connection strength data when a message is sent, which can be used to pinpoint who nearby is running Meshtastic.
It’s recommended that if you want full security to remove the default channel in Meshtastic and only stick to your own encrypted channels. This means that a threat actor can’t message your device with broadcast messages to see the signal strength if the default channel is removed. Meshtastic also stops range requests by default, so unless you turn that on, it will be hard to track you down unless they have LoRa equipment to figure out the location of any LoRa signal. Again that is an edge case, and even if they were able to see you were sending LoRa data, they would have no idea what you are sending.
Civil Unrest / Growing Fascist Militias
Leftists not only have to contend with the police, the federal government, and intelligence agencies, but increasingly right-wing militias are also becoming a technical problem.
For example, community defense organizations like The Elm Fork John Brown Gun Club routinely show up to defend/counter-protest fascists and religious right-wing militias who harass events like drag shows and LGBTQIA+ spaces.
At large protests, there is a phenomenon that happens when too many people with cell phones are in proximity in one area, where service drops and you can’t get a signal. This can impact communications and require a radio backup. But again, radio communications can’t be encrypted, and not only can police listen in - but fascist militia members themselves can listen as well. If you know anything about right-wing preppers and fascists, it’s that they are very interested in radio communications. Watch any firearm or right-leaning prepping channel and you will see them using radios, not just to communicate but to intercept transmissions from LGBTQIA+ defenders, people protesting for Black lives, people protesting the genocide happening to the Palestinians, anyone they oppose. With the goal of identifying people and targeting them for harassment.
At the moment it’s harassment, snitching to the police, or doxxing leftists that’s the main concern. However, if you watch right-wing and fascist groups and look at their internal messages - they want to kill people. That is the end goal of fascist ideology, and it’s reflected in their internal messaging to each other. Many fascist group chats have been infiltrated in the past- and in a fascist’s ideal world they wouldn’t just snitch to the police, they would shoot on-site. And they say it plain as day in their chats.
As right-wing religious extremism and fascism grow in the US and across the globe. We will see increases in domestic terrorism, hate crimes against racial and religious minorities and the LGBTQIA+ community, a rise in antisemitic attacks, and direct attacks on infrastructure.
https://unicornriot.ninja/2022/the-far-right-fascination-with-the-electric-grid/
In the event of large-scale civil unrest caused by right-wing religious and fascist attacks, it would be good to have resilient and secure infrastructure to combat this.
Attacking critical infrastructure also overlaps with the realm of conflicts, wars, and occupations.
Conflicts/War Zones
In every modern conflict/war/occupation, the first targets of attack tend to be people and critical infrastructure.
Power, water, food supplies, sanitation, transportation, communication, education, and health care are targeted first - to cripple the ability for an insurgency or rebellion to form, to demoralize the people being targeted and killed, and to act as a method of control. This control comes after the destruction of critical infrastructure. The power is out, no one can communicate the horrors on the ground, hospitals are bombed or inoperable, schools are destroyed or shut down, sewage isn’t treated, and transportation networks are destroyed. The occupying force then comes in to “rebuild” the country and “make it better” by replacing the infrastructure that once existed with their own. The occupying force bombs civilians and civilian infrastructure then says “Wow you all lack basic services, let us be the heroes and get the lights back on" combined with counterinsurgency tactics to smear any opposing forces.
We are seeing that in action with the ongoing conflict and genocide targeting Palestinian people, with the Russian invasion of Ukraine, the situation happening in the Congo, and with the civil war in Sudan. What are the first things destroyed? Critical infrastructure. They say this is to halt military action, but how does bombing hospitals full of civilians impact military operations? They don’t - it’s pure genocidal violence.
A media blackout is also part of warfare. The worst situation is for an occupying force to lose their grasp on media coming out of the invaded areas. On-the-ground videos from Palestine show the reality of the conflict, they show the brutality and the death. With critical infrastructure gone, there aren’t easy ways for people to get information out of the conflict zone. You can’t call or text your friends to tell them where the nearest safe area is, or where important supplies like clean water and food are. Sure footage gets out, but that is reliant on the footage and information making it out of the battlefield.
Being able to communicate can be a life-or-death situation, and distributed, autonomous infrastructure can help in these situations to relay important information to civilians and help keep people alive. This isn’t just about communications, but water, power, food, and all of the critical infrastructure.
Following some of the security tips listed in the protest and civil unrest section, civilians in conflict zones can set up solar-powered, encrypted communication networks that don’t rely on destroyed or intermitted infrastructure.
Getting information across extremely long ranges will be difficult unless a mesh network is established enough in an area. But in conflict zones where even food is hard to come by, expecting a mass mesh network system to work would be short-sighted. Instead, small groups can maintain communications and disperse information to other civilians about the location of food, water, or safe areas.
Data runners or information runners could maintain communication nodes in different areas, transmitting data when they can and hopefully picking up another node within range. This can work along aid and transport routes between cities/villages.
Next Steps: Revolutionary action to build autonomous infrastructure - autonomous infrastructure to help with revolutionary action
Our social and political systems directly influence society, the ecosystem, and the infrastructures that make life happen. Social and political systems based on maximizing profit at the expense of all else will create systems and infrastructure that maximize profit and operate at a minimum expense. What’s been created is a system designed to extract everything from the ecosystem, to drive profit, and the infrastructures to make that system run (power, water, sanitation, communications, transportation, education, and healthcare) are done at the bare minimum to lower expenses. This means that workers are paid pennies for their labor, it means that economic growth and corporate profit are made by extracting as many resources as possible from the ecosystem. Even we as human beings are treated as a resource to be extracted for profit. Our power generation systems use the cheapest and most destructive fuel - fossil fuels - to maximize profits at the expense of all life on this planet. Our water systems have been poisoned by profitable and destructive agricultural processes, and the available clean water must be purchased with wages that are extracted from the short time of your life. Our communications systems work the way they do, to maximize profit. Our transportation networks are built the way they are to maximize profit. Our education systems are the way they are to maximize profit and churn out obedient workers. Our healthcare is designed to maximize profit and leave those without the means to pay to die.
Things can be different.
But technological change and changing the frameworks without social and political change will bring us back to the same place. Just with more solar panels. We have to change both social and political systems - and infrastructure systems to truly create a better and liveable future. But these infrastructure changes can also influence social and political change, by changing how we do things and by changing why we do things to influence change. It’s a circular process.
We need to take back control of what it means to live by collectivizing, decommodifying, and changing every system we interact with in our lives. Building mass political movements is easier when we address core parts of our lives and use our social and political frameworks to influence them. Building a mass political movement is easier when people don’t have to worry about their food, if they can afford their water bill, if they can afford to keep the lights on, etc. All of this is the carrot being dangled in front of the proverbial horse. You are promised a great life if you create profit for someone else. Take the carrot away, and take it back.
What I mean is that decommodifying access to resources takes the power away from corporations and states to control us. Being ungovernable means building autonomy, taking back the commons, and making sure all people have access to what they need. This can start small and snowball into larger things. Housing autonomy might look like squatters taking control of empty real estate to give free housing to anyone who wants it. It might look like land expropriations from corporations to build low-cost, low environmentally impactful housing out of natural materials like earthships. It might look like retrofitting and modifying urban and suburban areas to regenerate the local ecosystem rather than destroy it.
That type of change would bleed over into food systems, by creating permaculture and regenerative systems where there once was just turf grass or empty lots. With more people housed and with access to fresh food around them, it makes it easier to address food insecurity. We fight off the landlords and the police, we turn every patch of empty grass back into small native ecosystems. We slowly take money away from the profit-driven and destructive agricultural systems by growing food wherever we can. That change has an impact on our water systems, as more life is introduced into the soil with regenerative practices, the soil absorbs more water and keeps water in. Adding more plant life allows water to be slowed down and allows it to refill ground aquifers and water tables. More people see the direct impacts that housing and food systems have on their lives and understand their connection with nature at a wider scale.
This feeds into ecological protests, direct action, and acts of rebellion when it comes to stopping new fossil fuel developments, and shutting down existing ones. We instead turn to autonomous infrastructure that is made on a human scale instead of industrial-sized, centralized, and inefficient power production and transmission techniques. These areas where housing was expropriated, built, and retrofitted have their own electrical generation through community microgrids. Democratically maintained and owned by all people, not a corporation. To build encrypted communications systems we have to think about how to power them. There is a synchronicity between these things. By creating autonomous power generation it makes communities more resilient to climate change, and it makes it harder for states, corporations, police, and military forces to control people. These autonomous systems feed off each other and allow for other actions to grow and spread.
You get the point. A revolution isn’t just about social and political change - but change in all parts. By taking steps to make autonomous infrastructure, you make it easier for political action to take place. Because the mechanisms of control are taken away. On the flip side, we can’t just run infrastructure in the same hierarchical and gatekept ways we always have and expect a different result. We have to rethink how these things are run to be collective, equitable, and democratic.
Infrastructure change alone won’t change things. But doing direct action, building collective political power, taking action to make things happen - is easier when we take control of our food, water, shelter, educational systems, healthcare, communications, transportation - all of it.
Seizing the means of production and collectively living as equals means seizing the means of everything that lets us live, thrive, and be happy. We have to seize the means of control over the biosphere away from those who want to destroy it for profit and learn to live alongside the ecosystem rather than destroy it. We need to learn from fungi. Create nodes that reproduce more revolutionary action, spread the mycelium network out, share resources with not only each other but also nurture the environment around us, take the decay, and turn it into new life.
This is epic work! I am keeping this bookmarked for when we start connecting Regenerative Neighborhoods in my BioRegion!
Thank you very much for the detailed guide! So excited to be setting up some more mesh networks throughout Texas!