IRC Over LoRa, For When Things Really Go South

As a society, we’ve become accustomed to always-on high-speed data connections, whether we’re at home on the computer or out and about with a mobile device. But what happens if a natural disaster knocks out the local infrastructure? Sure some people will be able to fire up their radio if they need to reach out and touch someone, but even among hackers, hams are a minority. What we really need is a backup Internet.

The team behind the CellSol project hopes to show that building a volunteer-operated distributed communications network is not only within the capabilities of the hacker community but probably much easier and cheaper to do than you might think. Each node in the network, known as a Pylon in CellSol parlance, can shuttle data between the LoRa backbone and WiFi-enabled devices like smartphones and computers. Once the network is up and running, users don’t need any special hardware or software to use it.

Now to be clear, nobody is talking about surfing the web here. When a user connects to one of the ESP32 Pylons, they’ll be able to access a simplistic chat system through their browser. If the Pylon has an active Internet connection the chat can be bridged to an IRC channel. Without Internet connectivity, the pylon will simply give users on the CellSol network a means to communicate among each other. To keep things simple there’s no user names, private messages, or encryption. This is bare-bones, end-of-the-world style communication.

Want to join the CellSol revolution? All you really need is an ESP32, a LoRa radio, and the open-source firmware. If you get something like the Heltec LoRa 32 development board, you don’t even need to solder anything together. Just flash the board and go. Once you have a few Pylons going, you can also put together a cheap repeater node using a LoRa equipped Arduino. Both devices are small and energy efficient enough that they could easily be battery or solar powered. As you can see in the video after the break, the team even envisions a future where they could be dropped off in public areas via drone.

This isn’t the first time we’ve seen the ESP32 used to establish an off-grid LoRa communications network, and like those previous attempts, it’s usefulness will largely depend on how many people you can convince to set up their own nodes and repeaters. But if you’ve got some open minded friends who live relatively close by, this could be a great way to have a little chat.


74 thoughts on “IRC Over LoRa, For When Things Really Go South

  1. I think the main backbone we need is long-range WiFi links, but if the SHTF for real, we probably want a backup for the backup so…

    I’m all for constructing additional pylons!

    The only issue is that anything that isn’t that useful during peacetime needs a strong community to make sure it’s available in an emergency, and people don’t just get tired of it before then.

    1. backup?
      how create a backup linux? sorry, no one can create backup simple open source system linux.
      for example ubuntu, debian, fedora
      how download all package, system for creating package, many gems, pip etc.
      backup? without github gitlab etc? today not possible

      1. Look into Linux From Scratch (LFS). This isn’t a Linux distribution, per se, since the “distribution” is nothing beyond links to the source code for the essential packages. With LFS, you always know what version of each package you’re running, because you build it all yourself from the source code. Even the kernel, even the gcc compiler. LFS is essentially a book that tells you how to build a Linux system from source code, and every package included has been tested to ensure that it can be built without errors. The packages are really just sets of instructions for building each package, including patch files where necessary (and for MOST packages they ARE necessary, which is why you need the book). But as with other Linux distros, you are not limited to the packages they provide; you can add any other package that you can get source code for.

        LFS exists because even though everything in Linux is supposed to have its source code free and open, quite often the build instructions just don’t work – the developers make changes as needed on the fly, and don’t always update the instructions, or they have libraries on their system they forgot to tell you are needed. So when you do add non-LFS packages, you still get to go through the frustrating-to-infuriating process of getting them to work the first time, but once you’ve done that, you have a set of source code you KNOW works.

        This is the way to go to have a computing system that you can depend on when the SHTF, that you can fix or rebuild if and when it breaks.

          1. I was replying to a question about backups, since you had mentioned backups to our communications networks, which somehow reminded him that when you lose access to the internet, you lose the ability to download software and software updates. And no, I don’t think LFS is going to shoehorn into an ESP32, with its half megabyte of RAM.

        1. >you can add any other package that you can get source code for.

          And that’s where the SHTF, because in order to get the source code you really need internet access. In order to do anything useful with it, you need package management and access to a repository, which you won’t have, so it’s back to square one.

          It’s the same as, yes, if you had access to mechanical drawings and a workshop, you could in theory build yourself a car – but in practical terms you wouldn’t, especially in an end-of-the-world scenario where the electricity is out and half the country is bombed to bits.

          Same thing applies to this LoRa gadgetry: it’s relying on proprietary IP that belongs to Semtech and it cannot be bought from anywhere but licensed manufacturers. In other words, when things start to go south and world trade relations start to sour, the first thing that happens is you can no longer obtain the LoRa modules from anywhere.

          1. I’m looking to getting this to work with ASK/PSK, but the bandwidth and range kinda stink. The idea is to put these on rooftops, fire trucks, etc. so that people can still call for an emergency vehicle if cell phone networks are down

          2. Yes, absolutely you have to already have the source code downloaded before the fall. But what I discovered when I tried to download the whole Debian repository a few years ago, was that even though this was in theory a complete, self-contained repository, I could not install it on a new system without having a working connection to the Internet. So NO, you can’t rely on a package manager, because it will attempt to get the latest package database.

            This was why I brought up LFS in the first place: it’s the only self-contained repository I know of (once you download all of the package source tarballs) for a reasonably modern OS. And while you do have to already have some form of Linux system to begin with, in order to build the ultra-low-level Linux system that it does the rest of the builds from, that can be in the form of a Linux thumb drive or live CD, which means if you have any working PC, you can bootstrap from there to a complete system that you can use to continue to develop code, rather than being stuck with static backup copies of whatever software you found yourself with on day 0.

          3. I think that your concern about LoRa is valid, since here we’re talking about closed hardware. But it also requires too many things to work – you have to have this network requiring a number of operational nodes, few of which seem to exist, compared with walkie talkies that are highly available and can be used without any networking or other infrastructure at all, at least for short range communications.

          4. Yep, this is not a network designed to be built up after the world ends, it’s a network that allows people to survive bumps in the road.

            Apocalypses are a lot more apocalyptic and people should be focused on easily replicated analog technologies that operate on loose tolerances to survive those.

          5. >a complete system that you can use to continue to develop code, rather than being stuck with static backup copies of whatever software

            Which goes back to the mechanic’s shop and car blueprints point. What you want is to have something that you can use already, like a broken down car that you can fix with parts from other broken cars, not just a bunch of scrap metal that would take forever to turn into anything.

            In other words, I would rather have old copies of Word and Excel than the ability to code myself an office suite, because that would mean I can instantly start offering bookkeeping services, doing simple computations for engineering, and just writing stuff down to help rebuild society. When you’re at the field and in the situation, you’re not developing the solutions, you either have them or you don’t. If you have a computer loaded up with bare-bones Linux with just a command prompt and GCC, it would take more time than you have to develop yourself the software that you need. The effort can only be supported after you’ve already secured the essential resources, peace and security, and the social surplus to have anyone take time off of essential duties and sit down and noodle away at the computer. In other words, you can hack away at your Linux box after you have established your new society.

            Nerds just tend to see the end-of-the-world scenario as an opportunity to do some more hacking for the sake of hacking itself. When everything goes away, the esoteric skills and knowledge you have would finally become necessary, except that your skills are too specialized for that situation and you have other priorities like food and water first.

    2. I’m hoping that it’s also useful to hikers and people doing work in, say, the big fossil range in Utah :) this is significantly cheaper than a satellite phone, and can be used to make a satellite phone with data serve the whole team rather than one person (you leave it at base camp and put a pylon next to it).

      1. regarding hikers, made cheap enough a group of hikers, archaeologists, etc can drop Pylons off along the trail with a mobile phone in a car at the trail head making the bridge to the Internet. On the way out for the day or week they collect them back up and redeploy the next trip out.

        1. That’s exactly the idea! We’re trying to do $25 per pylon, so it’s not a big investment, either. We are scheduled to test this at MDRS with the Mars Society next year.

        2. This is kind of sort of like an idea that i have been thinking about for awhile now. My idea is more related to hiking trail info and finding lost hikers. In my idea, a solar powered ESP32s (wifi only, no LoRa) would be permanently setup at various locations along the trail (forks, information sites, overlooks, etc). A person would have an app on their phone that when it got within range of the wifi of one of these nodes it would automatically connect. In addition to offering a webpage with maps and information about that specific location, the ESP32 would log the time that the user connects/disconnects. It would also download a data file with “undelivered” logs/msgs from that location. When the user passes back by a trailhead or some central location that data file would be uploaded to the main node and marked “delivered”. When the next user heads out from the trailhead the app would have the list of delivered messages and would relay that status back to the nodes along the trail as they passed so that the nodes could clean out old messages. If a hiker went missing, searchers could look at the logs (at the trail head and along the trails as necessary) to try to determine their last known location. It becomes a very slow mesh network based on human movement, but it would be cheap and still have a lot of utility in my mind.

  2. Cool system. The problem with all these systems is that they won’t be useful in an emergency because only a couple of people will have them. Basic ham radio is still what most people will use and will be for quite some time.

          1. Power consumption is certainly an issue, but I think a bigger issue would be whether Starlink would work, even to interconnect Starlink terminals, without some ground-based infrastructure. Power consumption can be mitigated by operating a ground station for short periods of time to communicate with the world outside a given local area and download essential information.

    1. This will talk to anything that has either wifi and a browser, or any bluetooth terminal. The esp32 pylons, in fact, lets you download a basic bluetooth terminal APK via wifi :)

    1. I have been mentally designing a system similar to this. Less for chatting but more of keeping track of lost friends at large events ie: multi-day camping with 1000’s of others. One or more lora base stations provide wide coverage, individual ‘puck’ are carried by the soon to be lost friends and a smarter portable stations to query/display location information. The puck will be a simple gps/lora/battery widget. It will wake up every X mins and send its current location to the base stations. The base stations keep the last location of each puck and responds to location requests. The smarter stations can send a location request and display the reply. I have thought of options like ‘beacon’ mode to light up the puck, one-to-one paring, one-to-many paring and various displays. The pucks will need to be able to last 2 or 3 days and be water/dust proof.

  3. What the advantage of this project over other similar mesh data-over-LoRa projects, like Meshtastic and Disaster Radio?

    Also, to answer some of the “ham radio vs. this project” comments — there’s no reason why this can’t be “ham radio” as well. With a ham license, you can easily take this setup, use it with a 1W 433MHz LoRa module, a “DMR amplifier”, and a high gain antenna, and have a single node cover the better part of a metropolitan area.

    1. The main advantage is that it doesn’t have to worry about routing, doesn’t identify the users, and doesn’t require GPS or a shared time base. Also, it’s designed to use as little power as possible.

    2. THIS. A combination of unlicensed low-power units and licensed higher-power ones could be a big advantage. Of course, in a SHTF situation, everybody just runs at high power anyway, but it’s good to have a legal network to get people used to using it BEFORE it’s the only remaining option.

      1. The other use is that if you drop a bunch of these on roofs, when SHTF, people with regular phones can just connect to them. The idea is to be able to call an ambulance or a fire truck…

    3. But wait: doesn’t LoRa use spread spectrum? I think Amateur Radio Service specifically prohibits this. Also, having an amateur license doesn’t automatically let you extend what you can do in bands that have their own regulations.

      1. It uses upchirps/downchirps yes. So essentially spread spectrum but it’s not over a huge range (and technically any other modulation is ‘spread spectrum’ in that sense too, within its modulation bandwidth!)

        So not sure if this is allowed or not, there’s many modulation classes prohibited and approved in the band plans. But I think there would be a suitable niche in one of the digital experimentation spots.

  4. As long as you leave the things network out of it is interesting. There are very heavy limits on how much data can you send over LoRA, but I guess it is imposed by the gateways not the radio hardware themselves so as long as you operating all the nodes on your own you can send as much data as you wish.

    The problem with these long range radio hardware like what amateur radio operators are using that they are very expensive for the antennas you will need a land just to get started.

    1. It has nothing to do with TTN, and in fact operates on a slightly different band specifically to avoid messing with them :) We don’t want to saturate the public spectrum either!

      1. I’m having some trouble deciphering what kinds of limitations are on LoRa overall, vs. TTN. Can you point me to something that explains this for USA? Or is this just something “LoRa-like”?

          1. Yes, I got that. But it seems from the documentation I’ve found, that not only is the bit rate pretty low, but there are also severe limits on duty cycle of messages from any particular device. But I couldn’t be sure if this is a LoRa limitation or just a TTN restriction. Which really comes down to a concern about not just how many characters per second you can send, but also how many messages per minute, or minutes per message(!!!). So for a typical CellSol network, what WOULD these rates be?

  5. While this is a good thing to have in the world, I have doubts. A system like this is only valuable in an emergency, when people are already using it before the emergency happens. I’m not sure that it is better than, for example, preppers buying Baofeng radios and spending the little time it takes to get a technician class amateur radio license. Which I would recommend doing before setting up a LoRa network, since FM walkie-talkies just WORK, and as long as you don’t go crazy and use manufacturer-proprietary features, they all work together, with or without a repeater network. And your FM walkie talkie is a self-contained unit – all run on batteries, and most have either rechargeable batteries or a cigar lighter adapter you can plug into any 12V power source. And they will run for hours, or days if you’re just monitoring, on a charge. Try that with your home computer or even laptop that you want to connect to a LoRa network.

    A LoRa system will NOT replace the Internet, because of its inherent bandwidth limitations, which in turn are dictated by physics – the longer range you want, the better signal-to-noise ratio you need, and therefore the less bandwidth you have. This is appropriate for a text chat system (as described in the article), but who these days USES text chat rooms? Using an IRC system, if you want to chat with someone, you have to know what chat room they’re likely to be monitoring, and hope it isn’t so busy that they won’t even see your message. In this way it’s quite similar to Ham walkie-talkies, the difference being that with IRC you have to be actively reading a channel to see if someone is trying to get your attention, while on a radio, it’s much easier to recognize your name (call sign) being called.

    Furthermore, while you might think that a digital system might be more useful because you can send and receive files, again the bandwidth limitaation makes this impractical. You’re NOT going to be able to send software, hi-res pictures, or even big PDF files with the ease you’re used to. We’re talking bandwidths equivalent to a dial-up modem connection.

    And then, let’s talk about the network. As I said, with LoRa you get to swap range for bandwidth, which means that you have to have your “pylons” close together in order to maintain reasonable speed. And it’s an inherently unreliable network when it’s configured as a mesh as described, because chances are you are relying on a pylon within a couple miles of yourself, that someone is going to shut down when they’re finished for the day, since they’re having to keep it powered. Every pylon operator is going to have their own limitations, and many pylons are needed to cover a metropolitan area. Again, this is similar to the VHF and UHF amateur bands (2m and 70cm) that depend on repeaters to reach across a metropolitan area. The difference is that one 2m/70cm repeater can cover a lot more area, so fewer repeaters are needed, and most have already been set up with backup power of some sort, specifically to be able to operate under disaster conditions.

    1. This isn’t out to replace the internet, it’s out to allow people to use their cell phones to send offers and requests for help when there’s been a sufficient service disruption that cell phone towers are dead or inoperative.

          1. Extender for what? Is there an app they hae to load on their phone? Does anybody have this? All I’m hearing are hyphotheticals. Is there an end-to-end system that works, and if not, where is this in development?

          2. There is an end-to-end system that works, yes.

            * Data connection goes out for whatever reason. You want to tell people that you are OK.

            * You find a pylon that has wifi.

            * You can use it to send your message (connect to the AP, and the “captive portal” page will load the http-based chat).

            * Also, you can, from that pylon, download the (very tiny) android app that also lets you talk to bluetooth pylons, so you can move away from the wifi pylon if you want.

            * There is a sample interface at and you will note that the apk file is downloadable -from the esp32 itself-.

            I’ve been writing Android apps since 1.1 so I am used to writing tiny ones if need be.

  6. Cellsol is 2 years delayed compared to also open source locha, this esp32 setup was already done exactly as is on 2018-first quarter 2019 by team (also using same hardware lora heltec esp32), and not only for chat they already done offgrid bitcoin transactions, right now Locha supports a most powerfull hardware even support not only chat/bitcoin now they are working with transactions in other coins, I don’t know whats the point of redoing exactly an existing open source project with another name?

    1. This uses less power, is fully pseudonymous, and is geared towards emergency use rather than crypto transactions. In addition, it doesn’t just use esp32s, it also works on an arduino or a feather32.

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.