TERMINAL CONSOLE

The whole agent, in one terminal.

Run ados over SSH on the board, or ados-tui --host from a workstation. Nine tabs cover the vehicle, the link, video, parameters, extensions, logs and the system, and the settings pages match the agent's web dashboard.
ados
▌ADOS  my-drone  DRONE  ● FC ArduPilot   DISARMED   STABILIZE                                         ⇄ local   12:00:00
  1 Overview   2 Vehicle   3 Link   4 Video   5 Params   6 Extensions   7 Logs   8 System   9 Settings                  
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│● HEALTHY                                                                                                             │
│paired · cloud relay                                                                                                  │
│╭ ▌ Links ──────────────────────────────────────────╮╭ ▌ Autopilot ──────────────────────────────────────────────────╮│
││Console                                            ││● ArduPilot connected   STABILIZE   DISARMED                   ││
││Setup & dashboard in a browser, on this LAN.       ││/dev/ttyACM0 · 115200                                          ││
││➜ http://my-drone.local:8080/setup  ●              ││██████████████████████████battery 92% ████████████████████     ││
││➜ http://192.168.1.50:8080/setup                   ││▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇                                 ││
││                                                   ││GPS 3D   sats 14   alt 0.3 m                                   ││
││Connect to GCS                                     ││                                                               ││
││Add this drone to Mission Control - paste one of   ││                                                               ││
││these into the Add-a-Node card (LAN pairing).      │╰───────────────────────────────────────────────────────────────╯│
││➜ http://my-drone.local:8080  ●                    │╭ ▌ Video ──────────────────────────────────────────────────────╮│
││➜ http://192.168.1.50:8080                         ││● running                                                      ││
││                                                   │╰───────────────────────────────────────────────────────────────╯│
││Ground control                                     │╭ ▌ Link ───────────────────────────────────────────────────────╮│
││Conventional MAVLink over TCP / WebSocket for a    ││cloud    paired (https://command.altnautica.com)               ││
││third-party GCS: tcp://…:5760 for a desktop ground ││remote   disabled                                              ││
││station, ws://…:8765/ for a browser GCS.           ││hotspot  off                                                   ││
││➜ tcp://my-drone.local:5760  ●                     │╰───────────────────────────────────────────────────────────────╯│
││➜ ws://my-drone.local:8765/                        │╭ ▌ Services ───────────────────────────────────────────────────╮│
││➜ tcp://192.168.1.50:5760                          ││● 11 running   ○ 0 stopped                                     ││
││➜ ws://192.168.1.50:8765/                          ││hardware 4 ok                                                  ││
││                                                   ││                                                               ││
││Video                                              ││                                                               ││
││Live camera in a browser (WHEP viewer).            ││                                                               ││
││➜ http://my-drone.local:8889/main/  ●              ││                                                               ││
││➜ http://192.168.1.50:8889/main/                   ││                                                               ││
││                                                   ││                                                               ││
││Mission Control                                    ││                                                               ││
││Open Mission Control to fly this drone. Hosted at  ││                                                               ││
││command.altnautica.com; a local or self-hosted     │╰───────────────────────────────────────────────────────────────╯│
││build runs wherever you serve it (e.g.             │╭ ▌ Sensors ────────────────────────────────────────────────────╮│
││http://localhost:4000).                            ││sensors imu 400/400 Hz · gnss 10/10 Hz · camera 30/30 Hz       ││
│╰───────────────────────────────────────────────────╯╰───────────────────────────────────────────────────────────────╯│
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
 paired · cloud relay                                                                                                   
 ^K palette · a actions · ? help · q quit                                                                       v0.106.1
9
Tabs
4
Themes
Local or remote
Target
GPLv3
Open source

TABS

One tab per part of the agent.

Each tab shows only on the profiles that have it, and every reading comes from the same API the web dashboard and Mission Control use.

Vehicle

Flight controller, mode, arm state, battery and GPS, with live charts from the telemetry stream.

ados
▌ADOS  my-drone  DRONE  ● FC ArduPilot   DISARMED   STABILIZE                                         ⇄ local   12:00:00
  1 Overview   2 Vehicle   3 Link   4 Video   5 Params   6 Extensions   7 Logs   8 System   9 Settings                  
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│╭ ▌ Attitude ──────────────────────╮╭ ▌ Flight ──────────────────────────────╮╭ ▌ Sensors & clock ───────────────────╮│
││              ⠠⠤⠤⠤⠤               ││Vehicle   Quadrotor · ArduPilot         ││Hub     ✓ connected                   ││
││           20⢀⣀⣀⣀⣀⣀⣀⡀             ││Mode      STABILIZE   DISARMED          ││FC      ✓ connected                   ││
││                                  ││Heading   093° E                        ││sensors imu 400/400 Hz · gnss 10/10 Hz││
││               ⠉⠉⠉⠉               ││Speed     GS 0.0 m/s · VS +0.0 m/s      ││ · camera 30/30 Hz                    ││
││⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⢄⣀⠤⠤⠤⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒││Battery   16.6 V · 0.5 A · 92.0 %       ││                                      ││
││               ⣀⣀⣀⣀               │╰────────────────────────────────────────╯│                                      ││
││           20                     │╭ ▌ GPS ─────────────────────────────────╮│                                      ││
││             ⠈⠉⠉⠉⠉⠉⠉⠁             ││Fix       3D  sats 14  HDOP 0.7         ││                                      ││
││               ⠒⠒⠒⠒⠂              ││Position  47.397742, 8.545594           ││                                      ││
││      roll +0.6°  pitch -0.0°     ││Altitude  0.3 m rel · 488.3 m MSL       ││                                      ││
│╰──────────────────────────────────╯╰────────────────────────────────────────╯╰──────────────────────────────────────╯│
│╭ ▌ Altitude 0.3 m ──────────╮╭ ▌ Voltage 16.6 V ─────────╮╭ ▌ Current 0.5 A ───────────╮╭ ▌ Remaining 92.0 % ───────╮│
││0.4│             ⡀  ⢀   ⢠⡄  ││16.7│            ⡄      ⡄  ││0.5│            ⡀  ⢀   ⢠⡄   ││96.6│                      ││
││   │            ⣄⢿  ⡎⡦⡄ ⢸⢣  ││    │           ⣸⢹ ⢠⢻⣀ ⢠⢻  ││   │            ⢿  ⡎⣦⡀ ⢸⢣  ⡀││    │                      ││
││   │             ⠘⡄ ⡇ ⡇⢀⡎⢸⣀ ││    │            ⠸⡀⢸ ⢸⢀⡞⠘⢲ ││   │            ⠈⡆ ⡇ ⡇⢠⠎⠸⢤⢰⠉││    │           ⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤││
││   │              ⣧⣦⠃ ⢣⡎  ⢸⢸││    │             ⡟⣼ ⠘⣼⠁ ⠘⣼││   │             ⠷⠷⠁ ⢣⡇  ⢸⢸ ││    │                      ││
││0.2│                  ⠘⠃  ⠈⠊││16.6│                 ⠋   ⠋││0.4│                 ⠈⠁  ⠈⠊ ││87.4│                      ││
││   └────────────────────────││    └──────────────────────││   └────────────────────────││    └──────────────────────││
││ -2m                     now││  -2m                   now││ -2m                     now││  -2m                   now││
│╰────────────────────────────╯╰───────────────────────────╯╰────────────────────────────╯╰───────────────────────────╯│
│╭ ▌ Battery packs ───────────────────────────────────────────────────────────────────────────────────────────────────╮│
││Pack 0 mavlink  16.62 V 0.5 A 92 % div 10 mV ETA 21:00 to 25 % (normal)                                             ││
││▃▃▃▃▃ ▃▃▃▃▃ ▃▃▃▃▃ ▃▃▃▃▃                                                                                             ││
││█████ █████ █████ █████                                                                                             ││
││4.16█ 4.15█ 4.16█ 4.15█                                                                                             ││
││ c1    c2▼   c3    c4                                                                                               ││
││                                                                                                                    ││
││                                                                                                                    ││
││                                                                                                                    ││
││                                                                                                                    ││
││                                                                                                                    ││
││                                                                                                                    ││
│╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯│
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
 Trends: last 120 s at 1 Hz · attitude and GPS from the flight controller via the agent                                 
 ^K palette · a actions · ? help · q quit                                                                       v0.106.1

Link

Radio link health with history, and every address the agent can be reached on.

ados
▌ADOS  my-drone  DRONE  ● FC ArduPilot   DISARMED   STABILIZE                                         ⇄ local   12:00:00
  1 Overview   2 Vehicle   3 Link   4 Video   5 Params   6 Extensions   7 Logs   8 System   9 Settings                  
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│╭ ▌ WFB radio ───────────────────────────────────╮╭ ▌ RSSI dBm · SNR dB ─────────────────────────────────────────────╮│
││State      CONNECTED  healthy                   ││30.5 │                                    ⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠊⠉⠉⠉⠉⠉⠉⠉⠙⠊⠉⠉││
││Adapter   wlan1 · RTL8812AU                     ││-56.5│                                    ⣀⣀⠤⢄⣀⣀⣀⣀⣠⠤⢄⡠⣀⣀⣀⣀⣀⡠⠤⣀⣀⣀⣀⣀││
││Channel   149 · 5745 MHz · 20 MHz wide          ││     └────────────────────────────────────────────────────────────││
││MCS / TX  MCS 1 · 10 of 20 dBm                  ││   -5m                                                         now││
││Region    US                                    │╰──────────────────────────────────────────────────────────────────╯│
││Signal    RSSI -53 dBm · SNR 28 dB · noise -80  │╭ ▌ Loss 1.0 % ────────────────────────────────────────────────────╮│
││Traffic   loss 1.0 % · 7.54 Mbit/s              ││▅▄▂▂▂▂▂▂▂▂▂▃▅▆▇▇▆▅▅▅▅▅▅▃▂ ▁▂▂▃▃▃▃▄▅▇██▇▅▄▄▄▄▃▂▁  ▂▃▅▅▅▅▅▅▆▇▇      ││
││FEC       recovered 177 · failed 0 per 1 s      │╰──────────────────────────────────────────────────────────────────╯│
││Restarts  0                                     │╭ ▌ Bitrate 7.54 Mbit/s ───────────────────────────────────────────╮│
││                                                ││▇▇▇▇▇▇▇▇▇▇▇▆▆▆▆▆▆▆▆▆▆▇▇▇▇▇▇▇▇▇▇▇▆▆▆▆▆▆▇▇▇▇▇▇▇█▇▇▇▇▇▇▇▇▆▆▆▆▆▆      ││
│╰────────────────────────────────────────────────╯╰──────────────────────────────────────────────────────────────────╯│
│╭ ▌ LoRa ────────────────────────────────────────╮╭ ▌ LoRa beacons ──────────────────────────────────────────────────╮│
││Region   EU Europe 863–870 MHz                  ││  node mode        batt      rssi     snr      heard  Position    ││
││Channel  868.1000 MHz · 125 kHz · SF9 · 25/25 mW││     7 LOITER       81%   -95 dBm     7.5    2 s ago  -           ││
││TX       ✓ allowed                              ││    12 AUTO         64%  -103 dBm     3.0    9 s ago  -           ││
││Duty use 0.18 % of 1 % (868.0-868.6)            ││                                                                  ││
││Frames   tx +2 · refused +0 · rx +5 · crc err +0││                                                                  ││
││                                                ││                                                                  ││
││                                                ││                                                                  ││
││                                                ││                                                                  ││
││                                                ││                                                                  ││
││                                                ││                                                                  ││
││                                                ││                                                                  ││
││                                                ││                                                                  ││
││                                                ││                                                                  ││
││                                                ││                                                                  ││
││                                                ││                                                                  ││
││                                                ││                                                                  ││
││                                                ││                                                                  ││
││                                                ││                                                                  ││
││                                                ││                                                                  ││
││                                                ││                                                                  ││
│╰────────────────────────────────────────────────╯╰──────────────────────────────────────────────────────────────────╯│
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
 FEC and loss are per 1 s radio interval · trends: last 5 min at 2 s                                                    
 ^K palette · a actions · ? help · q quit                                                                       v0.106.1

Video

Camera, encoder and stream state, with the playback URLs for each path.

ados
▌ADOS  my-drone  DRONE  ● FC ArduPilot   DISARMED   STABILIZE                                         ⇄ local   12:00:00
  1 Overview   2 Vehicle   3 Link   4 Video   5 Params   6 Extensions   7 Logs   8 System   9 Settings                  
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│╭ ▌ Encoder ──────────────────────────╮╭ ▌ Radio ─────────────────────────────╮╭ ▌ Latency ──────────────────────────╮│
││Codec     H264                       ││Channel   149 · u-nii-3               ││EWMA      86 ms                      ││
││Size      1280×720                   ││Preset    balanced                    ││Last      95 ms                      ││
││Frame rate 30 fps                    ││MCS / FEC MCS 1 · FEC 8/12            ││Source    sei                        ││
││Bitrate   6000 kbit/s                ││TX power  10 dBm                      ││Samples   99                         ││
││Pipeline  running                    ││                                      ││▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇██▇▇▇▇▇▇▇▇▇▆▆▇▇││
││                                     ││                                      ││                                     ││
││                                     ││                                      ││                                     ││
│╰─────────────────────────────────────╯╰──────────────────────────────────────╯╰─────────────────────────────────────╯│
│╭ ▌ Cameras ─────────────────────────────────────────────────────────────────────────────────────────────────────────╮│
││Device           Type     Label                            Size                                                     ││
││/dev/video0      csi      Main camera                      1920×1080                                                ││
││/dev/video2      usb      Thermal                          640×512                                                  ││
││                                                                                                                    ││
││                                                                                                                    ││
││                                                                                                                    ││
││                                                                                                                    ││
││                                                                                                                    ││
││                                                                                                                    ││
││                                                                                                                    ││
││                                                                                                                    ││
││                                                                                                                    ││
││                                                                                                                    ││
││                                                                                                                    ││
││                                                                                                                    ││
││                                                                                                                    ││
││                                                                                                                    ││
│╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯│
│╭ ▌ Viewer URLs ─────────────────────────────────────────────────────────────────────────────────────────────────────╮│
││› WHEP        http://my-drone.local:8889/main/whep                                                                  ││
││  HLS         http://my-drone.local:8888/main/index.m3u8                                                            ││
││  viewer page http://my-drone.local:8889/main/                                                                      ││
││  viewer WHEP http://my-drone.local:8889/main/whep                                                                  ││
│╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯│
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
 y copies the WHEP URL · open it in a WebRTC (WHEP) player                                                              
 ↑↓ move · Tab pane · ^K palette · a actions · ? help · q quit                                                  v0.106.1

Extensions

Installed extensions and the catalog: install, enable, configure and remove, each with its permissions.

ados
▌ADOS  my-drone  DRONE  ● FC ArduPilot   DISARMED   STABILIZE                                         ⇄ local   12:00:00
  1 Overview   2 Vehicle   3 Link   4 Video   5 Params   6 Extensions   7 Logs   8 System   9 Settings                  
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│INSTALLED (1)                       │ Follow Subject  com.example.follow                                              │
│▸ ✓ Follow Subject            0.2.10│   Status      ✓ running                                                         │
│                                    │   Version     0.2.10                                                            │
│CATALOG (2)                         │   Signer      example                                                           │
│  Gimbal Controller     1.4.1 medium│   Risk        high                                                              │
│  Survey Grid              0.9.0 low│                                                                                 │
│                                    │ Permissions                                                                     │
│                                    │   mavlink.read                  required  ✓ granted                             │
│                                    │   mavlink.command               required  ✓ granted                             │
│                                    │   video.frames                  required  ✓ granted                             │
│                                    │                                                                                 │
│                                    │ MCP tools                                                                       │
│                                    │   follow.start                  flight                                          │
│                                    │   follow.stop                   flight                                          │
│                                    │                                                                                 │
│                                    │ Services                                                                        │
│                                    │   ✓ tracker                 ready                                               │
│                                    │   ✓ planner                 ready                                               │
│                                    │                                                                                 │
│                                    │ State                                                                           │
│                                    │   follow.state  ts 5                                                            │
│                                    │     {                                                                           │
│                                    │       "active": false,                                                          │
│                                    │       "subject": "none"                                                         │
│                                    │     }                                                                           │
│                                    │                                                                                 │
│                                    │                                                                                 │
│                                    │                                                                                 │
│                                    │ Config                                                                          │
│                                    │ Follow                                                                          │
│                                    │ › Follow distance  12 ◆                                                         │
│                                    │   Follow height    10                                                           │
│                                    │                                                                                 │
│                                    │                                                                                 │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
 Enter or Tab: edit this extension's config rows                                                                        
 Enter install/edit · e enable · d disable · x remove · g grant · I from URL · ↑↓ move · Tab pane · ^K palette  v0.106.1

Logs

The agent's log stream with level and service filters, search and follow.

ados
▌ADOS  my-drone  DRONE  ● FC ArduPilot   DISARMED   STABILIZE                                         ⇄ local   12:00:00
  1 Overview   2 Vehicle   3 Link   4 Video   5 Params   6 Extensions   7 Logs   8 System   9 Settings                  
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│Level ≥ INFO  Service all  ✓ live  31/31 lines                                                                        │
│  Time         Level    Logger                 Message                                                                │
│  12:04:10.000 INFO     ados.supervisor        starting the agent, profile drone                                      │
│  12:04:12.037 INFO     ados.discovery         mDNS advertising my-drone.local                                        │
│  12:04:14.074 INFO     ados.api               listening on :8080                                                     │
│  12:04:16.111 INFO     ados.mavlink           serial /dev/ttyACM0 opened at 115200 baud                              │
│  12:04:18.148 INFO     ados.mavlink           router up: tcp :5760, websocket :8765                                  │
│  12:04:20.185 INFO     ados.health            hardware check: 4 ok                                                   │
│  12:04:22.222 INFO     ados.vision            model loaded, 30 fps budget                                            │
│  12:04:24.259 INFO     ados.logd              journal capture on                                                     │
│  12:04:26.296 INFO     ados.supervisor        all 11 services running                                                │
│  12:04:28.333 INFO     ados.mavlink           heartbeat from sysid 1 (ArduPilot copter)                              │
│  12:04:30.370 INFO     ados.mavlink           parameter sweep complete: 1043 parameters                              │
│  12:04:32.407 INFO     ados.video             encoder started: h264 1280x720 30 fps 6000 kbit/s                      │
│  12:04:34.444 INFO     ados.wfb               wlan1 up on channel 149, MCS 1                                         │
│  12:04:36.481 INFO     ados.api               paired session opened from Mission Control                             │
│  12:04:38.518 WARNING  ados.health            cpu_thermal 61.2 °C above the 60 °C notice level                       │
│  12:04:40.555 INFO     ados.health            cpu_thermal back to 55.8 °C                                            │
│  12:04:42.592 INFO     ados.mavlink           mode STABILIZE                                                         │
│  12:04:44.629 INFO     ados.cloud             telemetry relay connected                                              │
│  12:04:46.666 WARNING  ados.wfb               loss 2.1 % over the last 5 s                                           │
│  12:04:48.703 INFO     ados.wfb               loss back under 1 %                                                    │
│  12:04:50.740 INFO     ados.video             viewer joined over WHEP                                                │
│  12:04:52.777 ERROR    ados.plugins           com.example.gimbal: install refused, signature unknown                 │
│  12:04:54.814 INFO     ados.plugins           com.example.follow 0.2.10 running                                      │
│  12:04:56.851 INFO     ados.mavlink           GPS 3D fix, 14 satellites                                              │
│  12:04:58.888 INFO     ados.api               config write discovery.mdns_enabled = true                             │
│  12:05:00.925 INFO     ados.mavlink           EKF origin set                                                         │
│  12:05:02.962 INFO     ados.mavlink           home position set                                                      │
│  12:05:04.999 INFO     ados.cloud             heartbeat acknowledged                                                 │
│  12:05:06.036 INFO     ados.video             bitrate 6000 kbit/s held, link healthy                                 │
│  12:05:08.073 INFO     ados.wfb               RSSI -52 dBm, SNR 28 dB                                                │
│  12:05:10.110 INFO     ados.health            all checks passing                                                     │
│                                                                                                                      │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
                                                                                                                        
 l level · s service · p pause · G follow · Enter detail · ↑↓ move · Tab pane · / search · ^K palette · a actio v0.106.1

System

Services, board resources and version, with restarts that ask before acting.

ados
▌ADOS  my-drone  DRONE  ● FC ArduPilot   DISARMED   STABILIZE                                         ⇄ local   12:00:00
  1 Overview   2 Vehicle   3 Link   4 Video   5 Params   6 Extensions   7 Logs   8 System   9 Settings                  
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│╭ ▌ Resources ───────────────────────────────────╮╭ ▌ Temperatures ────────╮╭ ▌ Agent ───────────────────────────────╮│
││██████████    CPU 20.5% · 4 cores               ││cpu_thermal   53.4 °C   ││Version   0.106.1                       ││
││▁▁▁▁▁▁▁▁▁▂▂▂▂▂▂▂▂▂▂▂▁▁▁▁▁▁▁▁▁▁▁▂▂▂▂▂▂▂▁▁▁▁▁▁▁▁▁▁││gpu_thermal   52.5 °C   ││Latest    0.106.1 (up to date)          ││
││███████████Memory 1730/4096 MB (42%)            ││                        ││Target    local                         ││
││█████████████Disk 9.4/32.0 GB (29%)             ││                        ││                                        ││
││                                                ││                        ││u update the agent                      ││
││                                                ││                        ││S restart the supervisor                ││
│╰────────────────────────────────────────────────╯╰────────────────────────╯╰────────────────────────────────────────╯│
│╭ ▌ Services ───────────────────────────────────────────────────╮╭ ▌ Peripherals ────────────────────────────────────╮│
││  Service                  Active       State          Memory  ││  Flight controller     ✓ connected     usb        ││
││› ados-supervisor          ✓ active     running       18.2 MB  ││  GNSS receiver         ✓ connected     usb        ││
││  ados-api                 ✓ active     running       46.9 MB  ││  RTL8812AU radio       ✓ connected     usb        ││
││  ados-mavlink             ✓ active     running       21.4 MB  ││  Main camera           ✓ connected     csi        ││
││  ados-video               ✓ active     running       38.5 MB  ││                                                   ││
││  ados-wfb                 ✓ active     running        9.8 MB  ││                                                   ││
││  ados-cloud               ✓ active     running       24.1 MB  ││                                                   ││
││  ados-health              ✓ active     running       12.6 MB  ││                                                   ││
││  ados-plugins             ✓ active     running       15.3 MB  ││                                                   ││
││  ados-discovery           ✓ active     running        6.2 MB  ││                                                   ││
││  ados-vision              ✓ active     running       61.7 MB  ││                                                   ││
││  ados-logd                ✓ active     running        8.4 MB  ││                                                   ││
││                                                               ││                                                   ││
││                                                               ││                                                   ││
││                                                               ││                                                   ││
││                                                               ││                                                   ││
││                                                               ││                                                   ││
│╰───────────────────────────────────────────────────────────────╯╰───────────────────────────────────────────────────╯│
│╭ ▌ Hardware check ──────────────────────────────────────────────────────────────────────────────────────────────────╮│
││  ✓ ok       Flight controller          ArduPilot copter on /dev/ttyACM0                                            ││
││  ✓ ok       Camera                     CSI camera 1920×1080                                                        ││
││  ✓ ok       Video radio                RTL8812AU on wlan1                                                          ││
││  ✓ ok       GNSS (optional)            3D fix, 14 satellites                                                       ││
││                                                                                                                    ││
│╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯│
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
 ados-supervisor: active / running · R restarts it                                                                      
 R restart svc · c re-check · ↑↓ move · Tab pane · ^K palette · a actions · ? help · q quit                     v0.106.1

Ground station

On a ground station profile the Vehicle tab becomes Ground: the radio, the uplink and the drones it serves.

ados
▌ADOS  my-ground  GROUND_STATION                                                                      ⇄ local   12:00:00
  1 ◎ Overview   2 ✈ Ground   3 ≋ Link   6 ◇ Extensions   7 ▤ Logs   8 ▣ System   9 ⚙ Settings                          
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│╭ ▌ GNSS ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮│
││ID       Source     Model          Fix        Sats  HDOP RTK    PPS  Position                                       ││
││gnss0    hub        M10            rtk fixed    14   0.8 fixed  lock 47.397742, 8.545594                            ││
││Base     survey · surveying · 180/300 s · accuracy 2.40 m (target 2.00 m) · RTCM 1.0 msg/s → 2 targets              ││
││                                                                                                                    ││
│╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯│
│╭ ▌ Gamepads ─────────────────────╮╭ ▌ Bluetooth ─────────────────────────────────╮╭ ▌ Phone receivers ──────────────╮│
││› Pad One  PRIMARY               ││  Headset AA:BB:CC:DD:EE:FF ✓ connected       ││  Phone ABCD-EF01-2345-6789 539 s││
││  RC Sticks                      ││  Field tablet AA:BB:CC:DD:EE:01 paired       ││                                 ││
││                                 ││                                              ││                                 ││
││                                 ││                                              ││                                 ││
││                                 ││                                              ││                                 ││
││                                 ││                                              ││                                 ││
││                                 ││                                              ││                                 ││
││                                 ││                                              ││                                 ││
││                                 ││                                              ││                                 ││
││                                 ││                                              ││                                 ││
││                                 ││                                              ││                                 ││
││                                 ││                                              ││                                 ││
││                                 ││                                              ││                                 ││
││                                 ││                                              ││                                 ││
││                                 ││                                              ││                                 ││
││                                 ││                                              ││                                 ││
││                                 ││                                              ││                                 ││
││                                 ││                                              ││                                 ││
││                                 ││                                              ││                                 ││
││                                 ││                                              ││                                 ││
││                                 ││                                              ││                                 ││
││                                 ││                                              ││                                 ││
││                                 ││                                              ││                                 ││
│╰─────────────────────────────────╯╰──────────────────────────────────────────────╯╰─────────────────────────────────╯│
│╭ ▌ Display ─────────────────────────────────────────────────────────────────────────────────────────────────────────╮│
││Resolution auto  Kiosk on  Target default                                                                           ││
│╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯│
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
 Enter makes the selected gamepad the primary flight input                                                              
 b survey-in · s bt scan · a approve · Enter select · ↑↓ move · Tab pane · ^K palette · ? help · q quit         v0.106.1

Overview first

The first tab answers whether the node is healthy: identity, flight controller, link, video and services on one screen.

SETTINGS

Every dashboard setting, from the keyboard.

The settings pages mirror the web dashboard, plus a browser of every config key. Left and right apply a toggle or a short choice at once; Enter edits.

ados
▌ADOS  my-drone  DRONE  ● FC ArduPilot   DISARMED   STABILIZE                                         ⇄ local   12:00:00
  1 Overview   2 Vehicle   3 Link   4 Video   5 Params   6 Extensions   7 Logs   8 System   9 Settings                  
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│THIS TERMINAL         │ › Theme             amber                                                                     │
│▸ Appearance          │   Color-blind mode  off                                                                       │
│  Behaviour           │   Symbols           unicode                                                                   │
│  Agents              │   Motion            auto                                                                      │
│IDENTITY              │                                                                                               │
│  Profile             │                                                                                               │
│  Device              │                                                                                               │
│LINK & NETWORK        │                                                                                               │
│  Wi-Fi               │                                                                                               │
│  Hotspot             │                                                                                               │
│  Cellular            │                                                                                               │
│  MAC pinning         │                                                                                               │
│  Discovery           │                                                                                               │
│  MAVLink             │                                                                                               │
│  Radio               │                                                                                               │
│VIDEO & VISION        │                                                                                               │
│  Camera              │                                                                                               │
│  Video link          │                                                                                               │
│  Vision              │                                                                                               │
│  Sensors             │                                                                                               │
│  Swarm               │                                                                                               │
│CLOUD & REMOTE        │                                                                                               │
│  Cloud               │                                                                                               │
│  Remote access       │                                                                                               │
│ACCESS & SECURITY     │                                                                                               │
│  Pairing             │                                                                                               │
│  Security            │                                                                                               │
│  MCP                 │                                                                                               │
│SYSTEM & SAFETY       │                                                                                               │
│  Region              │                                                                                               │
│  Battery             │                                                                                               │
│  Self-heal           │                                                                                               │
│  Advanced            │                                                                                               │
│ALL SETTINGS          │                                                                                               │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
 Theme used for the whole terminal UI                                                                                   
 ←→ change · Enter edit · Tab page · ↑↓ move · / search · ^K palette · a actions · ? help · q quit              v0.106.1

Settings groups

  • This terminal
  • Identity
  • Link and network
  • Video and vision
  • Cloud and remote
  • Access and security
  • System and safety
  • Extensions
  • All settings

PARAMETERS

Stage, review, then write.

Edit flight controller parameters with their metadata. Changes are staged, listed old to new before anything is sent, and written one by one.

ados
▌ADOS  my-drone  DRONE  ● FC ArduPilot   DISARMED   STABILIZE                                         ⇄ local   12:00:00
  1 Overview   2 Vehicle   3 Link   4 Video   5 Params   6 Extensions   7 Logs   8 System   9 Settings                  
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│  All               30│15 shown · ardupilot-copter latest metadata (5694 known)                                       │
│  Staged             1│       Name              Value                Units   Range/Options   Description              │
│  Non-default        0│       ATC_ACCEL_P_MAX   110000                                                                │
│  Favourites         0│       ATC_ACCEL_R_MAX   110000                                                                │
│▸ ATC               15│       ATC_ACCEL_Y_MAX   27000                                                                 │
│  BATT               4│       ATC_ANG_PIT_P     4.5                          3 .. 12         Pitch axis angle controll│
│  COMPASS            1│       ATC_ANG_RLL_P     4.5                          3 .. 12         Roll axis angle controlle│
│  FENCE              3│       ATC_ANG_YAW_P     4.5                          3 .. 12         Yaw axis angle controller│
│  GPS                1│       ATC_RAT_PIT_D     0.0036               s^2/rad 0 .. 0.03       Pitch axis rate controlle│
│  INS                1│       ATC_RAT_PIT_I     0.135                1/rad   0 .. 0.6        Pitch axis rate controlle│
│  LOIT               1│       ATC_RAT_PIT_P     0.135                s/rad   0 .. 0.35       Pitch axis rate controlle│
│  PILOT              1│       ATC_RAT_RLL_D     0.0036               s^2/rad 0 .. 0.03       Roll axis rate controller│
│  RTL                1│       ATC_RAT_RLL_I     0.135                1/rad   0 .. 0.6        Roll axis rate controller│
│  WPNAV              2│●      ATC_RAT_RLL_P     0.136                s/rad   0 .. 0.35       Roll axis rate controller│
│                      │       ATC_RAT_YAW_I     0.018                1/rad   0.01 .. 0.2     Yaw axis rate controller │
│                      │       ATC_RAT_YAW_P     0.18                 s/rad   0.18 .. 0.6     Yaw axis rate controller │
│                      │       ATC_THR_MIX_MAN   0.1                          0.1 .. 0.9      Throttle vs attitude cont│
│                      │                                                                                               │
│                      │                                                                                               │
│                      │                                                                                               │
│                      │                                                                                               │
│                      │                                                                                               │
│                      │                                                                                               │
│                      │                                                                                               │
│                      │                                                                                               │
│                      │                                                                                               │
│                      │                                                                                               │
│                      │                                                                                               │
│                      │───────────────────────────────────────────────────────────────────────────────────────────────│
│                      │ATC_RAT_RLL_P  Roll axis rate controller P gain                                                │
│                      │Roll axis rate controller P gain.                                                              │
│                      │                                                                                               │
│                      │range 0 .. 0.35 · step 0.005 · units s/rad · live 0.135 → staged 0.136                         │
│                      │                                                                                               │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
 Roll axis rate controller P gain.                                                                                      
 Enter edit · w write · u unstage · f fav · m staged · e export · i import · ↑↓ move · Tab pane · /  1 staged   v0.106.1

Parameter editing

  • MetadataArduPilot and PX4
  • SearchName, group or description
  • StagingReview every change first
  • Files.param import and export
  • WritesOnly with a fresh disarmed reading

REMOTE

Drive an agent from your workstation.

ados-tui --host opens the same console against an agent on another machine. It stays locked until you prove access.

ados
▌ADOS  my-drone  DRONE  ● FC ArduPilot   DISARMED   STABILIZE                                  ⇄ 192.168.1.50    LOCKED 
  1 Overview   2 Vehicle   3 Link   4 Video   5 Params   6 Extensions   7 Logs   8 System   9 Settings                  
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│▲ LOCKED                                                                                                              │
│Locked: API key or dashboard PIN required · showing the last snapshot                                                 │
│╭ ▌ Links ──────────────────────────────────────────╮╭ ▌ Autopilot ──────────────────────────────────────────────────╮│
││Console                                            ││● ArduPilot connected   STABILIZE   DISARMED                   ││
││Setup & dashboard in a browser, on this LAN.       ││/dev/ttyACM0 · 115200                                          ││
││➜ http://my-drone.local:8080/setup  ●              ││██████████████████████████battery 92% ████████████████████     ││
││➜ http://192.168.1.50:8080/setup                   ││▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇                                 ││
││                                                   ││GPS 3D   sats 14   alt 0.3 m                                   ││
││Connect to GCS                                     ││                                                               ││
││Add this drone to Mission Control - paste one of   ││                                                               ││
││these into the Add-a-Node card (LAN pairing).      │╰───────────────────────────────────────────────────────────────╯│
││➜ http://my-drone.local:8080  ●                    │╭ ▌ Video ──────────────────────────────────────────────────────╮│
││➜ http://192.168.1.50:8080                         ││● running                                                      ││
││                        ╭ ▌ API key required ──────────────────────────────────────────────╮────────────────────────╯│
││Ground control          │Agent http://192.168.1.50:8080                                    │────────────────────────╮│
││Conventional MAVLink ove│Paste this agent's pairing key:                                   │tica.com)               ││
││third-party GCS: tcp://…│›                                                                 │                        ││
││station, ws://…:8765/ fo│API key required                                                  │                        ││
││➜ tcp://my-drone.local:5│Enter submit · Esc close (data stays locked)                      │────────────────────────╯│
││➜ ws://my-drone.local:87│                                                                  │────────────────────────╮│
││➜ tcp://192.168.1.50:576╰──────────────────────────────────────────────────────────────────╯                        ││
││➜ ws://192.168.1.50:8765/                          ││hardware 4 ok                                                  ││
││                                                   ││                                                               ││
││Video                                              ││                                                               ││
││Live camera in a browser (WHEP viewer).            ││                                                               ││
││➜ http://my-drone.local:8889/main/  ●              ││                                                               ││
││➜ http://192.168.1.50:8889/main/                   ││                                                               ││
││                                                   ││                                                               ││
││Mission Control                                    ││                                                               ││
││Open Mission Control to fly this drone. Hosted at  ││                                                               ││
││command.altnautica.com; a local or self-hosted     │╰───────────────────────────────────────────────────────────────╯│
││build runs wherever you serve it (e.g.             │╭ ▌ Sensors ────────────────────────────────────────────────────╮│
││http://localhost:4000).                            ││sensors imu 400/400 Hz · gnss 10/10 Hz · camera 30/30 Hz       ││
│╰───────────────────────────────────────────────────╯╰───────────────────────────────────────────────────────────────╯│
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
                                                                                                                        
 Enter ok · Esc cancel                                                                                          v0.106.1

Connect

Host or host:port. The default port is 8080.

ados-tui --host 192.168.1.50
Access
Paired agent
Asks for its API key; optionally remembered per target
Unpaired agent
Asks for the dashboard PIN
Saved targets
Pick a recent agent instead of typing its address
On-box actions
Hidden when the console drives a remote agent

KEYS AND THEMES

Same keys on every tab.

Four themes from the brand palette: amber, brand dark, brand light and night vision. A colour-blind mode, three glyph sets, and motion that reduces itself over SSH.

ados
▌ADOS  my-drone  DRONE  ● FC ArduPilot   DISARMED   STABILIZE                                         ⇄ local   12:00:00
  1 Overview   2 Vehicle   3 Link   4 Video   5 Params   6 Extensions   7 Logs   8 System   9 Settings                  
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│● HEALTHY                                                                                                             │
│paired · cloud relay                                                                                                  │
│╭ ▌ Links ──────────────────────────────────────────╮╭ ▌ Autopilot ──────────────────────────────────────────────────╮│
││Console                                            ││● ArduPilot connected   STABILIZE   DISARMED                   ││
││Setup & dashboard in a browser, on this LAN.       ││/dev/ttyACM0 · 115200                                          ││
││➜ http://my-drone.local:8080/setup  ●              ││██████████████████████████battery 92% ████████████████████     ││
││➜ http://192.168.1.50:8080/setup                   ││▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇                                 ││
││                                                   ││GPS 3D   sats 14   alt 0.3 m                                   ││
││Connect to GCS                                     ││                                                               ││
││Add this drone to Mission Control - paste one of   ││                                                               ││
││these into the Add-a-Node card (LAN pairing).      │╰───────────────────────────────────────────────────────────────╯│
││➜ http://my-drone.local:8080  ●                    │╭ ▌ Video ──────────────────────────────────────────────────────╮│
││➜ http://192.168.1.50:8080                         ││● running                                                      ││
││                                                   │╰───────────────────────────────────────────────────────────────╯│
││Ground control                                     │╭ ▌ Link ───────────────────────────────────────────────────────╮│
││Conventional MAVLink over TCP / WebSocket for a    ││cloud    paired (https://command.altnautica.com)               ││
││third-party GCS: tcp://…:5760 for a desktop ground ││remote   disabled                                              ││
││station, ws://…:8765/ for a browser GCS.           ││hotspot  off                                                   ││
││➜ tcp://my-drone.local:5760  ●                     │╰───────────────────────────────────────────────────────────────╯│
││➜ ws://my-drone.local:8765/                        │╭ ▌ Services ───────────────────────────────────────────────────╮│
││➜ tcp://192.168.1.50:5760                          ││● 11 running   ○ 0 stopped                                     ││
││➜ ws://192.168.1.50:8765/                          ││hardware 4 ok                                                  ││
││                                                   ││                                                               ││
││Video                                              ││                                                               ││
││Live camera in a browser (WHEP viewer).            ││                                                               ││
││➜ http://my-drone.local:8889/main/  ●              ││                                                               ││
││➜ http://192.168.1.50:8889/main/                   ││                                                               ││
││                                                   ││                                                               ││
││Mission Control                                    ││                                                               ││
││Open Mission Control to fly this drone. Hosted at  ││                                                               ││
││command.altnautica.com; a local or self-hosted     │╰───────────────────────────────────────────────────────────────╯│
││build runs wherever you serve it (e.g.             │╭ ▌ Sensors ────────────────────────────────────────────────────╮│
││http://localhost:4000).                            ││sensors imu 400/400 Hz · gnss 10/10 Hz · camera 30/30 Hz       ││
│╰───────────────────────────────────────────────────╯╰───────────────────────────────────────────────────────────────╯│
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
 paired · cloud relay                                                                                                   
 ^K palette · a actions · ? help · q quit                                                                       v0.106.1

Global keys

  • 1-9Go to tab
  • [ ]Previous or next tab
  • Ctrl-KCommand palette
  • ?Help
  • /Search
  • rRefresh now
  • yCopy the focused value
  • aQuick actions
  • qQuit
  • Ctrl-CQuit now

SAFETY

No flight commands from the terminal.

Refuses while armed

The console sends no flight commands. Parameter writes, reboots, updates, extension changes, Wi-Fi joins and profile or region changes refuse while the vehicle is armed or its arm state is unknown.

Install, SSH in, run ados.

Or point ados-tui --host at an agent on your network.

Read the docs
Get Early Access