Profile keys: drone_small (2.5 kg) Β· drone_medium (5.0 kg)
Template: mission_templates/drone_survey.json Β·
Payload computer for fixed-wing or multi-rotor UAVs. Mounts inside the airframe as a secondary flight computer (primary autopilot β Pixhawk / ArduPilot β still handles actuator control). UniSat handles:
| Parameter | Small | Medium |
|---|---|---|
| Mass cap | 2.5 kg | 5.0 kg |
| Dimensions (mm) | 200 Γ 200 Γ 100 | 300 Γ 300 Γ 150 |
| Volume (cmΒ³) | 4000 | 13500 |
| Generation | 0 W (battery only) | 0 W |
| Consumption | 8 W | 15 W |
| Subsystem | Status |
|---|---|
| OBC | β |
| IMU (flight controller) | β (redundant to autopilot) |
| Barometer | β |
| GNSS | β |
| 2.4 GHz MAVLink link | β |
| Camera (multispectral) | β |
| Payload (survey kit) | β |
| ADCS / reaction wheels | β |
| S-band | β |
Note: the autopilot (Pixhawk etc.) is NOT a UniSat subsystem; UniSat interfaces with it over MAVLink-over-UART. The payload computerβs IMU / barometer are secondary references, not the control loop.
# Small (EASA Open A2):
cmake -B firmware/build-arm-drone-small -S firmware \
-DCMAKE_C_FLAGS=-DMISSION_PROFILE_DRONE_SMALL=1
cmake --build firmware/build-arm-drone-small
# Medium (Specific / BVLOS):
cmake -B firmware/build-arm-drone-medium -S firmware \
-DCMAKE_C_FLAGS=-DMISSION_PROFILE_DRONE_MEDIUM=1
cmake --build firmware/build-arm-drone-medium
(Drone profiles are not on the default make target-* recipe list β
add a local alias if used frequently.)
cp mission_templates/drone_survey.json mission_config.json
Key fields:
mission.competition.max_flight_time_min β battery-limited; 30 min typical.mission.competition.max_altitude_m β set to regulatory limit (typically 120 m AGL).mission.competition.geofence_radius_m β hard-stop radius around takeoff point.subsystems.comm.uhf.frequency_mhz β 2400 MHz MAVLink or licensed UHF.subsystems.payload.sensors β list of survey sensors (multispectral, thermal, LiDAR).Validator-confirmed (default subsystems):
| Size | Mass | Limit | Volume used |
|---|---|---|---|
| Small | 1.8 kg | 2.5 kg | 45 % of 4000 cmΒ³ |
| Medium | 3.2 kg | 5.0 kg | 38 % of 13500 cmΒ³ |
Drone-survey phases (DRONE_SURVEY in mission_types.py):
preflight β armed β takeoff β mission_flight
β
return_to_home / landing / emergency
β
landed
Loss-of-link behaviour:
geofence_radius_m β return_to_home.emergency (controlled descent).landing.Legend:
[x]= verified in software / CI / SITL (passes in the current release);[ ]= requires bench hardware, RF range test, or flight-day field activity β team must sign off manually.
LAND to the autopilot within 2 s of link loss + geofence breach.mission_config.json signed + loaded; KeyRotationPolicy reports ok.return_to_home logic
to degrade to a barometric hold.Capture:
Analyse:
File in docs/operations/flight_reports/.
Previous profile: hab_payload.md Β· Next profile: β