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.