{{ kicker }}
{{ title }}
{{ help }}
{{ armText }}
Mode · {{ mode }}
Battery · {{ battV }} V
{{ x.k }}
{{ x.v }}
{{ a.k }}
{{ a.v }}
Flight mode
Mode is chosen on the transmitter. The ground station shows it; it can't change it.
{{ t.k }}
{{ t.v }}
{{ t.s }}
Motors
Quad-X mix. Each ring fills with commanded thrust.
FC
{{ m.name }}{{ m.pct }}
{{ c.icon }}
{{ c.name }}
{{ c.rule }}
{{ c.val }}
{{ readyTitle }}
{{ readyBody }}
Simulate a fault
If something goes wrong
RC signal lost
Level descent at 0.75 m/s until touchdown is held for 1.5 s, then disarm. RC back for 500 ms returns control. Capped at 120 s.
Barometer dead
No climb loop, so motors cut immediately.
Battery critical
Always an immediate cut.
Waypoints
{{ r.n }}
{{ r.alt }}
No waypoints yet.
Route length{{ routeLen }}
GNSS fix3D · 14 sats · 5 Hz
Executes inGUIDED
The navigator sends targets, not motor commands. The flight controller bounds them, and a stale target (over 60 ms) falls back to RC.
Recording saves MKV on the companion computer. Stream and recording keep running if the link drops.
One board, two computers. If missing a deadline by 10 ms could crash the aircraft, it runs on the pilot.
The pilot · STM32U585 · Zephyr
Keeps it in the air
Hard real-time at 500 Hz. Must never crash.
STATE ↑ 100 Hz
SELF ↑ 2 Hz
INTENT ↓ 50 Hz
ACP-1.0 · lpuart1
The navigator · QRB2210 · Debian
Decides where to go
No deadline. May crash, and the aircraft keeps flying.
Link loss is normal
Guided targets go stale and control falls back to RC.
No software arming
Arm requests over the link are ignored. Arming needs the physical switch.
Boot order doesn't matter
The pilot is flight-ready about 30 s before Linux.