# ADOS Documentation - [What is ADOS?](https://docs.altnautica.com/getting-started/introduction.md): ADOS is an open-source software stack for drones: a browser ground control station, a companion-computer agent and a ground station. - [How ADOS works](https://docs.altnautica.com/getting-started/how-it-works.md): A one-screen overview of how telemetry, commands and video move between the flight controller, the agent and Mission Control. - [Node profiles](https://docs.altnautica.com/getting-started/node-profiles.md): One installer, four profiles. What a drone, ground station, workstation and compute node each run, and how the profile is chosen. - [Choose what to install](https://docs.altnautica.com/getting-started/install-paths.md): Which ADOS software to install for your hardware, and how to install the agent on a companion computer or ground station. - [Glossary](https://docs.altnautica.com/getting-started/glossary.md): Short definitions of the terms used across the ADOS docs: nodes, profiles, roles, pairing, reach, cloud posture, extensions and more. - [Quickstart: Mission Control](https://docs.altnautica.com/getting-started/quickstart-mission-control.md): Open Mission Control in the browser, the desktop app or local demo mode, then connect a flight controller over USB. - [Quickstart: Drone Agent](https://docs.altnautica.com/getting-started/quickstart-drone-agent.md): Install the ADOS Drone Agent on a companion computer, check it is running, and add it to Mission Control. - [Quickstart: Ground Agent](https://docs.altnautica.com/getting-started/quickstart-ground-agent.md): Install the ADOS agent as a ground station, check the receiver is running, and open it from a laptop or phone. - [Your first flight](https://docs.altnautica.com/getting-started/your-first-flight.md): Connect a drone to Mission Control, run pre-flight checks, arm from the Cockpit tab, fly with a gamepad, land and review the log. - [Your first mission](https://docs.altnautica.com/getting-started/your-first-mission.md): Plan a survey in Mission Control, check it, upload it to the flight controller and fly it in Auto. - [Open source and licences](https://docs.altnautica.com/getting-started/open-source.md): Every ADOS repository and its licence: GPLv3 software, an MIT MCP server, and CC0 documentation and hardware designs. - [Contributing to ADOS](https://docs.altnautica.com/getting-started/contributing.md): How to set up each ADOS repository, open a pull request, add translations and report security issues. - [Community](https://docs.altnautica.com/getting-started/community.md): Discord for questions, GitHub issues for bugs, email for security. Where to ask, report and share your ADOS builds. - [Mission Control overview](https://docs.altnautica.com/mission-control/overview.md): ADOS Mission Control is an open-source ground control station for ArduPilot, PX4, Betaflight and iNav that runs in the browser or as a desktop app. - [Install Mission Control](https://docs.altnautica.com/mission-control/installation.md): Run ADOS Mission Control from source, start the demo fleet, and set the optional environment variables. - [Mission Control desktop app](https://docs.altnautica.com/mission-control/desktop-app.md): Download, install and update the Mission Control desktop app for macOS, Windows and Linux, and build it from source. - [Connect Mission Control to a drone](https://docs.altnautica.com/mission-control/connecting.md): Open the Connect to Drone dialog and link a flight controller directly, or add a Drone Agent or Ground Agent node by hostname, IP or pairing code. - [Dashboard and fleet](https://docs.altnautica.com/mission-control/dashboard.md): The Mission Control Dashboard: top bar, Fleet sidebar, the Grid, Overview, Nodes and Swarm views, the node detail tabs and the demo fleet. - [Nodes and Swarm views](https://docs.altnautica.com/mission-control/nodes-fleet-view.md): The Nodes view shows how every node is reached, its relay streams and per-node, bulk and fleet actions. The Swarm view shows one row per fleet slot. - [Cockpit and Skills](https://docs.altnautica.com/mission-control/cockpit.md): Fly from the Mission Control Cockpit tab: video, HUD, the Skill Bar and its confirmations, default hotkeys, gamepad stick control and loadouts. - [Flight tab](https://docs.altnautica.com/mission-control/flight-control.md): The drone Flight tab in Mission Control: HUD, readouts, health, the action panel, Fly Here from the map and mission progress. - [Mission Control telemetry](https://docs.altnautica.com/mission-control/telemetry.md): Live readouts in Mission Control: position, power, GPS, attitude, radio, EKF and vibration, the telemetry deck, alerts and freshness. - [Mission Control video](https://docs.altnautica.com/mission-control/video-feed.md): Where live video appears in Mission Control, the Auto, LAN Direct, P2P MQTT and Off transports, the video card controls and troubleshooting. - [Mission planning](https://docs.altnautica.com/mission-control/mission-planning.md): Build, validate and upload waypoint missions in the Plan tab, with terrain profiles, patterns, templates and the Copilot. - [Pattern generators](https://docs.altnautica.com/mission-control/pattern-generators.md): Generate survey, orbit, corridor, perimeter, search, structure scan and landing waypoints in the Plan tab's Flight Patterns section. - [Geofences and rally points](https://docs.altnautica.com/mission-control/geofences-rally.md): Set a geofence with its breach action and altitude ceiling, and add rally points, from the Plan tab. - [Mission file formats](https://docs.altnautica.com/mission-control/file-formats.md): Import and export missions as .altmission, .waypoints, .plan, KML, KMZ and CSV, plus boundary, overlay and parameter files. - [Flight logs](https://docs.altnautica.com/mission-control/flight-logs.md): Review, replay, report on and export recorded flights in Mission Control's Logs tab, and download logs from the flight controller. - [Firmware comparison](https://docs.altnautica.com/mission-control/firmware-comparison.md): What Mission Control supports on ArduPilot, PX4, Betaflight and iNav flight controllers, side by side. - [iNav guide](https://docs.altnautica.com/mission-control/inav-guide.md): Connect, configure, plan missions for and program iNav flight controllers in Mission Control. - [Sensor calibration](https://docs.altnautica.com/mission-control/calibration.md): Calibrate the accelerometer, gyro, compass, level, airspeed, barometer, RC, ESCs and CompassMot from the Setup tab, per firmware. - [Flight controller setup](https://docs.altnautica.com/mission-control/fc-configuration.md): Every panel in a node's Setup tab: how panels read and write the flight controller, the armed rules, shortcuts and the panel list per section. - [Flight controller parameters](https://docs.altnautica.com/mission-control/parameters.md): Browse, search, edit, compare, export and reset flight controller parameters in a node's Parameters tab. - [MAVLink signing in Mission Control](https://docs.altnautica.com/mission-control/mavlink-signing.md): Enable, rotate, export and disable MAVLink v2 signing keys for an ArduPilot flight controller from the Setup tab. - [Flash Tool](https://docs.altnautica.com/mission-control/flash-tool.md): Flash ArduPilot, PX4 and Betaflight firmware, update AP_Periph CAN nodes, back up parameters and install the ADOS agents from Mission Control. - [Node configuration in Mission Control](https://docs.altnautica.com/mission-control/node-configuration.md): Configure a Drone Agent or Ground Agent node from its Agent tab in Mission Control: page groups, per-profile pages and confirmed writes. - [Ground station node panel](https://docs.altnautica.com/mission-control/ground-station-panel.md): Manage a Ground Agent node from Mission Control: status, radio, network, Mesh & RX, ELRS link, display, buttons, peripherals and logs. - [3D mission preview](https://docs.altnautica.com/mission-control/simulation.md): Preview the current mission on a 3D CesiumJS globe in the Simulate tab, and overlay a flown log on the plan. - [SITL testing](https://docs.altnautica.com/mission-control/sitl-testing.md): Run ArduPilot SITL on your computer and connect Mission Control to it through the bundled WebSocket bridge with its per-run token. - [Mission Control cloud features](https://docs.altnautica.com/mission-control/cloud-features.md): What signing in to a Convex backend adds to Mission Control: fleet sync, the cloud relay, flight log sync, MCP remote reach, roles and the community pages. - [MCP tab](https://docs.altnautica.com/mission-control/mcp.md): The Mission Control MCP tab: connect an AI client to your drones over the LAN with the setup wizard, or mint scoped credentials for cloud reach. - [Mission Control settings](https://docs.altnautica.com/mission-control/settings.md): Every Mission Control settings page: General, Operator & Aircraft, Input Devices, DroneCAN, Video, Notifications, Theme, Data, Flash Tool and Extensions. - [Android GCS](https://docs.altnautica.com/android/overview.md): The ADOS Android GCS: a native Kotlin and Jetpack Compose ground control station for Android 10 and later phones, tablets and handheld controllers. - [Install the Android GCS](https://docs.altnautica.com/android/install.md): Build the ADOS Android GCS APK from source, install it on an Android 10 or later device and make the first connection. - [Drone Agent overview](https://docs.altnautica.com/drone-agent/overview.md): What the ADOS Drone Agent is, what it runs on your companion computer, and how you reach it. - [Drone Agent supported hardware](https://docs.altnautica.com/drone-agent/supported-hardware.md): The board profiles the Drone Agent ships, recommended boards, and the WFB-ng radio adapter. - [Install Drone Agent](https://docs.altnautica.com/drone-agent/installation.md): Install the ADOS Drone Agent on your companion computer with one command, plus every installer flag. - [Update Drone Agent](https://docs.altnautica.com/drone-agent/updating.md): Update the ADOS Drone Agent with ados update or the installer, pin a release, and roll back. - [Pair a node with Mission Control](https://docs.altnautica.com/drone-agent/pairing.md): Pair a Drone Agent or Ground Agent node with Mission Control over the LAN, or across networks with a pairing code. - [Agent configuration](https://docs.altnautica.com/drone-agent/configuration.md): How /etc/ados/config.yaml is loaded and written, the settings that need care, and every key by section from the config schema. - [Agent terminal dashboard](https://docs.altnautica.com/drone-agent/tui-dashboard.md): Run ados over SSH for a live view of links, autopilot, video, link and services, with quick actions. - [Agent CLI reference](https://docs.altnautica.com/drone-agent/cli-reference.md): The ados command on a Drone Agent or Ground Agent node: core commands, subgroups, and the behaviour behind them. - [Agent dashboard: Overview](https://docs.altnautica.com/drone-agent/dashboard-overview.md): Open the agent's browser dashboard on port 8080, unlock it, and find each page by profile. - [Agent dashboard: Home](https://docs.altnautica.com/drone-agent/dashboard-home.md): Status tiles, live charts and the per-profile panels on the agent dashboard's landing page. - [Agent dashboard: Pairing](https://docs.altnautica.com/drone-agent/dashboard-pairing.md): Link this node to its Mission Control owner, accept a code, approve phone receivers, or unpair. - [Agent dashboard: Telemetry](https://docs.altnautica.com/drone-agent/dashboard-telemetry.md): Edit flight controller parameters and read live sensors from the drone's browser dashboard. - [Agent dashboard: Video](https://docs.altnautica.com/drone-agent/dashboard-video.md): Live stream, encoder settings, radio state, link tuning, latency and cameras on the drone's browser dashboard. - [Agent dashboard: WFB Transmit](https://docs.altnautica.com/drone-agent/dashboard-transmit.md): The drone's WFB-ng transmit adapter, channel, bandwidth, MCS index and TX power on the browser dashboard. - [Agent dashboard: Extensions](https://docs.altnautica.com/drone-agent/dashboard-extensions.md): List, enable, disable and install extensions from the agent's browser dashboard. - [Agent dashboard: Peripherals](https://docs.altnautica.com/drone-agent/dashboard-peripherals.md): Registered peripheral manifests with live connection state on the agent's browser dashboard. - [Agent dashboard: Logs](https://docs.altnautica.com/drone-agent/dashboard-logs.md): Live tail of the agent's structured log store with level and logger filters. - [Agent dashboard: Diagnostics](https://docs.altnautica.com/drone-agent/dashboard-diagnostics.md): System metrics, agent services and the board reboot on the agent's browser dashboard. - [Agent dashboard: Settings](https://docs.altnautica.com/drone-agent/dashboard-settings.md): Sixteen settings sections, grouped and filtered by profile, on the agent's browser dashboard. - [MAVLink proxy](https://docs.altnautica.com/drone-agent/mavlink-proxy.md): How the Drone Agent finds the flight controller and shares its MAVLink stream with every client and service. - [MAVLink signing](https://docs.altnautica.com/drone-agent/mavlink-signing.md): SHA-256 signatures on every command sent to the flight controller, with the key held in the Mission Control browser. - [Video pipeline](https://docs.altnautica.com/drone-agent/video-pipeline.md): Camera detection, encoding, hero and thumbnail profiles, MediaMTX serving, WFB-ng transmission and recording on the drone. - [Multi-camera](https://docs.altnautica.com/drone-agent/multi-camera.md): Declare more than one video leg on one airframe: which leg rides the radio, which are LAN-only, and how the camera roster reconciles them. - [WFB-ng long-range link](https://docs.altnautica.com/drone-agent/wfb-ng.md): The WFB-ng radio link: hardware, link automation, operating region, TX power, keys and link health on the Drone Agent. - [WFB-ng pairing](https://docs.altnautica.com/drone-agent/wfb-pairing.md): How a drone and a ground station bind over the local radio: the bind state machine, auto-pair, the key files and the REST routes. - [Cloud relay](https://docs.altnautica.com/drone-agent/cloud-relay.md): Opt-in remote access for a Drone Agent: Convex heartbeat and commands, raw MAVLink over MQTT, and WebRTC video signaling. - [Swarm bus](https://docs.altnautica.com/drone-agent/swarm-bus.md): A 20-byte beacon twice a second, every node hearing every node, no ground station in the path: the neighbour table, config and separation layer. - [Battery health](https://docs.altnautica.com/drone-agent/battery-health.md): Per-pack cell analysis, voltage sag and temperature alerts, and a time-to-reserve estimate computed on the drone. - [Agent REST API](https://docs.altnautica.com/drone-agent/rest-api.md): The node's HTTP API on port 8080: base URL, authentication, conventions, and the full route reference. - [Drone Agent systemd services](https://docs.altnautica.com/drone-agent/systemd-services.md): Every Drone Agent systemd unit per profile, start order, restart and crash-loop behaviour, limits and log access. - [HAL and tiers](https://docs.altnautica.com/drone-agent/hal-and-tiers.md): How the Drone Agent detects the board, the YAML board profile schema, the default tier, and how to add a board. - [Black Box log store](https://docs.altnautica.com/drone-agent/black-box.md): The durable on-node log, telemetry, event and hardware store: what it records, how to query it, and why it ships off. - [Drone Agent diagnostics](https://docs.altnautica.com/drone-agent/diagnostics.md): Per-hop verdicts on the video pipeline, the radio link and storage wear from ados diag, built on counters that can be trusted. - [Drone Agent troubleshooting](https://docs.altnautica.com/drone-agent/troubleshooting.md): Fix common Drone Agent problems: flight controller not detected, no video, radio link down, cloud disconnected, agent not starting. - [Ground Agent overview](https://docs.altnautica.com/ground-agent/overview.md): What the ADOS Ground Agent is: a Linux ground node that receives your drone's radio link and serves video and telemetry to any screen. - [Ground Agent supported hardware](https://docs.altnautica.com/ground-agent/supported-hardware.md): Boards, radios, front-panel parts and gamepads that work with the ADOS Ground Agent. - [Ground Agent power and runtime](https://docs.altnautica.com/ground-agent/power-and-runtime.md): Power the ADOS Ground Agent from wall adapters, USB-C power banks and field sources, and estimate runtime. - [Install the Ground Agent](https://docs.altnautica.com/ground-agent/installation.md): Install the ADOS agent on a single-board computer with the ground_station profile, verify it, and upgrade it later. - [Set up a ground station](https://docs.altnautica.com/ground-agent/setup.md): Reach a freshly installed ground station, pick its role, run the setup wizard, and pair it with Mission Control and a drone. - [Ground station Wi-Fi access point](https://docs.altnautica.com/ground-agent/wifi-ap.md): Join the ground station's Wi-Fi access point from a laptop or phone, and read or change its passphrase and settings. - [Ground station USB tether](https://docs.altnautica.com/ground-agent/usb-tether.md): Connect a laptop or phone to the ground station with a USB-C cable that shows up as a wired network interface. - [Android phones on a ground station](https://docs.altnautica.com/ground-agent/android-client.md): Use an Android phone or tablet with a ground station: Chrome or the Android GCS app, the no-internet prompt, and gamepads. - [Front panel: OLED, buttons and touch display](https://docs.altnautica.com/ground-agent/display.md): The optional ground-station front panel: a small I2C status OLED, four buttons, and a 480x320 SPI touch LCD with nine-point calibration. - [HDMI kiosk](https://docs.altnautica.com/ground-agent/hdmi-kiosk.md): Plug a monitor and a gamepad into the ground station and run the agent's own cockpit full screen, with no laptop. - [ELRS/CRSF control lane](https://docs.altnautica.com/ground-agent/elrs-crsf-control-lane.md): Drive an ExpressLRS transmitter module from a ground station: RC channels from a gamepad or software, or MAVLink over ELRS. - [Ground dashboard: Overview](https://docs.altnautica.com/ground-agent/dashboard-overview.md): What the agent's browser dashboard shows on a ground station, by role, and where the shared pages live. - [Ground dashboard: WFB Receive](https://docs.altnautica.com/ground-agent/dashboard-receive.md): The ground station's WFB-ng receive adapter, channel, link quality and FEC counters on the browser dashboard. - [Ground dashboard: Mesh and sources](https://docs.altnautica.com/ground-agent/dashboard-mesh.md): batman-adv mesh state on relay and receiver ground stations, and per-relay contributions on a receiver. - [Ground dashboard: Display and joystick](https://docs.altnautica.com/ground-agent/dashboard-io.md): Kiosk display state, gamepad assignment and Bluetooth controller pairing on the ground station's browser dashboard. - [Mesh and distributed receive](https://docs.altnautica.com/ground-agent/mesh-overview.md): Run more than one ground station and let them share the job of receiving one drone: when it helps and how it is shaped. - [Build a mesh](https://docs.altnautica.com/ground-agent/mesh-setup.md): Bring up a receiver, pair relays to it, verify the mesh, and return a node to direct mode. - [Local mesh (batman-adv)](https://docs.altnautica.com/ground-agent/batman-adv.md): How ground stations form the batman-adv mesh: the second adapter, 802.11s or IBSS carriers, mesh identity, gateway election and diagnostics. - [Mesh troubleshooting](https://docs.altnautica.com/ground-agent/mesh-troubleshooting.md): Symptoms, causes and fixes for ground-station mesh and mesh-pairing failures. - [Uplink matrix](https://docs.altnautica.com/ground-agent/uplink-matrix.md): The ground station's internet uplinks, how it fails over between them, the cellular data cap, and uplink sharing. - [Transitive enrollment](https://docs.altnautica.com/ground-agent/transitive-enrollment.md): A drone reached over the radio through a ground station appears in Mission Control as its own node, with its own feed and a label that says how it is reached. - [Ground Agent troubleshooting](https://docs.altnautica.com/ground-agent/troubleshooting.md): Common single-node ground station problems and how to fix them. - [Extensions catalog](https://docs.altnautica.com/drone-agent/extensions-catalog.md): The first-party extensions Altnautica publishes in the public ADOSExtensions repository: what each does, its status and its permissions. - [Install extensions from Mission Control](https://docs.altnautica.com/mission-control/installing-plugins.md): Install signed extensions on one node from its Extensions page, review permissions, and enable, configure, update or remove them. - [Extensions on the agent](https://docs.altnautica.com/drone-agent/plugins.md): How the agent installs, verifies and runs extensions: the ados plugin CLI, signatures and trust, permissions, built-ins and isolation. - [World Engine](https://docs.altnautica.com/drone-agent/extensions/world-engine.md): The first-party extension that builds 3D world models from drone flights on a LAN compute node, and runs perception offload for drones without an accelerator. - [Vision Navigation overview](https://docs.altnautica.com/drone-agent/vision-nav-overview.md): GPS-denied position hold from a downward camera: optical flow with or without a rangefinder, fed to ArduPilot, PX4 or iNav. - [Vision Navigation: hardware](https://docs.altnautica.com/drone-agent/vision-nav-hardware.md): Pick, mount and wire the downward camera and rangefinder that Vision Navigation needs. - [Vision Navigation: install and configure](https://docs.altnautica.com/drone-agent/vision-nav-install.md): Install Vision Navigation on one drone from Mission Control or the agent CLI, set its per-drone config, and enable it. - [Vision Navigation: flight controller setup](https://docs.altnautica.com/drone-agent/vision-nav-optical-flow.md): Set the ArduPilot, PX4 or iNav parameters that fuse Vision Navigation's optical flow, set the EKF origin, and run the pre-flight checks. - [Vision Navigation: modes and fallback](https://docs.altnautica.com/drone-agent/vision-nav-modes.md): The three Vision Navigation modes, their pre-arm checks, the scale ladder and what happens when flow degrades. - [Vision Navigation: camera-IMU time offset](https://docs.altnautica.com/drone-agent/vision-nav-calibration.md): Optional: load a Kalibr camchain.yaml so Vision Navigation pairs each frame with the right gyro sample. - [Vision Navigation: troubleshooting](https://docs.altnautica.com/drone-agent/vision-nav-troubleshooting.md): Fix low optical-flow quality, scale problems, lost frames and rejected configs in Vision Navigation, and where to report a bug. - [Vision Navigation: architecture](https://docs.altnautica.com/drone-agent/vision-nav-architecture.md): Developer reference for the Vision Navigation agent half: module map, estimator contract, scale ladder, pre-arm gate and the navigation heartbeat. - [Safety](https://docs.altnautica.com/operations/safety.md): What to configure before the first flight, how arming is gated, what the agent refuses while armed, and what happens when the link drops. - [Operating limits](https://docs.altnautica.com/operations/operating-limits.md): What has been measured on ADOS hardware, what has not been characterised, and the limits the software enforces. - [Regulatory](https://docs.altnautica.com/operations/regulatory.md): Your obligations as the operator, and the radio region posture the agent ships with. - [Operator hardening](https://docs.altnautica.com/operations/hardening.md): The credentials an ADOS node holds, what each one grants, how to lock a node down, and what a factory reset clears. - [Troubleshooting by area](https://docs.altnautica.com/operations/troubleshooting.md): Where to start when something misbehaves: the agent's own checks first, then the troubleshooting guide for each product. - [Recovery](https://docs.altnautica.com/operations/recovery.md): Reaching a node that has stopped answering, repairing it in place, and reinstalling one that is broken. - [Support escalation](https://docs.altnautica.com/operations/support.md): How to report a problem, what to attach so it can be diagnosed, and where to send security reports. - [ADOS system overview](https://docs.altnautica.com/architecture/system-overview.md): How the drone, the ground station and the optional cloud fit together, the protocol on every link, and the repositories that hold the code. - [Agent services architecture](https://docs.altnautica.com/architecture/agent-services.md): Why the agent runs as many systemd units, how the supervisor gates and retries them, and the IPC sockets and HTTP front they share. - [MAVLink and MSP protocol layer](https://docs.altnautica.com/architecture/mavlink-protocol.md): How Mission Control parses MAVLink v2 and MSP, the DroneProtocol interface every adapter implements, and the transports that carry the bytes. - [Mission Control state management](https://docs.altnautica.com/architecture/state-management.md): How Mission Control keeps state in Zustand stores, buffers telemetry in ring buffers, and moves data from a protocol adapter to the screen. - [Video stack architecture](https://docs.altnautica.com/architecture/video-stack.md): The video path from camera sensor to browser, hop by hop: encode, WFB-ng radio, MediaMTX and WebRTC, with the measured latency. - [Cloud infrastructure](https://docs.altnautica.com/architecture/cloud-infrastructure.md): How a node reaches the optional cloud: HTTPS status and commands to Convex, raw MAVLink over MQTT, and WebRTC signaling. Includes every MQTT topic. - [Self-hosting: overview](https://docs.altnautica.com/developers/self-hosting/overview.md): Run the ADOS cloud relay on your own hardware: Convex, Mission Control, the MQTT broker and the video relay, all optional. - [Self-hosting: the ados-deploy tool](https://docs.altnautica.com/developers/self-hosting/deploy-tool.md): A guided deployer for the tools/selfhost Compose stack: wizard, dry-run plan, upgrade, status and teardown. - [Self-hosting: all-in-one stack](https://docs.altnautica.com/developers/self-hosting/all-in-one.md): Bring up the Convex backend, the web GCS, the Mosquitto broker and the video relay on one host with a single Docker Compose file. - [Self-hosting: Mission Control and Convex](https://docs.altnautica.com/developers/self-hosting/mission-control-and-convex.md): Build the Mission Control web GCS as a Docker image and stand up a self-hosted Convex backend for auth, fleet data and cloud commands. - [Self-hosting: the agent](https://docs.altnautica.com/developers/self-hosting/agent.md): Install the ADOS Drone Agent and point it at your own Convex backend and MQTT broker instead of the managed cloud. - [Self-hosting: MQTT broker](https://docs.altnautica.com/developers/self-hosting/mqtt-bridge.md): Run Mosquitto for the ADOS cloud relay with per-device auth, a deny-by-default ACL and credentials synced from Convex. - [Self-hosting: video relay](https://docs.altnautica.com/developers/self-hosting/video-relay.md): Run the RTSP-to-WebSocket video relay so a browser can play a drone's live stream as fragmented MP4, with token-scoped access and no transcoding. - [Self-hosting: ports and troubleshooting](https://docs.altnautica.com/developers/self-hosting/troubleshooting-and-ports.md): Every port in a self-hosted ADOS stack, the failures that come from crossed wiring, and how to harden what you expose. - [MCP server and AI control](https://docs.altnautica.com/developers/mcp-server.md): Give an AI client scoped, revocable, audited control of a node or a fleet. Token acceptance is off until you turn it on. - [Project structure](https://docs.altnautica.com/architecture/project-structure.md): Directory maps and key files for the ADOS repositories: Mission Control, the agent, Extensions, the MCP server and the Android GCS. - [Code recipes](https://docs.altnautica.com/architecture/contributing-guide.md): Step-by-step patterns for common code changes: a flight controller panel, a MAVLink decoder, a Zustand store and an agent service. - [Developers overview](https://docs.altnautica.com/developers/overview.md): Build plugins for ADOS Mission Control and the ADOS Drone Agent: one signed archive, two sandboxed halves. - [Plugin concepts](https://docs.altnautica.com/developers/concepts.md): Manifest, signing, sandboxing and capability tokens: the four primitives every plugin author works with. - [Plugin security model](https://docs.altnautica.com/developers/security-model.md): What a plugin can and cannot do, the blast radius of each sandbox, and the trust boundary between first-party and third-party signers. - [Plugin glossary](https://docs.altnautica.com/developers/glossary.md): The vocabulary the plugin system uses, in one page. Site-wide terms are in the main glossary. - [Your first plugin](https://docs.altnautica.com/developers/your-first-plugin.md): Scaffold, test, sign and install a GCS-only node-detail tab that prints a drone's battery pack voltage. - [Scaffolder walkthrough: a hybrid plugin](https://docs.altnautica.com/developers/scaffolder-walkthrough.md): Scaffold a hybrid plugin with create-ados-plugin: a flight skill, a node-detail tab, native parameters, a click-to-follow target action and a Python agent half. - [Plugin manifest reference](https://docs.altnautica.com/developers/manifest.md): Every field of a plugin's manifest.yaml, in dependency order. - [Contribution points](https://docs.altnautica.com/developers/contribution-points.md): Every key a plugin can declare under gcs.contributes: what it adds to Mission Control, its manifest shape, where it renders and the capability it needs. - [Parameter schema](https://docs.altnautica.com/developers/parameter-schema.md): The schema subset, the ui widgets (including bitmask and camera) and the bindings for a plugin's native parameters, with worked examples. - [Plugin permissions](https://docs.altnautica.com/developers/permissions.md): The capability catalog for both plugin halves, the risk levels, how each capability is enforced, and the install dialog flow. - [Plugin lifecycle](https://docs.altnautica.com/developers/lifecycle.md): Parse, install, enable, disable and remove: the states a plugin moves through, the hooks each half gets, and how config reaches a running plugin. - [GCS bridge methods](https://docs.altnautica.com/developers/event-hooks.md): The postMessage methods a GCS plugin can call, the capability each needs, the events Mission Control pushes into the iframe, and the error codes. - [Agent event bus](https://docs.altnautica.com/developers/event-hooks-and-bus.md): Topics the agent's plugin host publishes, subscribe and publish rules, shared topics between plugins, and delivery limits. - [State and storage](https://docs.altnautica.com/developers/state-and-storage.md): Where a plugin keeps state: process memory, its data directory and cloud records. Paths, atomicity and cleanup on remove. - [Vendor binaries](https://docs.altnautica.com/developers/vendor-binaries.md): Ship a closed-source library, a spawned helper or per-architecture binaries inside a plugin archive. - [Plugin CLI reference](https://docs.altnautica.com/developers/cli-reference.md): Every ados plugin subcommand, its flags, and the exit-code table. - [Plugin troubleshooting](https://docs.altnautica.com/developers/troubleshooting.md): Map plugin failures to CLI exit codes and wire errors, then diagnose them with ados plugin logs, systemctl and journalctl. - [Python SDK](https://docs.altnautica.com/developers/sdk-python.md): The ados.sdk reference: the plugin context, driver base classes, vision client and test harness for a Python agent half. - [Rust SDK](https://docs.altnautica.com/developers/sdk-rust.md): The ados-sdk crate: the Rust agent-half SDK for plugins that run a tight, long-running service on the node. - [TypeScript SDK](https://docs.altnautica.com/developers/sdk-typescript.md): The @altnautica/plugin-sdk reference: definePlugin, the typed PluginContext, the RPC client, the test harness and the other exports. - [Driver layer](https://docs.altnautica.com/developers/driver-layer.md): Typed driver base classes in the Python and Rust SDKs, and how a driver plugin runs its own device today. - [Camera driver](https://docs.altnautica.com/developers/camera-driver.md): Implement a CameraDriver for a visible, thermal, depth or multi-spectral imager in a plugin. - [Gimbal driver](https://docs.altnautica.com/developers/gimbal-driver.md): Implement a GimbalDriver that moves a stabilised mount and reports its pointing state. - [LiDAR driver](https://docs.altnautica.com/developers/lidar-driver.md): Implement a LidarDriver that yields point-cloud frames from a ranging sensor. - [GPS driver](https://docs.altnautica.com/developers/gps-driver.md): Implement a GpsDriver that decodes fixes from a GNSS receiver and accepts RTCM corrections. - [ESC driver](https://docs.altnautica.com/developers/esc-driver.md): Implement an EscDriver that reads per-motor telemetry from electronic speed controllers. - [Payload actuator driver](https://docs.altnautica.com/developers/payload-actuator-driver.md): Implement a PayloadActuatorDriver to control a sprayer, dropper, claw or sampler. - [Agent runtime and sandbox](https://docs.altnautica.com/developers/agent-plugin-deep-dive.md): How the plugin host runs an agent half: unit and log names, environment, IPC frames, capability checks, sandbox and restart policy. - [GCS plugin deep dive](https://docs.altnautica.com/developers/gcs-plugin-deep-dive.md): How Mission Control runs a plugin's GCS half: the sandboxed iframe, frame CSP, postMessage RPC, capability checks and the 13 UI slots. - [Multi-component plugins](https://docs.altnautica.com/developers/multi-component-plugins.md): Ship an agent half and a GCS half in one plugin: when to split, how the halves exchange state, shared manifest and failure modes. - [MAVLink extensions](https://docs.altnautica.com/developers/mavlink-extensions.md): Read and send MAVLink, register as a MAVLink component, inject visual odometry, talk MSP, and send guided setpoints from an agent plugin. - [Vision plugins](https://docs.altnautica.com/developers/vision-plugins.md): Subscribe to engine frames over the shared frame bus, register or run inference models, and publish detections. - [Mission plugins](https://docs.altnautica.com/developers/mission-plugins.md): Read the mission, replace it with operator approval, and contribute a mission template to the planner from a GCS plugin. - [Performance and budgets](https://docs.altnautica.com/developers/performance-and-budgets.md): Plugin resource budgets, cgroup throttling, memory pressure, and how to profile agent and GCS halves. - [Versioning and updates](https://docs.altnautica.com/developers/versioning-and-updates.md): Semver discipline, compatibility ranges, automatic updates, rollback, and additive versus breaking permission changes. - [Hardware testing](https://docs.altnautica.com/developers/hardware-testing.md): Test a plugin with mock backends, the SDK harnesses, ArduPilot SITL and a bench rig. - [Linting](https://docs.altnautica.com/developers/linting.md): Run the local static analyzer on a packed plugin and the manifest-versus-code check before you release. - [Pack and install locally](https://docs.altnautica.com/developers/distribution-local-install.md): Pack a plugin into a .adosplug archive, publish it on GitHub, and install it from a file. - [Signing keys](https://docs.altnautica.com/developers/signing-keys.md): Generate an Ed25519 publisher key, sign plugin archives, enrol the key on an agent, and run a bench in unsigned mode. - [Install a plugin from a URL](https://docs.altnautica.com/developers/distribution-url-install.md): How the agent downloads and installs a .adosplug from an allowlisted HTTPS host, and the rules it enforces. - [Extension catalog and registry](https://docs.altnautica.com/developers/distribution-registry.md): Where operators browse extensions, how agents install and auto-update from the catalog, the registry API, and how submission works. - [Revocation and incidents](https://docs.altnautica.com/developers/revocation-and-incidents.md): Revoke a plugin signer, archive or release on the agent, what happens to installed plugins, and how to report a security issue. - [Legal and licensing](https://docs.altnautica.com/developers/legal-and-licensing.md): Plugin ownership, licence declaration, how the GPL SDKs interact with your licence, vendor binaries, trademarks and warranty. - [Publish to ADOSExtensions](https://docs.altnautica.com/developers/contributing-repos.md): Publish a plugin from your own repo, or propose it for the first-party ADOSExtensions monorepo, and where to file host bugs. This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.