# How LoRa Works

LoRa (Long Range) is a proprietary wireless modulation technique developed by Semtech Corporation. It is the physical radio layer that both MeshCore and Meshtastic use to transmit messages over long distances without any infrastructure.

## The Physics: Chirp Spread Spectrum

LoRa uses a modulation method called **Chirp Spread Spectrum (CSS)**. Instead of transmitting a signal at a fixed frequency, LoRa encodes data in "chirps" - continuous sweeps across a range of frequencies. This has two major practical effects:

- **Noise resistance:** Chirps are extremely hard to destroy with narrowband interference. A signal can be decoded even when it is well below the noise floor - typically down to - 20 dB SNR (20 dB below noise).
- **Multipath resilience:** Reflected signals arrive slightly offset in time but still decode correctly, which is critical in urban environments.

## Key Radio Parameters

LoRa performance is controlled by three main parameters that trade off between speed, range, and battery use:

<table id="bkmrk-parameterwhat-it-con"> <thead> <tr><th>Parameter</th><th>What It Controls</th><th>Trade-off</th></tr> </thead> <tbody> <tr> <td>**Spreading Factor (SF)**</td> <td>How long each symbol is spread in time; each symbol carries SF bits using 2 to the power of SF chirps (SF5 - SF12 on modern chips; presets typically use SF7 - SF12)</td> <td>Higher SF = longer range &amp; more noise resistance, but slower data rate and more airtime</td> </tr> <tr> <td>**Bandwidth (BW)**</td> <td>Width of the frequency channel (125, 250, or 500 kHz typical)</td> <td>Wider BW = faster data rate, shorter range</td> </tr> <tr> <td>**Coding Rate (CR)**</td> <td>Forward error correction ratio (4/5, 4/6, 4/7, 4/8)</td> <td>Higher CR = more redundancy and error correction, more overhead per packet</td> </tr> </tbody></table>

MeshCore and Meshtastic both define preset channel configurations that bundle these parameters together. Most users never need to change the raw parameters - picking the right preset is sufficient.

## Frequency Bands

LoRa devices operate in the ISM (Industrial, Scientific, and Medical) bands, which are license-free for compliant devices:

- **915 MHz** - United States and Canada (902 - 928 MHz ISM band)
- **868 MHz** - Europe
- **433 MHz** - available in some regions; better building penetration per the physics, but tight power and duty-cycle limits often offset the range advantage

In the US, 915 MHz operation is governed by FCC Part 15 rules: maximum 1 W (30 dBm) conducted power, and maximum 4 W (36 dBm) EIRP (conducted power plus antenna gain). **No amateur radio license is required** to operate a LoRa mesh node under these rules.

## Practical Range

Range depends heavily on environment, antenna height, and channel settings:

- **Urban, near ground level:** 1 - 5 km node to node
- **Rural, line-of-sight:** 5 - 20 km node to node
- **Elevated repeater (hilltop or tower):** 20 - 50+ km

Through a mesh network of repeater nodes, a single message can travel hundreds of miles, hopping from node to node across a region.

## Power Consumption

LoRa radios use very little power, which is one of their key advantages:

- **RF output power:** typically 100 - 160 mW (20 - 22 dBm) at maximum on common nodes
- **Total power consumption:** roughly 50 - 150 mW for the radio while idle-listening, rising to 0.4 - 1 W or more for the whole node while transmitting, depending on the board
- **Sleep mode:** in deep sleep a node draws a fraction of a milliamp - weeks to months on a small LiPo - though mesh nodes are rarely fully asleep, since they must keep listening to relay
- **Typical client node:** 1 - 3 days on a 3000 mAh battery with moderate messaging activity
- **E-ink display devices** (T-Echo, Wireless Paper): 7 - 14 days on a charge

Repeater nodes that must always be listening should be placed on continuous power (solar or mains) for reliable operation.

## Data Rate

LoRa is designed for low data rate, low power communication - not for streaming or large file transfers. Depending on settings:

- Data rate ranges from approximately 0.3 kbps (slowest, longest range) to about 22 kbps (fastest LoRa preset, such as ShortTurbo, shortest range)
- Typical mesh presets are optimized for the 1 - 5 kbps range, balancing range and throughput for text messaging
- Each LoRa packet payload is limited to 255 bytes maximum

This makes LoRa mesh ideal for text messages, GPS coordinates, and short sensor readings - and unsuitable for voice, images, or video.