LoRa (Long Range) is a proprietary chirp spread spectrum (CSS) modulation technique that enables low-power, long-distance wireless communication in the sub-gigahertz ISM bands. If you are building an off-grid weather station, a remote soil moisture sensor, or a fleet tracker, LoRa is the physical layer (PHY) that allows your microcontroller to push tiny packets of data over several kilometers while sipping microamps from a battery.
In a real circuit, adopting LoRa means abandoning the 2.4GHz PCB trace antennas found on cheap nRF24L01 modules. You must now route a controlled 50-ohm impedance trace to an SMA or u.FL connector, enforce strict 3.3V regulation (as the Semtech SX1276 power amplifier pin is highly sensitive to overvoltage), and manage the DIO0 interrupt pin to catch the TxDone and RxDone hardware flags without blocking your main loop.
The Core Physics: How Chirp Spread Spectrum Actually Works
Traditional narrowband RF (like FSK or OOK) transmits data by shifting a carrier wave between discrete frequencies. The problem is that if environmental noise or a jammer hits that exact frequency, your packet is destroyed. LoRa solves this using Chirp Spread Spectrum (CSS). Instead of a static frequency, LoRa generates a "chirp"—a signal that sweeps continuously across a wide bandwidth (typically 125 kHz, 250 kHz, or 500 kHz) over a set period of time.
By adjusting the Spreading Factor (SF) from SF7 to SF12, you dictate how long the chirp takes to sweep. A higher SF means a longer chirp, which yields greater processing gain and allows the receiver to decode signals that are actually below the noise floor (negative Signal-to-Noise Ratio). The tradeoff is airtime: SF12 takes significantly longer to transmit a payload than SF7, consuming more battery and eating into your regional duty-cycle limits.
Worked Example: Calculating Link Budget and Battery Life
Let’s look at a concrete numeric example using a popular Semtech SX1276 module operating at 915 MHz (North American ISM band).
1. The Link Budget Calculation
The link budget determines your maximum theoretical range. It is the difference between your transmit power and the receiver's sensitivity.
- Transmit Power: +17 dBm (maximum legal limit for the PA_BOOST pin on many breakout boards).
- Receiver Sensitivity: -136 dBm (achieved at SF12 with a 125 kHz bandwidth).
- Link Budget: 17 dBm - (-136 dBm) = 153 dB.
Using the free-space path loss (FSPL) formula, a 153 dB budget allows for a line-of-sight range of roughly 15 to 20 kilometers. In urban environments with concrete and foliage, you apply a fading margin of 20-30 dB, bringing your realistic urban range to 2 to 5 kilometers.
2. Battery Life Projection
Assume you are building a sensor node powered by a 2500 mAh 18650 LiFePO4 cell. You transmit a 20-byte payload every 15 minutes (96 times a day) at SF9.
- TX Current: ~80 mA for 0.8 seconds per transmission.
- Sleep Current: 2 µA (0.002 mA) in deep sleep via the MCU and SX1276 sleep mode.
- Daily TX Energy: 96 tx * 0.8s * 80mA = 6,144 mAs (1.7 mAh).
- Daily Sleep Energy: 86,400s * 0.002mA = 172.8 mAs (0.048 mAh).
- Total Daily Draw: ~1.75 mAh.
Theoretical battery life: 2500 mAh / 1.75 mAh = 1,428 days. Applying a 20% derating factor for battery self-discharge, temperature effects, and the quiescent draw of your onboard 3.3V LDO regulator, you can reliably expect over 3 years of field operation without a battery swap.
Where You Meet LoRa in Practice (And Common Confusions)
You will encounter LoRa in agricultural telemetry, municipal water metering, and hobbyist mesh networks. When selecting a module, you will generally choose between the older SX1276/SX1278 family or the newer, more power-efficient SX1262 family. Development boards like the Heltec WiFi LoRa 32 V3 or the Adafruit Feather 32u4 LoRa integrate the radio, an ESP32/AVR microcontroller, and an OLED display onto a single breadboard-friendly PCB.
The most common mistake makers make is confusing LoRa with LoRaWAN. LoRa is simply the physical radio modulation (the PHY layer). LoRaWAN is the Media Access Control (MAC) and network protocol built on top of LoRa by the LoRa Alliance. It handles encryption, device provisioning, adaptive data rate (ADR), and routing packets to the internet via gateways.
| Feature | LoRa (Point-to-Point) | LoRaWAN (Network) | Wi-Fi (802.11) | Zigbee (802.15.4) |
|---|---|---|---|---|
| Topology | Peer-to-Peer / Mesh | Star (Nodes to Gateway) | Star (Nodes to Router) | Mesh |
| Max Range (Urban) | 2 - 5 km | 2 - 5 km | 50 - 100 m | 10 - 20 m (per hop) |
| Payload Size | Up to 255 bytes | 51 to 242 bytes (region dependent) | ~1500 bytes (TCP/IP) | ~100 bytes |
| Power Profile | Extremely Low (Years) | Extremely Low (Years) | High (Days/Weeks) | Low (Months/Years) |
| Best Use Case | Direct remote control, off-grid telemetry | City-wide sensor fleets, commercial IoT | High-bandwidth, IP-connected devices | Smart home lighting, local automation |
If you just want to send a string from a barn to your house without setting up a network server, you use raw LoRa (point-to-point). If you want to deploy 500 sensors across a city that report to a central cloud dashboard, you use LoRaWAN.
Frequently Asked Questions About LoRa Technology
What is the difference between LoRa and LoRaWAN?
LoRa is the physical radio frequency modulation (Chirp Spread Spectrum) that allows bits to travel long distances through the air. LoRaWAN is the networking protocol and cloud architecture that sits on top of LoRa. LoRaWAN adds AES-128 encryption, device authentication, gateway handoff, and payload routing to a network server. You can use LoRa without LoRaWAN (point-to-point), but you cannot use LoRaWAN without LoRa.
Can LoRa technology penetrate concrete walls and basements?
Yes, but with significant attenuation. Sub-GHz frequencies (868 MHz in Europe, 915 MHz in the US) penetrate obstacles much better than 2.4 GHz Wi-Fi or Bluetooth. A LoRa signal can typically penetrate one or two reinforced concrete walls or reach into a shallow basement. To maximize penetration, you must increase the Spreading Factor (e.g., to SF11 or SF12) to increase receiver sensitivity, and ensure your antenna is placed as high as possible near a window or exterior wall.
Why does my LoRa module range drop drastically when I add a breadboard jumper wire?
This is almost always an impedance mismatch or antenna detuning issue caused by poor grounding. Sub-GHz antennas require a solid, continuous ground plane to resonate correctly. Breadboards introduce parasitic capacitance and inductance, and long jumper wires act as unintended secondary antennas that radiate out of phase with your main antenna, canceling out your signal. For any range testing, solder the module directly to a perfboard with a short, thick ground wire to the SMA connector, or use a properly designed PCB with a controlled 50-ohm RF trace.
Is LoRa legal to use anywhere in the world?
No. LoRa operates in unlicensed Industrial, Scientific, and Medical (ISM) bands, but the exact frequencies and transmit power limits are strictly regulated by regional authorities. In North America, you must use 902-928 MHz with a maximum of +30 dBm (with spread spectrum rules). In Europe, the band is 863-870 MHz with a strict +14 dBm limit and a 1% duty cycle restriction per sub-band. Always configure your radio library (like RadioLib or LMIC) with the correct regional macro before transmitting, or you risk interfering with critical infrastructure and facing heavy fines from the FCC or Ofcom.






