LoRa: The 2400-Baud Radio That Reaches 15 Kilometers
How chirp spread spectrum modulation turned $5 radio chips into the backbone of a new wireless revolution β and why its constraints feel familiar to anyone who ran a BBS
My first radio was a CB β a Cobra 29 that my uncle let me use when I was a kid. I didnβt understand propagation or modulation. I understood that you could press a button and talk to someone miles away, and that was magic. The squelch knob was mysterious. The skip conditions were unreliable. And the conversations were half the fun because you never knew whoβd be on the other end.
Years later, I was running a BBS at 2400 baud. A 50 KB text file took over three minutes to transfer. Every byte mattered. You learned to write tight, to compress everything, to make every character count. The constraints werenβt limitations β they were the creative pressure that made the whole culture interesting.
LoRa brings that same feeling back.
At its fastest, LoRa moves about 27 kilobits per second. At its slowest β the setting that reaches the farthest β it crawls at 300 bits per second. Thatβs slower than a 1964 acoustic coupler modem. And yet people are building mesh networks, off-grid communication systems, and disaster recovery infrastructure with it. A $5 chip on a $25 board, running on a coin cell battery for months, reaching 15 kilometers on a whisper of RF energy.
The BBS operators of the 1980s would recognize this world immediately. Resource-constrained creativity isnβt a bug. Itβs where the interesting things happen.
LoRa chirp modulation β frequency sweeps encode data through cyclic shifts, with spreading factor controlling the tradeoff between range and speed
LoRa packet structure β preamble chirps synchronize the receiver, a sync word identifies the network, and FEC-encoded payload carries 1-255 bytes of data
What LoRa Actually Is
First, a distinction that matters more than it seems: LoRa is not LoRaWAN.
LoRa is a physical layer modulation technique. It defines how radio waves are shaped to carry data. Thatβs it. Itβs Layer 1 β the same layer as RS-232βs voltage levels, Ethernetβs electrical signaling, or the light pulses in a fiber optic cable.
LoRaWAN is a network protocol built on top of LoRa, designed by the LoRa Alliance for centralized IoT deployments β gateways, network servers, application servers. Itβs one way to use LoRa, and itβs the way most corporate IoT deployments work.
But the most interesting projects being built today β Meshtastic, MeshCore, Reticulum via RNode β use raw LoRa without LoRaWAN. They talk directly to the radio chip and build their own networking stacks. This is where the BBS parallel gets real: people building their own networks, their own protocols, their own way.
LoRa the modulation technique is what makes all of this possible. Everything starts at the physical layer.
The Chirp: How It Works
LoRa uses a modulation scheme called Chirp Spread Spectrum (CSS) β more precisely, Frequency Shift Chirp Modulation (FSCM). It was developed by a French startup called Cycleo in the late 2000s, which Semtech acquired in 2012 for roughly $5 million. That acquisition may turn out to be one of the best deals in semiconductor history.
A chirp is a signal whose frequency sweeps continuously across a bandwidth. An up-chirp starts at the lowest frequency and sweeps to the highest. A down-chirp does the reverse.
Hereβs the key insight: data is encoded by cyclically shifting the starting frequency of the chirp.
Think of it like a clock face. The base (unmodulated) chirp starts at 12 oβclock and sweeps all the way around. To encode a data value, you start at a different position β maybe 3 oβclock β and sweep from there, wrapping around when you hit the top. The receiver knows where the chirp should start (12 oβclock) and measures where it actually starts. That offset is the data.
Spreading Factor: The Core Tradeoff
LoRaβs spreading factor (SF) controls how many frequency positions (called chips) make up one symbol. The formula is simple:
Chips per symbol = 2^SF
SF7 = 128 chips per symbol β 7 bits per symbol β ~11 kbps
SF8 = 256 chips per symbol β 8 bits per symbol β ~6.3 kbps
SF9 = 512 chips per symbol β 9 bits per symbol β ~3.5 kbps
SF10 = 1024 chips per symbol β 10 bits per symbol β ~2.0 kbps
SF11 = 2048 chips per symbol β 11 bits per symbol β ~1.0 kbps
SF12 = 4096 chips per symbol β 12 bits per symbol β ~0.3 kbps
Higher spreading factors mean longer chirps that take more time to transmit β but spread the energy across more chips, giving the receiver more data to work with when pulling the signal out of noise.
Each step up in SF doubles the time on air for a given payload. An SF12 transmission takes 32 times longer than SF7 for the same data. But it can be received at signal levels that SF7 canβt touch.
Bandwidth: The Other Knob
LoRa also lets you choose the bandwidth over which the chirp sweeps:
- 125 kHz β Standard. Best sensitivity, longest range.
- 250 kHz β Double the data rate, slightly less range.
- 500 kHz β Maximum speed, shortest range.
The combination of spreading factor and bandwidth gives you a tunable tradeoff: you can optimize for range, for speed, or for something in between. In practice, most deployments use 125 kHz bandwidth and choose the spreading factor based on distance and environment.
Why Below the Noise Floor Matters
This is the feature that makes LoRa feel like magic.
Most radio communication requires the signal to be stronger than the ambient noise. If the noise floor is -120 dBm, your signal needs to be above -120 dBm for the receiver to distinguish it. This is basic physics β itβs like trying to hear someone talk in a loud room. They need to be louder than the room.
LoRa doesnβt play by those rules.
At SF12 with 125 kHz bandwidth, LoRa achieves a receiver sensitivity of approximately -137 to -149 dBm. The thermal noise floor for 125 kHz bandwidth is about -123 dBm. That means LoRa is demodulating signals that are 14 to 20 dB below the noise floor.
The signal is buried in static, and the receiver can still extract it.
How Is That Possible?
Processing gain. By spreading each bit across thousands of chips, the receiver can correlate the incoming signal against the expected chirp pattern. Random noise doesnβt correlate. The chirp does. Over 4096 chips (SF12), even a faint signal accumulates enough correlation energy to stand out from the noise.
Itβs the difference between shouting in a crowded room (conventional radio β you need to be louder than everyone) and whale song crossing an ocean (LoRa β the signal is too faint to hear directly, but its mathematical structure lets you extract it from the noise over time).
This processing gain is what lets a 25 milliwatt transmitter β less power than a dim LED β reach receivers 15 kilometers away across open terrain. Or, in one extraordinary demonstration, 832 kilometers when transmitted from a weather balloon to ground stations.
That record was set in 2017 by Thomas Telkampβs ground-to-balloon experiment. Twenty-five milliwatts. Eight hundred and thirty-two kilometers. Let that sink in.
The Hardware: $5 Chips and $25 Boards
LoRaβs physical layer is implemented in silicon by Semtech, the company that owns the patents. The key chip families:
SX1276 / SX1278 β The originals. Sub-GHz (137-1020 MHz). Still widely used. These are the chips that launched the LoRa ecosystem.
SX1262 / SX1268 β The current generation. Better sensitivity, lower power consumption, simpler interface. SX1262 for global frequencies (150-960 MHz), SX1268 optimized for Chinese 470 MHz band.
SX1280 β The 2.4 GHz variant. Operates in the globally license-free 2.4 GHz ISM band. Shorter range than sub-GHz, but no regional frequency restrictions.
These chips cost roughly $3-5 in single quantity. Theyβre SPI-controlled, low-power, and small enough to fit on a postage stamp.
The real magic happened when board makers started pairing them with microcontrollers:
Heltec WiFi LoRa 32 β ESP32 + SX1262 + OLED display + WiFi + Bluetooth. About $15-20.
LilyGo T-Beam β ESP32 + SX1262 + GPS + 18650 battery holder. About $25-30. The go-to board for Meshtastic.
RAK WisBlock β Modular system. Nordic nRF52840 + SX1262, with swappable sensor boards. More expensive but extremely power-efficient.
Adafruit Feather LoRa β Well-documented, beginner-friendly, with the Adafruit ecosystem behind it.
For the cost of a large coffee, you can buy a device that communicates 15 kilometers without infrastructure, runs for months on a battery, and fits in your pocket. The BBS operators of the 1980s needed a phone line, a modem, and a computer that cost thousands. The barrier to entry has collapsed.
LoRa vs LoRaWAN: The Distinction That Matters
This is worth repeating because the confusion is everywhere.
LoRa is the radio modulation. It turns bits into chirps and chirps back into bits. Itβs a physical layer technology. It doesnβt know about addresses, routing, encryption, or anything above βtransmit this data on this frequency at this spreading factor.β
LoRaWAN is a network architecture specification managed by the LoRa Alliance. It defines:
- Star-of-stars topology: End devices talk to gateways, gateways talk to a network server
- Three device classes: Class A (lowest power, uplink-initiated), Class B (scheduled receive windows), Class C (always listening)
- AES-128 encryption: Network session keys and application session keys
- Adaptive data rate: The network tells devices which SF to use
- Centralized infrastructure: You need gateways, a network server, and usually a commercial service (The Things Network, Helium, ChirpStack)
LoRaWAN is designed for IoT sensors reporting to the cloud. Itβs good at that job. But itβs fundamentally centralized β if the gateway goes down, the end devices canβt talk to each other. They can only talk through the gateway.
This is where the interesting split happens.
The Raw LoRa Ecosystem
The projects I find most compelling use raw LoRa β they talk directly to the Semtech radio chips and implement their own networking:
Meshtastic β Mesh networking firmware for off-grid communication. Managed flood routing with deduplication. Phone app via Bluetooth. No infrastructure required β every device is a potential relay. Encrypted by default. Free, open source.
MeshCore β Infrastructure-focused mesh networking. Distinguishes between clients, repeaters, and room servers. Designed for building persistent mesh infrastructure rather than ad-hoc communication.
RNode β An open hardware, open firmware LoRa transceiver designed by Mark Qvist. Implements a KISS interface (the same serial framing protocol used in amateur packet radio since the 1980s β thereβs that BBS connection again). Designed as a building block for larger systems.
Reticulum β A cryptographic networking stack, also by Mark Qvist. Medium-agnostic β it can run over LoRa, TCP/IP, serial, I2C, anything. Identity-based addressing (no IP addresses). End-to-end encrypted by design. LXMF provides store-and-forward messaging on top of it.
Each of these takes a fundamentally decentralized approach. No gateways. No network servers. No corporate infrastructure. Just radios talking to radios, building networks from the bottom up.
This is the BBS ethos reborn in radio form.
The Resource-Constrained Renaissance
When your data rate is 300 bps, every byte is precious.
Between the BBS era and LoRa, there was another chapter of constrained wireless innovation that most people have forgotten. Around 2007, before LoRa existed, I was working with Jennic JN5139 radio modules at Quality Thermistor β IEEE 802.15.4 radios running 6LoWPAN for industrial sensor networks. Same spirit: squeeze IPv6 through a 127-byte frame, make every bit count, build something useful within severe constraints. Different technology, same creative pressure. The thread from 2400-baud modems runs through Jennicβs mesh networks straight to LoRa.
A Meshtastic text message is limited to about 228 bytes. Thatβs roughly 40 words. You canβt send a selfie. You canβt stream video. You can barely send a paragraph. And yet people are building genuinely useful communication systems within these constraints.
This forces a kind of creative discipline that the modern internet has forgotten. When bandwidth is effectively free, we waste it β megabytes of JavaScript to render a blog post, auto-playing videos nobody asked for, tracking scripts that exceed the page content they surveil. We stopped thinking about efficiency because we didnβt have to.
LoRa brings the thinking back.
At 300 bps, you design text-first protocols. You compress aggressively. You think about which information is essential and which is decoration. You build systems that do one thing well rather than everything badly.
The BBS community understood this instinctively. At 2400 baud, you learned to write concise messages. File descriptions mattered because downloading the wrong file cost you 20 minutes. Sysops optimized their menu screens because every byte was time. The constraints created a culture of intentional communication.
LoRa is recreating that culture with radio.
And the applications are serious. Disaster communication when cell towers are down. Sensor networks in areas with no connectivity. Community mesh networks that donβt depend on ISPs. Maritime communication between sailboats. Trail monitoring in national parks. Agricultural sensing across vast properties.
None of these need high bandwidth. All of them need reliability, range, and independence from infrastructure. LoRa delivers exactly that.
Whatβs Being Built on LoRa
The LoRa physical layer has spawned an ecosystem thatβs growing fast. Each of these deserves its own deep dive (and will get one):
Meshtastic β The most accessible entry point. Flash the firmware, pair your phone, join a mesh. Managed flood routing means messages hop through every device in range until they reach the destination. Think of it as a decentralized walkie-talkie network with text messaging, GPS sharing, and sensor telemetry. Active community, rapid development, thousands of nodes worldwide.
MeshCore β Where Meshtastic is ad-hoc and democratic (every node is equal), MeshCore introduces infrastructure hierarchy. Dedicated repeater nodes with directional antennas create backbone links. Room servers provide group messaging. The design philosophy is closer to building a network than carrying one in your pocket.
RNode β Mark Qvistβs open hardware LoRa transceiver. It implements the KISS protocol (Keep It Simple, Stupid) β the same framing standard that amateur packet radio operators have used since 1985. An RNode presents itself as a serial TNC (Terminal Node Controller), making it compatible with decades of packet radio software. Itβs a bridge between the amateur radio tradition and the LoRa future.
Reticulum β Perhaps the most ambitious project in the ecosystem. A networking stack that doesnβt use IP addresses at all. Every identity is a cryptographic keypair. Routing is handled through a system of announces and path discovery. It can run over any medium β LoRa via RNode, TCP/IP, serial, even I2C between chips on the same board. LXMF (Lightweight Extensible Message Format) provides store-and-forward messaging on top, with propagation nodes that relay messages across network partitions.
Each of these builds on the LoRa physical layer while taking a fundamentally different approach to networking. Together, they represent a diverse ecosystem of decentralized communication β different tools for different problems, all sharing the same radio foundation.
The Proprietary Elephant
LoRa is patented. The core modulation technology is owned by Semtech, protected by patents including US20160094269A1 and several related filings. You can buy LoRa chips from Semtech (or their licensed partners), but you canβt legally manufacture your own LoRa radio from scratch.
This sits uncomfortably with the otherwise open ethos of the ecosystem. Meshtastic is open source. Reticulum is open source. RNodeβs firmware and hardware designs are open source. But the physical layer they all depend on is proprietary silicon from a single vendor.
The Reverse Engineering Effort
The LoRa modulation has been reverse-engineered. The gr-lora project implements LoRa demodulation in GNU Radio, and Matt Knightβs 2016 DEF CON talk βDecoding LoRaβ publicly documented the modulation scheme. Subsequent academic papers have confirmed and refined the understanding.
In practical terms, this means:
- You can receive and decode LoRa signals with an SDR and open-source software
- You can transmit LoRa-compatible signals from an SDR (though legality varies)
- The modulation is well-understood β itβs not security through obscurity
- But production hardware still comes from Semtech β no open-source silicon exists
The key patents were filed around 2014, meaning theyβll begin expiring around 2034. When that happens, other chip manufacturers could legally produce LoRa-compatible radios. Until then, the ecosystem depends on Semtechβs continued willingness to sell affordable chips β which, to their credit, theyβve done aggressively.
Semtech has also been relatively ecosystem-friendly. They havenβt sued the reverse engineering projects. Theyβve published application notes and reference designs. Theyβve kept chip prices low enough that the ecosystem thrives. Itβs a pragmatic approach: a proprietary modulation that powers an open ecosystem is worth more than a proprietary modulation that nobody uses.
But the tension remains. The entire LoRa ecosystem has a single point of supply chain failure. If Semtech were acquired by a hostile company, if they decided to raise prices dramatically, or if geopolitical factors disrupted manufacturing, every LoRa device in the world would be affected. This is the trade-off the community has accepted, and itβs worth being honest about.
Technical Reference
LoRa Modulation Parameters
| Parameter | Value |
|---|---|
| Modulation | Proprietary CSS (Chirp Spread Spectrum) / FSCM |
| Creator | Cycleo (acquired by Semtech, 2012) |
| Frequencies | 433 MHz, 868 MHz (EU), 915 MHz (US/AU), 2.4 GHz |
| Bandwidth | 125 kHz, 250 kHz, 500 kHz |
| Spreading Factor | SF5βSF12 |
| Data Rate | 0.3 kbit/s to 27 kbit/s |
| Receiver Sensitivity | Down to -149 dBm |
| Range | 5 km urban, 15 km rural, 832 km record |
| Error Correction | Hamming code (CR 4/5 to 4/8) |
| Key Chips | Semtech SX1276, SX1278, SX1262, SX1268, SX1280 |
| ISM Bands | License-free worldwide (region-specific) |
| Patent | US20160094269A1 (Semtech) |
Spreading Factor Detail
| SF | Chips/Symbol | Bits/Symbol | Data Rate (125 kHz BW) | Approx. Sensitivity | Time on Air (10 bytes) |
|---|---|---|---|---|---|
| SF5 | 32 | 5 | ~21 kbps | -130 dBm | ~5 ms |
| SF6 | 64 | 6 | ~16 kbps | -133 dBm | ~8 ms |
| SF7 | 128 | 7 | ~11 kbps | -136 dBm | ~15 ms |
| SF8 | 256 | 8 | ~6.3 kbps | -139 dBm | ~28 ms |
| SF9 | 512 | 9 | ~3.5 kbps | -141 dBm | ~55 ms |
| SF10 | 1024 | 10 | ~2.0 kbps | -143 dBm | ~100 ms |
| SF11 | 2048 | 11 | ~1.0 kbps | -146 dBm | ~200 ms |
| SF12 | 4096 | 12 | ~0.3 kbps | -149 dBm | ~400 ms |
Regional Frequency Allocations
| Region | Frequency Band | Max TX Power | Duty Cycle Limit |
|---|---|---|---|
| Europe (EU868) | 863-870 MHz | 14 dBm (25 mW) | 0.1% - 10% per sub-band |
| North America (US915) | 902-928 MHz | 30 dBm (1 W) | No duty cycle (FCC Part 15) |
| Australia (AU915) | 915-928 MHz | 30 dBm (1 W) | No duty cycle |
| Asia (AS923) | 923 MHz | 16 dBm (40 mW) | Varies by country |
| India (IN865) | 865-867 MHz | 30 dBm (1 W) | No duty cycle |
| China (CN470) | 470-510 MHz | 19.15 dBm (82 mW) | Varies |
LoRa Packet Structure
The LoRa packet (shown in the diagram above) operates in two modes:
- Explicit mode (default): The header is included, containing payload length, coding rate, and CRC presence. The receiver auto-configures from the header β flexible but costs airtime.
- Implicit mode: No header. Both transmitter and receiver must pre-agree on all parameters. Saves airtime for fixed-format packets β common in beacon and sensor applications.
The preamble length is configurable from 6 to 65,535 symbols. Longer preambles improve detection reliability at the cost of airtime. Most deployments use 8 symbols. The sync word acts as a network identifier β devices with different sync words ignore each otherβs transmissions even on the same frequency, enabling simple network partitioning.
The Link Budget: Why 15 Kilometers Actually Works
For the RF engineers in the room, hereβs how the math breaks down for a typical long-range link:
Transmit power: +14 dBm (25 mW, EU868 limit)
Transmit antenna gain: +2.15 dBi (quarter-wave monopole)
EIRP: +16.15 dBm
Path loss at 10 km (868 MHz, free space): -131 dB
Additional margin for terrain/foliage: -10 dB
Received signal: -124.85 dBm
Receiver sensitivity (SF12, 125 kHz): -149 dBm
Link margin: +24.15 dB β Plenty of headroom
That 24 dB of link margin means the signal could be further attenuated by a factor of 250 and still be demodulated. This is why LoRa works through walls, over hills, and in conditions that would kill conventional narrowband radio links.
At SF7, the sensitivity drops to about -136 dBm, giving roughly 11 dB of margin on the same link β tighter, but still workable for line-of-sight. This is the tradeoff in action: SF12 gives you margin to burn but only moves data at 300 bps. SF7 moves data 32 times faster but needs a cleaner path.
The Closing Thought
I keep coming back to that CB radio. A kid pressing a button and hearing a voice come back from miles away. No internet. No infrastructure. Just radio waves and the speed of light.
LoRa brings that feeling back, updated for the 2020s. A $25 board. A chirp that barely whispers above the noise floor. Fifteen kilometers of reach from something you can hold in your palm.
And just like the BBS era, the constraints are the point. When you have 300 bits per second, you donβt waste them. When youβre building a mesh network with no central authority, you design differently. When your device needs to run for months on a battery, you think about every milliamp.
The people building on LoRa today β running Meshtastic nodes on mountaintops, deploying MeshCore repeaters along hiking trails, connecting RNodes into Reticulum networks that span cities β theyβre the spiritual descendants of the sysops who ran bulletin boards on second phone lines. Different technology, same impulse: build your own network, your own way, because the existing infrastructure doesnβt do what you need.
The modulation is proprietary. The ecosystem is open. The constraints are severe. And the creative energy is remarkable.
Three hundred bits per second. Fifteen kilometers. No infrastructure.
Thatβs not a limitation. Thatβs an invitation.
This post is part of a series on LoRa and the decentralized radio ecosystem. Next up: Meshtastic (accessible mesh networking), MeshCore (infrastructure-focused mesh), RNode (open hardware transceiver), and Reticulum (cryptographic networking stack). For physical layer heritage, see RS-232 β the serial standard that started it all. Browse our complete protocol collection.