What it does
The Flash Tool covers two jobs:- Flight controller firmware. Flash ArduPilot, Betaflight, PX4, or iNav onto the FC from the browser. The STM32 boards (ArduPilot, Betaflight, iNav) flash over WebUSB DFU; PX4 flashes through its serial bootloader over WebSerial.
- Companion computer agents. Install the ADOS Drone Agent (air-side) or ADOS Ground Agent (ground-side) onto your SBC. The Flash Tool surfaces a
curlinstall command for your board, which you paste over SSH.
Choosing your stack
When you open the Flash Tool, the first selector picks the stack:
For flight controller firmware, see Firmware Flashing. The rest of this page covers the companion-agent install flow.
Install command flow
The companion agents install on a board that already runs a stock vendor OS (Raspberry Pi OS, Radxa OS, Ubuntu, JetPack, and similar). The Flash Tool surfaces acurl ... | sudo bash install command pre-filled for your board. SSH into the board and paste it. The install script handles the rest.
1
Pick the board
In the Flash Tool, pick ADOS Drone Agent or ADOS Ground Agent and select your board (Pi 4B, Pi Zero 2 W, Radxa CM3, CM4, Rock 5C Lite, Cubie A7Z, and similar).
2
Copy the install command
The Flash Tool shows a single command pre-filled for your selected board. Click Copy.
3
Paste over SSH
SSH into the board and paste the command. The install script installs Python, dependencies, the agent itself, and the systemd services. It detects the board profile, picks the right tier, and starts the agent.
4
Watch the installer output
The script logs its progress. On a fast network and a Class 10 SD card, expect 3 to 10 minutes.
5
Confirm the agent is up
After the script exits, run
ados status on the board. You should see services in the active (running) state.After install: pairing
Once the agent is running, the board joins your fleet through the same pairing flow. The default and primary path is local, over the LAN.1
Open the setup webapp
Open
http://<board-ip>:8080 in a browser, or join the board’s ados-setup-<id> Wi-Fi network and follow the captive portal. The setup webapp walks you through identity, MAVLink, video, network, and Mission Control.2
Add the node in Mission Control
In Mission Control’s Fleet view, use Add a Node and enter the board’s hostname or IP. Mission Control pairs with the agent directly over the LAN. Cloud relay is a secondary, opt-in path for remote access.
3
Confirm the drone is live
The board shows up in Fleet view. Telemetry, video, and configuration are now available.
Troubleshooting
The install command fails on the board
The install command fails on the board
Check that the board has internet access (
ping 1.1.1.1). The install script downloads Python packages and any kernel-side modules. If your board is behind a corporate proxy, configure http_proxy and https_proxy before pasting the command. The full troubleshooting list is in Drone Agent troubleshooting.The board does not show up in Fleet view
The board does not show up in Fleet view
Confirm the agent is running with
ados status on the board. Then use Add a Node with the board’s hostname or IP. Mission Control resolves .local names over mDNS server-side. If you are on a different network, the LAN path will not reach the board.The captive portal does not load
The captive portal does not load
Some phones cache an old captive portal. Forget the
ados-setup-<id> network and rejoin. On Android, toggling Wi-Fi off and on usually fixes it. On iOS, open http://192.168.4.1 directly. If you still cannot reach the portal, the board may not have started its AP yet. Wait 30 seconds after the LED indicates boot complete.What’s next
Install paths
Decision tree for picking the right flow for your hardware.
Drone Agent installation
Canonical curl install for stock-OS boards.
Supported hardware
Boards and companion computers the agent runs on.