Skip to main content

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.

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.

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 curl install command, depending on the board.
It is the same panel for both. Pick your firmware stack, pick the board, and the Flash Tool shows the right flow.

Choosing your firmware stack

When you open the Flash Tool, the first selector picks the firmware stack:
StackWhere it runsFlow
ArduPilotFlight controller (STM32)WebSerial DFU
BetaflightFlight controller (STM32)WebSerial DFU
PX4Flight controller (STM32)WebSerial DFU
iNavFlight controller (STM32)WebSerial DFU
ADOS Drone AgentCompanion computer (air-side)Browser flash or install command
ADOS Ground AgentCompanion computer (ground-side)Install command
For flight controller firmware, see Firmware Flashing. The rest of this page covers companion-computer flows.

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.
1

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.
2

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.
3

Connect the board

Click Flash via browser. The browser shows its native device picker. Select the Luckfox entry and click Connect.
4

Watch the progress bar

The Flash Tool writes the agent image. The progress bar shows percent complete. Do not unplug the cable.
5

Wait for reboot

The board reboots when flashing finishes. The Flash Tool advances to the pairing step automatically.
Browser flash needs a Chromium-family browser. See Browser support below.

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 a curl ... | sudo bash install command. 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, Radxa CM4, Jetson, 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 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.
The install command flow does not need a Chromium browser, because the install runs on the board over SSH. Any browser that displays Mission Control will show you the command.

After flash: pairing

Once the agent is running, the board joins your fleet through the same pairing flow regardless of how you installed it.
1

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.
2

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.
3

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.
4

Watch Fleet view

Open Mission Control’s Fleet view. The newly flashed board shows up as a pending pair. Approve it and the drone is live.
For the full pairing walkthrough, see Pairing or, for ground-side nodes, Setup and Pairing.

Browser support

The browser flash flow uses WebUSB. The install command flow does not use any browser API beyond clipboard copy.
BrowserBrowser flashInstall command
Chrome (89+)YesYes
Edge (89+)YesYes
BraveYesYes
OperaYesYes
SafariNoYes
FirefoxNoYes
If you are on Safari or Firefox, the install command flow still works for any board that already runs a stock OS. For browser flash, switch to a Chromium-family browser.

Troubleshooting

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.
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.
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.
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.
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.