Under active development. Breaking changes expected. APIs, installers, and UI may shift between releases.
The onboard computer for any drone.
Usable today. Early access — some pieces run behind a feature flag and APIs may shift between releases.
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.
curl -sSL https://raw.githubusercontent.com/altnautica/ADOSDroneAgent/main/scripts/install.sh | sudo bashRuns on Raspberry Pi OS, Ubuntu, Armbian, and Debian on ARM64. 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 updates, 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.
Below the agent sits Layer 0, the Linux OS on ARM64. 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, 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, and hardware bootstrap glue stay in Python, where the libraries live. Plugin authors write Python and get the full on-vehicle SDK.
CAPABILITIES
What the agent does.
Built modular, shipped as one package. Every capability below works today.
Flight link
MAVLink routing and signing
Route MAVLink between the flight controller and every consumer over serial, USB, WebSocket, TCP, and UDP at once. Sign every v2 frame with a key that never leaves the browser.
Video
Long-range HD video
Camera auto-discovery over CSI, USB, and IP, hardware encoding, an OSD overlay, and a 50 km radio link or a WebRTC cloud relay.
Video and data link →Fleet
Cloud and fleet connectivity
MQTT telemetry to the Altnautica cloud or your own server, a WebRTC relay for remote video, and four-tier integration from basic tracking upward.
MeshNet →Autonomy
On-vehicle vision and AI
Run detection and tracking models on the companion NPU or CPU and publish detections on a shared bus that plugins and the gimbal read.
Vision Engine →Extend
Signed extension system
Add hardware drivers, sensors, and behaviors as signed .adosplug plugins in a subprocess sandbox with capability permissions. No core fork.
Extensions →Operate
One-command setup and updates
The agent detects the board at boot, enables only what the hardware supports, and updates with a single ados update that re-runs the installer.
Setup and Status →HARDWARE
Runs on what you already have.
The hardware abstraction layer fingerprints the board at boot and enables only the features the silicon supports. Seventeen board profiles ship today, plus a generic ARM64 fallback.
INTEGRATION TIERS
Start basic, grow to a swarm.
The agent scales with the hardware. The lower tiers run today; swarm coordination at Tier 4 is in development.
- Tier 1
- MAVLink and telemetry over 4G or WiFi
- Tier 2
- Plus onboard compute: video, extensions, vision
- Tier 3
- Plus ADOS hardware for full autonomy
- Tier 4
- Plus mesh radio for swarm coordination
Follow the swarm work at Swarm. The mesh radio and the distributed hive mind are both in active development.
GO DEEPER
Explore the agent.
ACROSS THE PLATFORM
What the agent connects to.
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. Seventeen boards are supported today.
What hardware does the drone agent run on?
The drone agent runs on 17 supported companion boards, from a Raspberry Pi 3, 4, and 5 and Compute Modules to NVIDIA Jetson Nano and Orin Nano, Radxa, Orange Pi, and other Rockchip 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