Before ExpressLRS and modern RC protocols, drone pilots faced a painful trade-off: you could have long range or low latency, but not both at a reasonable cost. Traditional 2.4 GHz RC protocols (like PWM/PPM/SBUS) offered low latency but limited range to a few kilometers at best, while higher-power solutions were expensive and power-hungry.
LoRa (Long Range) changed this equation fundamentally. By using Chirp Spread Spectrum (CSS) modulation, LoRa achieves an extraordinary combination of extreme receiver sensitivity, strong interference immunity, and low power consumption — all at a fraction of the cost of proprietary solutions.
The Semtech SX1276 is the most widely adopted LoRa transceiver in the ELRS ecosystem for the 900 MHz band, and understanding how it works is key to appreciating why ExpressLRS receivers like the EWM700-900T20DXN can deliver 20–40 km range at only 100 mW output power.
| Parameter | Value |
|---|---|
| Frequency Range | 137 – 1020 MHz (covers 433/868/915 MHz ISM bands) |
| Modulation | LoRa (CSS), FSK, GFSK, MSK, OOK |
| Max TX Power | +20 dBm (100 mW) — integrated PA |
| RX Sensitivity (LoRa) | -148 dBm @ SF12, BW 125 kHz |
| Max Link Budget | 168 dB (industry-leading) |
| RX Current | 9.9 mA (continuous) |
| Sleep Current | 200 nA (register retention) |
| Data Rate (LoRa) | 0.3 – 37.5 kbps (programmable) |
| Interface | SPI |
| Package | QFN 28 |
The headline number here is -148 dBm receiver sensitivity. To put this in perspective: a typical 2.4 GHz Wi-Fi chip has a sensitivity of around -90 dBm. The SX1276 can detect signals that are over 50,000 times weaker — this is the fundamental reason LoRa achieves such extraordinary range.
The EWM700-900T20DXN pairs the SX1276 with an ESP8285 MCU:
The ESP8285 handles the ELRS protocol stack, CRSF communication with the flight controller, and Wi-Fi OTA updates
The SX1276 handles the physical layer — LoRa modulation/demodulation, frequency hopping, and RF transmission/reception
The integrated +20 dBm PA provides 100 mW output without external amplification
Unlike traditional FSK (Frequency Shift Keying) modulation, which represents data as discrete frequency shifts, LoRa uses Chirp Spread Spectrum (CSS) — a technique where data is encoded in frequency-swept signals called "chirps."
Up-Chirp: Frequency linearly increases from low to high over the symbol period
Down-Chirp: Frequency linearly decreases from high to low
Each chirp sweeps across the entire allocated bandwidth (e.g., 125 kHz or 250 kHz). The starting frequency offset within the chirp encodes the data bits.
The fundamental principle of spread spectrum is: transmit a narrowband signal over a wide bandwidth to gain processing gain.
Mathematical intuition:
Where:
= Processing gain (dB)
= Bandwidth (Hz)
= Bit rate (bps)
For LoRa at SF12, BW = 125 kHz, the effective bit rate is approximately 293 bps:
This 26 dB of processing gain means the signal can be recovered even when it is 26 dB below the noise floor — this is why LoRa can achieve -148 dBm sensitivity.
The Spreading Factor (SF) is the most critical parameter in LoRa. It defines how many chirps encode a single data bit.
| SF | Chirps per Bit | Data Rate (BW=125 kHz) | Sensitivity | Range Impact |
|---|---|---|---|---|
| SF7 | 128 | ~5.47 kbps | -123 dBm | Shortest |
| SF8 | 256 | ~3.13 kbps | -126 dBm | |
| SF9 | 512 | ~1.76 kbps | -129 dBm | |
| SF10 | 1024 | ~0.98 kbps | -132 dBm | |
| SF11 | 2048 | ~0.54 kbps | -135 dBm | |
| SF12 | 4096 | ~0.29 kbps | -148 dBm | Longest |
The trade-off is clear:
Higher SF = More processing gain = Longer range = Lower data rate
Lower SF = Less processing gain = Shorter range = Higher data rate
In ELRS on 900 MHz, the system typically uses SF7–SF9 for normal operation (balancing range and refresh rate), and can fall back to higher SFs in weak signal conditions.
Bandwidth (BW): The frequency range the chirp sweeps across.
| BW | Sweep Range | Data Rate | Sensitivity |
|---|---|---|---|
| 125 kHz | 125 kHz | Low | Best |
| 250 kHz | 250 kHz | Medium | Moderate |
| 500 kHz | 500 kHz | High | Worst |
Coding Rate (CR): Forward Error Correction (FEC) overhead.
| CR | Data Bits | Redundant Bits | Error Correction |
|---|---|---|---|
| 4/5 | 4 | 1 | Weak |
| 4/6 | 4 | 2 | Moderate |
| 4/7 | 4 | 3 | Strong |
| 4/8 | 4 | 4 | Strongest |
ELRS typically uses CR = 4/5 or 4/6, balancing reliability with throughput.
A complete LoRa packet consists of:
Preamble: Used by the receiver to synchronize timing and frequency. Longer preambles help in weak signal conditions.
Sync Word: Distinguishes LoRa networks — prevents interference between different systems on the same frequency.
Header: Contains payload length, coding rate, and CRC presence (explicit mode) or is omitted (implicit mode for fixed-length packets).
Payload: The actual data — in ELRS, this contains the CRSF-encoded RC channel data.
CRC: 16-bit cyclic redundancy check for data integrity.
The link budget is the sum of all gains and losses in a communication link. The SX1276 achieves a remarkable 168 dB maximum link budget.
Example calculation for EWM700-900T20DXN at 915 MHz:
| Component | Value |
|---|---|
| TX Power (SX1276 PA) | +20 dBm (100 mW) |
| TX Antenna Gain | +2 dBi (typical IPEX1 dipole) |
| Path Loss (free space, 10 km) | -111.7 dB |
| RX Antenna Gain | +2 dBi |
| RX Sensitivity (SF12, BW125) | -148 dBm |
| Link Margin | 20 + 2 - 111.7 + 2 + 148 = 60.3 dB |
A 60 dB link margin means the signal at the receiver is 1,000,000 times stronger than the minimum detectable level — providing massive headroom for obstacles, interference, and fading.
| Modulation | Sensitivity @ 1 kbps | Range (Relative) | Interference Immunity |
|---|---|---|---|
| FSK/GFSK | -112 dBm | 1× (baseline) | Low |
| MSK | -115 dBm | 1.4× | Low-Moderate |
| LoRa SF7 | -123 dBm | 3.5× | High |
| LoRa SF12 | -148 dBm | 63× | Very High |
LoRa provides 8–10 dB better sensitivity than FSK at the same data rate, translating to approximately 2.5–3× the range under identical conditions.
Traditional narrowband systems require the signal to be above the noise floor to be decodable. LoRa's CSS modulation allows signal recovery below the noise floor
This is why ELRS on 900 MHz can maintain a control link even when the signal is too weak to be heard on a spectrum analyzer — the CSS processing gain pulls the signal out of the noise.
In the ExpressLRS firmware, the SX1276 is configured for:
Frequency Hopping: The SX1276 rapidly switches between multiple 915 MHz channels following a pseudo-random sequence seeded by the Binding Phrase. This provides resilience against narrowband interference.
Adaptive SF/CR: ELRS dynamically adjusts the Spreading Factor and Coding Rate based on link quality. In strong signal conditions, it uses SF7/CR4/5 for maximum refresh rate; as the signal weakens, it drops to higher SFs to maintain the link.
CAD (Channel Activity Detection): The SX1276's CAD feature allows the receiver to detect LoRa preambles without fully demodulating the packet, saving power.
| Mode | Current | Notes |
|---|---|---|
| Sleep | 200 nA | Register retention only |
| Standby | 1.6 mA | Ready for TX/RX |
| RX (continuous) | 9.9 mA | Listening for packets |
| RX (CAD mode) | ~5 mA | Periodic preamble detection |
| TX @ +20 dBm | ~120 mA | 100 mW output |
| TX @ +13 dBm | ~45 mA | 20 mW output |
The EWM700-900T20DXN's 33 mA receive current (slightly higher than the SX1276 alone due to the ESP8285 MCU overhead) enables continuous listening without significant battery drain — critical for drone applications where the receiver is always powered.
| Parameter | SX1276 (900 MHz) | SX1281 (2.4 GHz) |
|---|---|---|
| Frequency | 137–1020 MHz | 2.4–2.5 GHz |
| Modulation | LoRa (CSS), FSK | LoRa, FLRC, GFSK |
| Max Sensitivity | -148 dBm | -132 dBm (LoRa) |
| Max Packet Rate | 200 Hz (ELRS) | 1000 Hz (ELRS FLRC) |
| Max Link Budget | 168 dB | 154 dB |
| RX Current | 9.9 mA | 8.2 mA |
The SX1276 excels at extreme range thanks to lower frequency path loss and higher sensitivity. The SX1281 excels at high speed thanks to FLRC modulation support and wider bandwidth.
This is why the EWM700 series uses SX1276 for the 900 MHz model (range-optimized) and SX1281 for the 2.4 GHz models (speed-optimized).
| Environment | Estimated Range (EWM700-900T20DXN, 100 mW) |
|---|---|
| Open field, line-of-sight | 30–40 km |
| Suburban, light trees | 15–25 km |
| Dense forest | 5–10 km |
| Urban, buildings | 3–8 km |
| Indoor, through walls | 1–3 km |
These ranges are achieved at only 100 mW — less power than a standard LED light bulb. The combination of LoRa CSS modulation, the SX1276's exceptional sensitivity, and ELRS's optimized protocol makes this possible.
The SX1276 LoRa transceiver is the technological foundation that enables 900 MHz ELRS receivers like the EWM700-900T20DXN to deliver extraordinary performance:
CSS modulation provides 26+ dB of processing gain, pulling signals from below the noise floor
-148 dBm sensitivity enables detection of signals 50,000× weaker than conventional RC receivers
168 dB link budget translates to 30–40 km range at only 100 mW
Low power consumption (9.9 mA RX, 200 nA sleep) makes it ideal for battery-powered drones
Frequency hopping and adaptive SF/CR ensure robust links in challenging environments
While the 2.4 GHz SX1281 offers higher speed for racing, the SX1276 remains the undisputed champion for long-range drone control — proving that sometimes, the best technology is the one that lets you hear a whisper from 40 km away.