Skip to main content
By the end of this page the Drone Agent runs on a companion computer wired to your flight controller, and Mission Control shows it in the fleet.

Hardware

  • A supported single-board computer. See Supported hardware for the board list.
  • A flight controller running ArduPilot, PX4, Betaflight or iNav, wired to the board by UART or USB.
  • A USB or CSI camera if you want video.
  • Internet access on the board during install, and SSH access to it.
The board needs a 64-bit (aarch64) Linux image. On a Raspberry Pi, use Raspberry Pi OS Lite 64-bit. 32-bit images are not supported. On x86_64 Linux the one-line installer stops, because there is no published x86_64 installer: build ados-installer from source (cargo build --release --workspace) and run it with --channel edge --artifacts <dir>. The full procedure is on Install the Drone Agent.

Install

Run this over SSH on the board:
Mission Control’s Flash Tool shows the same command for your board if you prefer to copy it from there. On a fresh install in an interactive terminal, the installer opens a full-screen wizard with seven screens:
  1. Role: what the device is. Pick This flies (Drone).
  2. Hardware: the detected board and peripherals.
  3. Features: optional components to install.
  4. Wi-Fi: the network the board joins.
  5. Name: the node’s hostname.
  6. Pairing: optional pairing with Mission Control.
  7. Review: confirm and install.
The Workstation role has no Pairing screen.
Pass --yes for a silent install with the defaults, or --profile drone to pin the role. Either flag skips the wizard, as do --non-interactive, --json, --quiet, --pair and --upgrade. Pass flags after -s --, for example curl -sSL https://raw.githubusercontent.com/altnautica/ADOSDroneAgent/main/scripts/install.sh | sudo bash -s -- --yes. Every flag is listed on Install the Drone Agent.

Verify

Run the terminal status page:
It shows the node name, profile, the addresses the node answers on (best first), MAVLink, video and cloud state, and any setup steps still open. ados status prints a compact summary and ados status --json prints the same data for scripts. Open the agent dashboard in a browser on the same network:
Agent dashboard Home with a red status dot on the HW tile reading 2/3 and naming the missing Camera

Agent dashboard Home while setup is still incomplete.

The setup steps the agent tracks are, in order:
  1. Welcome: the device identity is known and a network (Wi-Fi, hotspot, USB tether or LAN) is up.
  2. Profile: confirm the node’s role.
  3. Operating region: set the region for radio rules.
  4. Hardware check: required components are detected.
  5. Cloud posture: choose local only, cloud or a self-hosted backend.
  6. Pair with Mission Control: shown only when a cloud or self-hosted backend is chosen.
  7. Flight controller: MAVLink is connected.
  8. Video: a camera is streaming. Skip it if the node carries no camera.
  9. Remote access: optional Cloudflare tunnel.
  10. Finish: setup is complete and Mission Control can reach the node.
On a ground station there is no Flight controller step, and Ground receiver and Local display follow Video. If something is missing, start with:
The units on a drone node are listed on systemd services. More fixes are in Drone Agent troubleshooting.

Connect Mission Control

  1. Open Mission Control on a laptop on the same network as the board.
  2. Click + next to Fleet in the sidebar, or press Ctrl+K (Cmd+K on macOS) and choose Connect Drone.
  3. Under Companion Computer, in Add a drone or ground station, enter <hostname>.local or the board’s IP (for example 192.168.1.50). A new agent also shows a 6-character pairing code in ados status; you can type that instead.
  4. Click Pair.
The node joins the fleet. Mission Control finds the agent’s video on its own; there is no video URL to enter.

Next steps

Pairing

How Mission Control pairing works and how to unpair.

Agent dashboard

Every page of the on-board dashboard.

Your first flight

Arm and fly from the Cockpit tab.

Add a ground station

Long-range video and telemetry over WFB-ng.
Last modified on October 11, 2026