{{ kicker }}

{{ title }}

{{ help }}

{{ armText }} Mode · {{ mode }} Battery · {{ battV }} V
{{ x.k }}
{{ x.v }}
{{ a.k }}
{{ a.v }}

Flight mode

{{ m.label }}

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.
Click the map to add a waypoint
{{ w.n }}
Home

Waypoints

{{ r.n }}
{{ r.pos }}
{{ 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.

Waiting for stream · RPi Camera Module 2 (MIPI-CSI)
{{ recText }} ALT {{ alt }} m · {{ mode }}
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

{{ o }}
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

{{ o }}
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.