Active program

Pyrois Mk-0.

A simulation-first flight test campaign. Mk-0 flies the production autopilot stack — ArduPilot — through autonomous missions in software, so that every dollar of future hardware is spent on a design that has already flown thousands of times.

01 — Why simulation first

The cheapest crash is a simulated one.

Software-in-the-loop simulation runs the identical flight code that flies real aircraft. Missions, failures, winds, and link losses can all be rehearsed at zero marginal cost — which means the first physical flight is a confirmation, not an experiment.

# Launch a Pyrois Mk-0 session (ArduPilot SITL)
sim_vehicle.py -v ArduPlane --console --map
wp load missions/mk0_survey_alpha.waypoints
mode auto
Flying mission · 6 waypoints · logging to flight_042.bin
02 — Campaign phases

Three gates to hardware.

SIM-1

Waypoint autonomy

Fully autonomous takeoff, multi-waypoint missions, and return-to-launch in ArduPilot SITL. Exit criteria: 25 consecutive clean missions with logged telemetry review.

Active

SIM-2

Endurance & degradation

Long-duration loiter profiles, wind and turbulence models, and failure rehearsal — link loss, GPS degradation, and safe-return logic under stress.

Next

SIM-3

Multi-vehicle coordination

Two-plus aircraft flying coordinated patterns in one simulation — the first data for the Eous swarm concept, before a single Eous airframe exists.

Planned

MK-0

Hardware build gate

When simulation exit criteria are met, the campaign moves to a subscale physical demonstrator flying the same code — registered, insured, and flown under FAA rules.

Gated
03 — The stack

Proven tools, open code.

Mk-0 runs on the open-source stack trusted by commercial and research UAS worldwide: ArduPilot for flight control, SITL for software-in-the-loop simulation, Mission Planner and MAVProxy for ground control, and Gazebo for physics-rich scenarios. Open tools mean our results are reproducible — by partners, by reviewers, by anyone.

Follow the campaign.

Every phase gate, every milestone, logged publicly as it happens.

Read updates