LoRaWAN Spreading Factor Trade-offs

Interactive Visualization of SF7-SF12 Range, Data Rate, and Airtime

animation
lorawan
lpwan
protocols
In 60 Seconds

LoRa spreading factors (SF7-SF12) control the fundamental range-vs-speed tradeoff: each step up roughly doubles the range and receiver sensitivity but halves the data rate and doubles the airtime. SF7 provides the highest throughput (~5.5 kbps) for nearby devices, while SF12 reaches the farthest distances (~11 km) at the cost of very low throughput (~250 bps) and significantly higher battery drain per message.

LoRaWAN Spreading Factor Explorer

This interactive animation demonstrates how LoRa spreading factors (SF7-SF12) affect range, data rate, airtime, and battery life. Understanding these trade-offs is essential for optimizing LoRaWAN deployments.

Animation Overview

This animation visualizes the core LoRa modulation trade-offs:

  • Spreading Factor (SF): Higher SF means more signal spreading, increasing range but reducing throughput
  • Range Circles: Expand as SF increases (each SF roughly doubles sensitivity)
  • Chirp Visualization: Shows how chirp duration increases with SF
  • Metrics Panel: Real-time data rate, airtime, and battery impact
  • Link Budget: Calculate if your link will work at a given distance
How to Use This Animation
  1. Adjust the SF slider (SF7-SF12) to see how parameters change
  2. Watch the range circles expand/contract around the gateway
  3. Observe the chirp signal stretch as SF increases
  4. Check the metrics panel for exact values
  5. Try demo scenarios to see typical deployment configurations
  6. Use the link budget calculator to validate your deployment

Understanding Spreading Factors

LoRa’s spreading factor is the key to understanding its impressive range capabilities. Each increase in SF:

SF Chips/Symbol Sensitivity Range Data Rate (125 kHz) Airtime (10 bytes)
SF7 128 -123 dBm ~2 km 5.47 kbps 46 ms
SF8 256 -126 dBm ~3.5 km 3.13 kbps 82 ms
SF9 512 -129 dBm ~5 km 1.76 kbps 165 ms
SF10 1024 -132 dBm ~7 km 980 bps 329 ms
SF11 2048 -134.5 dBm ~10 km 440 bps 659 ms
SF12 4096 -137 dBm ~15 km 250 bps 1319 ms

How Chirp Spread Spectrum Works

LoRa uses a technique called Chirp Spread Spectrum (CSS) modulation:

What is a Chirp?

A chirp is a signal whose frequency increases (up-chirp) or decreases (down-chirp) linearly over time. LoRa encodes data by shifting where the chirp starts within the frequency band.

Key insight: Higher spreading factors use more “chips” per symbol, making each bit take longer to transmit but easier to detect in noise.

The Trade-off Explained

SF7:  ▃▅▇  Fast chirp → Short range → High data rate → Low battery use
       ↓
SF12: ▃▃▃▅▅▅▇▇▇  Slow chirp → Long range → Low data rate → High battery use

Each SF increase: - Doubles the time on air (2x energy per message) - Improves sensitivity by ~3 dB (roughly 1.4x range improvement) - Halves the data rate

SF Orthogonality: Simultaneous Transmissions

A powerful feature of LoRa is that different spreading factors are orthogonal. This means:

  • A device transmitting at SF7 does not interfere with SF12 transmissions
  • The same channel can carry up to 6 simultaneous transmissions (one per SF)
  • This effectively multiplies channel capacity
Why This Matters for Network Capacity

A single LoRaWAN gateway can handle thousands of devices because:

  1. Frequency diversity: 8+ channels at different frequencies
  2. SF orthogonality: 6 SFs per channel
  3. Time diversity: Devices transmit infrequently (1-2 messages/hour)

Result: 8 channels x 6 SFs = 48 “virtual channels” available simultaneously

When to Use Each Spreading Factor

Scenario Recommended SF Why?
Smart building sensors SF7-8 Short range, high throughput, battery savings
Urban parking SF7-9 Dense gateway deployment, moderate range
Agricultural monitoring SF10-11 Wide area coverage, infrequent updates
Mountain/wilderness tracking SF12 Maximum range, minimal infrastructure
Industrial with gateways SF7-8 Gateways nearby, high update frequency

Adaptive Data Rate (ADR)

LoRaWAN networks automatically optimize SF using Adaptive Data Rate:

  1. Device sends uplinks with current SF
  2. Network server analyzes link quality (SNR, RSSI)
  3. If link is strong: Server commands device to use lower SF (faster, saves battery)
  4. If link is weak: Device increases SF (slower, but reliable)
ADR Best Practice

Enable ADR for stationary devices (sensors, meters). Disable ADR for mobile devices (trackers) since link quality changes rapidly as they move.

Conceptual Diagrams

What’s Next


Animation Source Code

This animation is implemented in approximately 650 lines of Observable JavaScript. Key techniques:

  1. D3.js SVG visualization: Range circles, chirp waveform, device status
  2. Real LoRa parameters: Actual sensitivity, data rate, and airtime values
  3. Interactive controls: SF slider, bandwidth selector, demo scenarios
  4. Link budget calculator: Real-world propagation estimates
  5. ADR context: Explains how networks optimize SF automatically

The animation uses the IEEE color palette for consistency: - Navy (#2C3E50): Primary UI elements - Teal (#16A085): Good signal, high efficiency - Orange (#E67E22): Warnings, high airtime - Gray (#7F8C8D): Neutral elements