Under active development. Breaking changes expected. APIs, installers, and UI may shift between releases.
One ground node. Every drone it can reach.
Usable today. Early access — some pieces run behind a feature flag and APIs may shift between releases.
TRANSITIVE ENROLLMENT
Pair the ground node. Get the drone too.
You pair the console to the ground station. The drone linked to it over the radio joins the fleet on its own, labeled with how it is reached and carrying its own feed. No second pairing step in the field.
Each node in the fleet shows how it is reached. A relayed drone reads as reached through its ground station, not as a mystery entry. The provenance stays visible, so you always know whether you are talking to a drone directly or through a radio hop.
Identity is keyed to the device, not to the path. If you later pair to that same drone directly, the console upgrades the existing row in place rather than spawning a duplicate. One drone stays one node however you reach it.
SELF-HEALING REACH
Relay nodes extend the bubble.
One ground node covers the line of sight its antennas see. Field-placed relay nodes catch the drone from more angles and forward its stream over a self-healing mesh. If a relay drops, the mesh re-routes with no operator action.
The relay roles, the mesh carrier, and cloud gateway election are covered in depth on the Distributed Receive page. Relay and control share the same node, so one ground station can extend reach and drive a control lane at once.
CONTROL LANE
The ground node as a programmatic transmitter.
Alongside the video radio, the ground node can drive an ELRS control link. It reads sticks from a handset or from code and transmits them on its own module, so you get a long-range command lane that is separate from the main link.
The control lane rides its own radio, so it stays up as a backup path for the moments that matter: flying the drone home when the main link is stressed, or reaching a small drone that carries no companion computer at all.
Command authority is arbitrated. One holder has command at a time, and full flight control is enabled in stages rather than switched on all at once, so the lane never fights the main link for the sticks.
The lane is being extended to relay control to a second drone through a ground node, and to chain reach over a mesh last mile so a distant drone can be flown through a nearer one.
LANE MODES
Two ways to talk to the drone.
The control lane carries plain RC channels or a MAVLink command and telemetry stream. The sticks behind it can come from a handset or from automation.
RC channels
RC channel injection
The ground node's radio module transmits standard RC channels a flight controller already understands. Software sets the channel values, so the sticks can come from a handset or from code.
MAVLink
MAVLink over the link
An independent command and telemetry lane that runs over the same ELRS radio, separate from the main video link. It carries commands out and status back on its own path.
Input
A handset as a USB input
Plug a handset into the ground node with its own transmitter switched off. The ground node reads the sticks as a plain USB input and its module does the transmitting.
API
Programmatic sticks
A local interface lets mission software or the console drive the channels directly. The same lane that a pilot flies is open to automation.
RELATED
Take it further.
One node reaches more than one drone.
Setup walkthroughs, the reach model, and the control-lane reference live in the public docs.
Transitive enrollment docs