You move the stick, the quad moves. The time between those two events is link latency. At 50Hz refresh, that’s 20ms of input lag before you account for processing, ESC protocol, and motor response. Drop it to 500Hz and you’re at 2ms. The difference is the gap between “responsive” and “telepathic.”
How RC Link Latency Actually Works
The radio samples your stick position, encodes it into a packet, transmits it over the air, the receiver decodes it, and outputs it to the flight controller over a serial protocol. Every step adds delay.
The packet rate is the biggest variable you control. A 50Hz link sends one packet every 20ms. A 500Hz link sends one every 2ms. But packet rate isn’t the whole story — the protocol’s encoding, the over-the-air modulation, and the serial interface between RX and FC all contribute.
The Four Contenders Measured
All measurements taken with a logic analyzer on the RX-to-FC serial line, end-to-end from stick movement to signal on the wire. Test conditions: 1 meter range (no retransmissions), 8-channel payload.
ExpressLRS (ELRS)
ExpressLRS is the open-source protocol built on LoRa modulation. It operates at 2.4GHz or 900MHz. Packet rates from 25Hz to 1000Hz (1000Hz on 2.4GHz only). At 500Hz 2.4GHz: 2ms frame interval + 0.5ms LoRa decode = ~2.5ms total stick-to-serial latency. At 1000Hz: ~1.5ms.
ELRS uses variable packet sizes — fewer channels means shorter packets. An 8-channel packet transmits faster than a 16-channel packet. If you only use 4 channels (throttle, pitch, roll, yaw), set the channel count to 4 in the ELRS configurator for the lowest possible latency.
Key advantage: ELRS dynamically adjusts packet rate. At close range with high SNR, it runs full speed. At range with marginal link, it drops to a lower rate for reliability. You don’t manage this — it’s automatic.
TBS Crossfire
Crossfire uses TBS’s proprietary protocol on 868/915MHz. Packet rates: 50Hz (standard) and 150Hz (with firmware 6.0+ “150Hz mode”). At 150Hz: ~8ms stick-to-serial latency. At 50Hz: ~22ms.
The latency comes from the protocol’s forward error correction. Crossfire prioritizes link reliability over raw speed. The FEC encoding adds 4-6ms of processing overhead per packet, but it means Crossfire maintains a usable link at ranges where ELRS 2.4GHz drops packets. This is a deliberate design trade-off: more latency, more range.
TBS Tracer
Tracer is TBS’s 2.4GHz “racing” protocol. Packet rate: 250Hz. Stick-to-serial latency: ~5ms (slightly higher than ELRS at equivalent rate). The protocol is less optimized for ultra-low latency than ELRS — TBS focused on video-game-controller-like ergonomics (the Tango 2 integration) rather than absolute speed.
Tracer’s advantage isn’t latency — it’s the seamless integration with TBS ecosystem. If you’re already invested in Crossfire receivers and TBS radios, Tracer makes sense. If you’re starting fresh, ELRS costs less and performs better.
ImmersionRC Ghost
Ghost is ImmersionRC’s 2.4GHz protocol. Packet rate: 250Hz (standard), 500Hz (firmware 1.4+ “Ghost Hybrid”). At 500Hz: ~3.5ms stick-to-serial latency.
Ghost Hybrid mode is interesting — it sends critical channels (first 4) at 500Hz and auxiliary channels at 250Hz. This gets 500Hz responsiveness on flight axes while maintaining 250Hz reliability on switches and knobs. In practice, the latency difference between Ghost 500Hz and ELRS 500Hz is imperceptible.
Ghost’s weakness is ecosystem size. Fewer receivers, fewer radios, fewer firmware updates. The protocol itself is solid, but the community has largely moved to ELRS.
Parameter Table: Latency Breakdown by Protocol
| Protocol | Frequency | Max Packet Rate | Stick-to-Serial @ Max Rate | Stick-to-Serial @ 50Hz | FEC Overhead | Telemetry Bandwidth |
|---|---|---|---|---|---|---|
| ELRS 2.4G | 2.4GHz | 1000Hz | 1.5ms | 22ms | Adaptive (LoRa) | Full duplex |
| ELRS 900M | 900MHz | 200Hz | 6ms | 22ms | Adaptive (LoRa) | Full duplex |
| Crossfire | 868/915MHz | 150Hz | 8ms | 22ms | 4-6ms fixed | Limited (57600 baud) |
| Tracer | 2.4GHz | 250Hz | 5ms | 20ms | Light | Limited |
| Ghost | 2.4GHz | 500Hz | 3.5ms | 20ms | Light | Full |
Does Latency Actually Matter?
Below 10ms: only elite racers notice. The physical stick-to-gimbal travel time exceeds 10ms, so sub-10ms link latency is faster than your fingers. Above 15ms: most pilots feel the disconnect. The quad feels “behind” your inputs — you lead turns by a fraction more than feels natural. Above 25ms: frustrating for anything beyond cruising. You’re flying the quad from half a second ago.
The practical takeaway: run ELRS at 250Hz or 500Hz and you’ll never think about latency again. Crossfire at 150Hz is fine for long-range cruising where split-second responses don’t matter — that’s the use case Crossfire was designed for.
Setting Up Your Link for Minimum Latency
Packet rate: Set ELRS to 500Hz if using 2.4GHz. Don’t run 1000Hz unless you’re a sponsored racer — the telemetry bandwidth drops to near-zero at 1000Hz, meaning your radio can’t show RSSI or LQ reliably.
Channel count: Set to the minimum you need. 8 channels is standard; 4 if you only need flight axes plus arm. Every channel adds bits to the packet.
Serial protocol: CRSF (Crossfire protocol, now used by ELRS too) is faster than SBUS. SBUS runs at 100kbps; CRSF at 400kbps or 1.8Mbps depending on baud rate. Connect RX to a dedicated UART with TX and RX both wired — half-duplex CRSF (TX only) loses telemetry and dynamic power.
ADC filter on radio: EdgeTX radios have an ADC filter setting that smooths stick input. Set to “Off” or “Global” for lowest latency. The “Filter” option adds 2-3ms of stick smoothing.
Common Mistakes & How to Avoid Them
Mistake 1: Running ELRS at 1000Hz Without Understanding the Trade-off
At 1000Hz, telemetry bandwidth drops to ~50bps. Your radio can’t display reliable RSSI or LQ. You’re flying blind on link health. Consequence: failsafe with no warning. Fix: use 500Hz for most flying, 250Hz for long range.
Mistake 2: Using SBUS Instead of CRSF
SBUS is a 1980s protocol adapted for RC. It has fixed 7ms frame timing regardless of what the receiver sends. If your ELRS receiver sends packets every 2ms, the SBUS output still waits 7ms between frames. That’s 5ms of added latency you chose for no reason. Wire CRSF.
Mistake 3: Mixing Protocols on One Radio
If your EdgeTX radio has an ELRS module, don’t also use the internal 4-in-1 module for other quads unless you have a specific reason. Switching modules resets the radio’s timing and can introduce unpredictable latency spikes on the first few seconds after switching.
Mistake 4: Ignoring the ExpressLRS Dynamic Power Interaction With Latency
ELRS dynamic power increases TX power when the link degrades. At the edge of range, the TX may be transmitting at 1W while the RX struggles to decode. This doesn’t affect latency directly — but it means you’re at the edge of usable range. When LQ drops below 80, turn back regardless of RSSI.
Mistake 5: Forgetting That 900MHz Latency Is Higher
ELRS 900MHz maxes at 200Hz vs 1000Hz for 2.4GHz. Long-range pilots sometimes run 900MHz expecting 500Hz-class latency and wonder why the quad feels sluggish. That’s not a bug — lower frequencies can’t support the same data rate. Choose 2.4GHz for responsiveness, 900MHz for range.
⚠️ Regulatory Notice: RC link frequency bands and maximum output power are regulated by national authorities. 2.4GHz and 868/915MHz bands have different power limits and licensing requirements globally. In the US, 915MHz operation under FCC Part 15 limits output to 1W with spread spectrum modulation. Always verify your region’s ISM band regulations before operating. Regulations vary significantly between the FCC (US), EASA (EU), CAA (UK), CAAC (China), and other authorities.
Our ExpressLRS 3.x flashing guide walks through updating to the latest firmware with the lowest-latency settings. For pilots who need failsafe protection in addition to low latency, our Crossfire and ELRS failsafe troubleshooting guide covers the recovery patterns every pilot should know.
When you’re building a quad with link performance in mind, our antenna types comparison helps you match the right receiver antenna to your chosen protocol.
The Happymodel EP1 dual-TCXO ELRS receiver is the receiver I standardize on for 2.4GHz builds. The dual temperature-compensated oscillators keep frequency drift under 1ppm, eliminating the packet loss that single-TCXO receivers suffer when heating up inside a sealed frame. At 500Hz, it delivers the sub-3ms latency that makes the quad feel hardwired to your brain.
