12 Min Read • Updated June 2026

How LoRa & LoRaWAN Work: Long Range IoT Communication Explained

A coin-cell battery, a $3 radio module, and 15km of wireless range — that is LoRa. From agricultural soil sensors to smart city parking meters, discover the physics of chirp spread spectrum that makes LoRa the go-to wireless technology for low-power, long-range IoT.

AY
Updated June 1, 2026
LoRa SX1278 868MHz module with a whip antenna deployed in an outdoor IoT sensor node enclosure
Modulation

Chirp Spread Spectrum (CSS)

Frequency Bands

433MHz (Asia), 868MHz (EU), 915MHz (US)

Range (Open)

10–15km rural, 2–5km urban

Data Rate

0.3–50 kbps (Spreading Factor dependent)

Battery Life

10+ years (sleep modes, duty cycle)

Common Modules

SX1276/78, RYLR896, Ra-02, E32-868T

Chirp Spread Spectrum: Why LoRa Goes So Far

Core Triples:
  • LoRa CSS modulation spreads signals across bandwidth to resist interference.
  • Higher spreading factors increase range at the cost of data rate.
  • LoRaWAN provides network protocol, security, and cloud architecture over LoRa.

Traditional radio transmits on a fixed frequency — a narrow spike in the spectrum easily drowned out by interference. LoRa's Chirp Spread Spectrum (CSS) instead sweeps the carrier frequency across the entire bandwidth (typically 125 kHz) in a linear chirp waveform. Each bit is encoded as a different phase of this chirp.

Because the signal energy is spread across 125 kHz rather than concentrated in a narrow band, the receiver can recover signals even when they are 20dB below the noise floor — an extraordinary property that enables the remarkable 10–15km range on tiny milliwatt transmit powers.

Spreading Factors (SF7–SF12): Range vs Speed Trade-off

SFSensitivityData RateAirtime (20 bytes)Typical Range
SF7−123 dBm5.47 kbps56ms1–3km
SF9−129 dBm1.76 kbps185ms3–7km
SF11−134 dBm0.54 kbps741ms7–12km
SF12−137 dBm0.29 kbps1.4s10–15km

Arduino LoRa Transmitter with SX1278 (Ra-02)

// LoRa Point-to-Point sender using Ra-02 (SX1276/78) module
// Library: Arduino-LoRa by sandeepmistry

#include <SPI.h>
#include <LoRa.h>

// Ra-02 SPI connections (SX1278):
// SCK  → D13, MISO → D12, MOSI → D11
// NSS/CS → D10, RESET → D9, DIO0 → D2

void setup() {
  Serial.begin(9600);
  LoRa.setPins(10, 9, 2);  // CS, RESET, DIO0
  
  if (!LoRa.begin(433E6)) { // 433 MHz band
    Serial.println("LoRa init failed!");
    while (1);
  }
  
  LoRa.setSpreadingFactor(9);      // SF9 = balance of range & speed
  LoRa.setSignalBandwidth(125E3);  // 125 kHz bandwidth
  LoRa.setCodingRate4(5);          // 4/5 coding rate
  LoRa.setTxPower(17);             // 17 dBm (max for Ra-02)
  Serial.println("LoRa transmitter ready");
}

void loop() {
  float temperature = 25.3;
  int humidity = 68;
  
  LoRa.beginPacket();
  LoRa.print("T:");
  LoRa.print(temperature, 1);
  LoRa.print(",H:");
  LoRa.print(humidity);
  LoRa.endPacket(); // Non-blocking transmit
  
  Serial.println("Packet sent");
  delay(10000); // 10-second interval (duty cycle compliance)
}

LoRaWAN Network Architecture

LoRaWAN creates a 4-layer star-of-stars network:

1. End Nodes

Battery-powered LoRa sensor nodes. Sleep most of the time, wake to transmit sensor data. Class A, B, or C devices.

2. Gateways

Listen on all channels simultaneously. Forward all received packets to the Network Server via IP (WiFi/Ethernet/LTE). Single gateway covers entire city.

3. Network Server

Handles MAC layer protocol, deduplication, ADR (Adaptive Data Rate), and routing to application servers.

4. Application Server

Decrypts and processes application payload. Integrates with databases, dashboards (TTN, Chirpstack), and cloud IoT platforms.

LoRaWAN network architecture diagram showing End Devices, Gateways, Network Server, and Application Server layers

Fig 1: LoRaWAN Network Topology — Star-of-stars network from End Devices to Gateways, Network Server, and Application Servers

Frequently Asked Questions

What is LoRa and how does it achieve long range?

LoRa uses Chirp Spread Spectrum modulation, spreading signals across 125 kHz bandwidth. This enables receiver sensitivities as low as −148 dBm and ranges exceeding 10km line-of-sight, even with milliwatt transmit power.

What is the difference between LoRa and LoRaWAN?

LoRa is the physical radio modulation (chirp signals). LoRaWAN is the network protocol on top — defining gateways, network servers, security (AES-128), device classes, and activation methods (OTAA/ABP).

What are LoRa spreading factors and how do they affect range?

SF7–SF12 trade data rate for range. SF7 = fast (5.5kbps) but shorter range. SF12 = slow (0.29kbps) but 15km+ range with −137dBm sensitivity. Each SF step halves data rate but adds ~2.5dB link budget.

What is TTN (The Things Network)?

TTN is a global community LoRaWAN network with 15,000+ public gateways covering cities worldwide. Developers register devices on TTN and receive their sensor data through TTN's free cloud platform.

What is duty cycle limitation in LoRa?

The 868MHz EU band allows only 1% duty cycle — 36 seconds of transmission per hour. This regulatory limit prevents channel congestion and forces LoRa devices to sleep between transmissions, which also dramatically extends battery life.

📚 References & Sources

Was this article helpful?

Tap a star to rate — no account needed

Related Resources