What is XLRS?
XLRS is an extensible long-range control link built on cheap, available LoRa hardware. It’s designed for low-latency and long-range control for drones and robotics, with a protocol that’s structured, documented, and hackable.
Where other ecosystems optimize hard for a single axis (e.g. pure racing latency, or huge telemetry streams), XLRS targets the middle ground:
- Reliable long-range control
- Structured payload system for custom commands
- First-class support for non-RC data (robotics/control messages)
Notes on ELRS repeatability & latency
ELRS “repeatability” can be impacted by design choices like interrupt-based processing. For example, features like error correction can be harder to implement deterministically when timing is interrupt-driven.
On RP2040, we can use Programmable I/O (PIO) to achieve lower latency and more deterministic timing for critical paths (and we plan to take advantage of that on RP2040-based targets).
Multi-operator setups
XLRS aims to support Primary + Secondary Operators (multi-remote setups), enabling workflows like a pilot + payload operator or primary control + secondary supervisory control.
Who is it for?
- Robotics engineers: who need a reliable link but want to control more than servos.
- Drone developers: who want low-latency control without being locked into a rigid payload model.
- Embedded developers: who want to look under the hood and understand the protocol.
- RF hackers: who want to experiment with modulation/PHY settings without fighting a rigid codebase.
Current maturity
[!WARNING] XLRS is currently in ALPHA. The protocol may change.
Active development is happening on the feat/sx1280 branch (and others). APIs are subject to change.