The Flash Tool is the universal flashing UI inside Mission Control at Settings -> Flash Tool. It handles both flight controller firmware and companion-computer agents from one place. You never need a separate flashing tool.Documentation Index
Fetch the complete documentation index at: https://docs.altnautica.com/llms.txt
Use this file to discover all available pages before exploring further.
What it does
The Flash Tool covers two jobs:- Flight controller firmware. Flash ArduPilot, Betaflight, PX4, or iNav onto the FC over WebSerial. The board enters DFU and the firmware binary writes through the bootloader.
- Companion computer agents. Install the ADOS Drone Agent (air-side) or ADOS Ground Agent (ground-side) onto your SBC. The Flash Tool either flashes a complete OS image over WebUSB or surfaces a
curlinstall command, depending on the board.
Choosing your firmware stack
When you open the Flash Tool, the first selector picks the firmware stack:| Stack | Where it runs | Flow |
|---|---|---|
| ArduPilot | Flight controller (STM32) | WebSerial DFU |
| Betaflight | Flight controller (STM32) | WebSerial DFU |
| PX4 | Flight controller (STM32) | WebSerial DFU |
| iNav | Flight controller (STM32) | WebSerial DFU |
| ADOS Drone Agent | Companion computer (air-side) | Browser flash or install command |
| ADOS Ground Agent | Companion computer (ground-side) | Install command |
Browser flash flow
Some boards run the agent on a complete ADOS-built OS image. For those boards, the Flash Tool writes the image directly to the board’s flash over WebUSB. No separate tool, no terminal.Pick the board
In the Flash Tool, pick ADOS Drone Agent (or ADOS Ground Agent) and select a browser-flash board. Today this means the Luckfox Pico Zero.
Put the board in bootrom mode
Unplug the USB-C cable. Hold the BOOT button on the board. Plug the cable in while still holding the button. Release after the host enumerates the device.
Connect the board
Click Flash via browser. The browser shows its native device picker. Select the Luckfox entry and click Connect.
Watch the progress bar
The Flash Tool writes the agent image. The progress bar shows percent complete. Do not unplug the cable.
Install command flow
For boards that already run a stock vendor OS (Raspberry Pi OS, Radxa OS, Ubuntu, JetPack, and similar), the Flash Tool surfaces acurl ... | sudo bash install command. SSH into the board and paste it. The install script handles the rest.
Pick the board
In the Flash Tool, pick ADOS Drone Agent or ADOS Ground Agent and select your board (Pi 4B, Radxa CM4, Jetson, and similar).
Copy the install command
The Flash Tool shows a single command pre-filled for your selected board. Click Copy.
Paste over SSH
SSH into the board and paste the command. The install script installs Python, dependencies, the agent itself, and systemd services. It detects the board profile, picks the right tier, and starts the agent.
Watch the installer output
The script logs its progress. On a fast network and a Class 10 SD card, expect 3 to 10 minutes.
After flash: pairing
Once the agent is running, the board joins your fleet through the same pairing flow regardless of how you installed it.Find the setup network
The board exposes a Wi-Fi network named
ados-setup-<id> where <id> is the last few characters of the device ID. Join it from your phone or laptop.Open the captive portal
Most operating systems open the captive portal automatically. If not, open
http://192.168.4.1 in a browser. The setup webapp walks you through identity, MAVLink, video, network, and Mission Control.Enter your home Wi-Fi credentials
The captive portal asks for your home Wi-Fi (or any uplink network) and a friendly name for the drone. The board reboots onto your network.
Browser support
The browser flash flow uses WebUSB. The install command flow does not use any browser API beyond clipboard copy.| Browser | Browser flash | Install command |
|---|---|---|
| Chrome (89+) | Yes | Yes |
| Edge (89+) | Yes | Yes |
| Brave | Yes | Yes |
| Opera | Yes | Yes |
| Safari | No | Yes |
| Firefox | No | Yes |
Troubleshooting
The board does not appear in the device picker
The board does not appear in the device picker
The board is not in bootrom mode. Unplug the cable, hold BOOT, plug back in, then release BOOT. Try a different USB-C cable. Charge-only cables do not enumerate as data devices. Some hubs filter out bootrom-class devices, so plug the board straight into a host port.
The browser shows no Chromium WebUSB support
The browser shows no Chromium WebUSB support
You are on Safari or Firefox. Open Mission Control in Chrome, Edge, Brave, or Opera. The install command flow works in any browser if your board runs a stock OS.
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.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 needs to download 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 flash stops partway through
The flash stops partway through
Do not unplug the cable. Click Retry. If retry fails, repeat the bootrom-mode procedure (unplug, hold BOOT, replug, release). The bootloader is in mask ROM and a partial flash does not brick the board.
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.