DRONE AGENT

The onboard computer for any drone.

The Altnautica drone agent is the open-source onboard companion for any drone. Run one install command on a Raspberry Pi, a Jetson, or another ARM64 Linux board and it becomes a full companion computer: MAVLink routing, long-range HD video, cloud fleet connectivity, on-vehicle AI, and a signed plugin system. One agent, every flight controller.
my-drone.local:8080
The drone agent's home page: flight controller, video, radio link and services on one status screenThe drone agent's home page: flight controller, video, radio link and services on one status screen
21profiles
Auto-detected boards
4
Agent profiles
1command
Install and update
GPLv3
License

The agent runs on a Linux board beside the flight controller.

The agent runs on a Linux board beside the flight controller.

GET STARTED

One command on the companion computer.

SSH into the board, run the installer, and it auto-detects the hardware, installs dependencies, and starts every service. No follow-up steps.

ssh into the companion computer
curl -sSL https://raw.githubusercontent.com/altnautica/ADOSDroneAgent/main/scripts/install.sh | sudo bash

The one-line installer runs on Debian 11 or later and Ubuntu 22.04 or later on ARM64, including Raspberry Pi OS and Armbian images. It verifies the installer binary's checksum and signature before running it. Scales from a 1 GB Raspberry Pi 3 up to a Jetson Orin.

THE OPEN COMPUTE LAYER

Everything above flight, handled.

A flight controller stabilizes the airframe and drives the motors. The Drone Agent handles everything else on the companion computer.

Most smart-drone makers ship a closed vertical stack. That works for a single product line, and it has produced good drones. It also leaves everyone else stitching together video, telemetry, and fleet management by hand.

The Drone Agent is the horizontal layer that sits between the flight controller and your applications. Write signed plugins without forking the core. Get cloud connectivity out of the box. Scale from a 1 GB Raspberry Pi running telemetry to a Jetson Orin running vision and mission autonomy. Same agent, different tiers.

  • ▶One platform: write once, deploy on any ADOS drone
  • ▶Extension ecosystem: third-party extensions without a fork
  • ▶Fleet-ready: every drone reaches the cloud or your own server
  • ▶Tiered scaling: from a Raspberry Pi to a Jetson Orin, same agent
  • ▶Local-first: works fully offline in the field, cloud optional
  • ▶Secure by default: TLS, signed installers, and MAVLink signing

ARCHITECTURE

A layered stack, one install.

The agent implements the six layers between the Linux OS and your ground station. Each layer is a stable seam, so a plugin at L5 never touches the FC link at L4.

L6
REST and WebSocket control surface, telemetry, params, missions
L5
Signed .adosplug install, subprocess sandbox, capability-gated IPC
L4
MAVLink router, video pipeline, MQTT gateway, WiFi and radio link
L3
Board detection, GPIO, sensor buses, cameras, and cellular modems
L2
TLS, signed installers, one-command updates, and fleet enrollment
L1
Service orchestration, health monitoring, dependency ordering

Below the agent sits Layer 0, the Linux OS. Above it, Layer 7, your ground station or dashboard, connects over WebSocket, MQTT, REST, and WebRTC.

RUNTIME

Built Rust-first.

A hybrid Rust and Python runtime. The right language runs each layer, in one codebase.

Rust

The runtime and safety-critical path

The process supervisor, the MAVLink router, the video pipeline, the radio stack, the on-device vision host, and the HTTP control surface are Rust. Long-running services that carry flight data are memory-safe and deterministic.

Python

The ecosystem layers

AI and vision inference, the plugin runtime, the setup webapp, and hardware bring-up stay in Python, where the libraries live. Plugin authors write Python and get the full on-vehicle SDK.

HARDWARE

Runs on what you already have.

The hardware abstraction layer fingerprints the board at boot and enables only the features the silicon supports. Nineteen board profiles ship today, plus generic ARM64 and x86_64 fallbacks.

Raspberry Pi 3Broadcom BCM2837
Raspberry Pi 4BBroadcom BCM2711
Raspberry Pi 5Broadcom BCM2712
Raspberry Pi Zero 2 WBroadcom BCM2710A1
Raspberry Pi CM3Broadcom BCM2837
Raspberry Pi CM4Broadcom BCM2711
Raspberry Pi CM5Broadcom BCM2712
Radxa CM3Rockchip RK3566
Radxa CM4Rockchip RK3588S2
Radxa Cubie A7ZAllwinner A733
Radxa Cubie A7SAllwinner A733
Radxa Rock 5C LiteRockchip RK3582
Orange Pi 5Rockchip RK3588S
Rockchip RK3576Reference profile
Rockchip RV1126Barmv7l
BeagleY-AITI AM67A
D-Robotics RDK X3Horizon Sunrise X3
Jetson NanoNVIDIA Tegra X1
Jetson Orin NanoNVIDIA Tegra Orin
Generic ARM64Fallback profile
Generic x86_64Fallback profile

FEATURE TIERS

Features scale with the board.

The agent picks a tier from the board profile, or from available RAM on an unknown board. Each tier adds services to the one below. Set agent.tier in the config to override it.

Tier 1
MAVLink proxy. Under 512 MB
Tier 2
Adds REST API, health, mDNS. 512 MB to 2 GB
Tier 3
Adds video, radio link, cloud relay. 2 to 4 GB
Tier 4
Adds vision host, model registry. Over 4 GB

FAQ

Frequently asked questions

What companion computer works with ArduPilot?

A Raspberry Pi, NVIDIA Jetson, or almost any ARM64 Linux board works as an ArduPilot companion computer once you install the Altnautica drone agent. It connects to the flight controller over MAVLink and adds video, long-range links, cloud connectivity, and on-vehicle AI. Nineteen boards have their own profile today, and generic ARM64 and x86_64 fallbacks cover the rest.

What hardware does the drone agent run on?

The drone agent ships profiles for 19 companion boards, plus generic ARM64 and x86_64 fallbacks, from a Raspberry Pi 3, 4, and 5 and Compute Modules to NVIDIA Jetson Nano and Orin Nano, Radxa, Orange Pi, BeagleBoard, and other ARM64 Linux boards. One install command detects the board and configures it.

How do I make an existing drone autonomous?

Add a companion computer running the Altnautica drone agent next to your flight controller, connect them over MAVLink, and control the drone from Mission Control. You keep your existing ArduPilot, PX4, Betaflight, or iNav flight controller and gain autonomy, long-range video, and fleet connectivity in software.

One agent. Any board. Any flight controller.

The source is on GitHub and the one-line installer works today.

View on GitHub
Get Early Access