Profile key: cubesat_1u · Mass cap: 1.33 kg · Volume: 1135 cm³
Template: mission_templates/cubesat_1u.json ·
BOM: hardware/bom/by_form_factor/cubesat_1u.csv
Entry-level orbital mission for universities or first-launch teams. 100 × 100 × 113.5 mm standard CubeSat cell with a single-board OBC, minimal ADCS (magnetorquer only), and a tech-demo payload. Typical mission life 3–12 months in a ≤ 450 km decaying LEO.
| Parameter | Value |
|---|---|
| Mass cap | 1.33 kg (CDS rev 14) |
| Dimensions | 100 × 100 × 113.5 mm |
| Volume | 1135 cm³ |
| Power generation | ~2.5 W orbit-average, body-mounted |
| Nominal consumption | 2.0 W |
| Battery | 2× 18650 Li-ion, ~20 Wh |
| Subsystem | Required | Allowed | Forbidden |
|---|---|---|---|
| OBC (STM32F446) | ✅ | ||
| EPS | ✅ | 4-panel body-mounted | |
| UHF beacon | ✅ | ||
| Magnetorquer ADCS | ✅ | ||
| GNSS | ✅ | ||
| Camera | ⚠ (space tight) | ||
| S-band downlink | ❌ (registry gate) | ||
| Reaction wheels | ❌ (registry gate) | ||
| Propulsion | ❌ |
The registry’s form-factor gate refuses to enable S-band or reaction wheels on a 1U — there is neither the volume nor the power budget to support them.
make target-cubesat-1u
Compile-time macro: MISSION_PROFILE_CUBESAT_1U=1. Sets:
PROFILE_FEATURE_SBAND=0PROFILE_FEATURE_WHEELS=0PROFILE_FEATURE_ADCS_ACTIVE=1 (magnetorquers only)PROFILE_FEATURE_ORBIT_PREDICTOR=1PROFILE_FEATURE_RADIATION=1cp mission_templates/cubesat_1u.json mission_config.json
Fields to review:
orbit.altitude_km / inclination_deg — defaults 400 / 51.6° (ISS-like).subsystems.comm_uhf.frequency_mhz — ITU-coordinated amateur allocation.subsystems.adcs.tier — magnetorquer (enforced by registry).subsystems.payload.type — describe your experiment.ground_station.location — your antenna coordinates.With the default subsystem set:
| Metric | Value | Status |
|---|---|---|
| Total mass | 1.258 kg | ≤ 1.33 kg ✅ (limited margin) |
| 20 % margin | 0.210 kg | included |
| Volume used | 365 cm³ | 32 % of 1135 cm³ ✅ |
A 1U has very tight mass margin. Adding a camera typically requires dropping one solar panel and accepting a 10 % power cut.
Inherited from the cubesat_leo mission type:
startup → deployment → detumbling → nominal
↓ timeout / fault
safe_mode ⇌ low_power
science / comm_window (from nominal)
Entry points:
| Phase | Trigger | Duration |
|---|---|---|
startup |
T+0 s after release | 5 min |
deployment |
antennas open + body solar cells deployed | 30 min |
detumbling |
B-dot controller reduces rates < 0.5 °/s | ≤ 60 min |
nominal |
long-term operations | ongoing |
safe_mode |
beacon-only when ground contact lost > 24 h | until ack |
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.
UNISAT_SOAK_SECONDS=172800 pytest flight-software/tests/test_long_soak.py).scripts/simulate_mission.sh mission_config.json).Spacecraft delivery to launch provider:
KeyRotationPolicy reports ok.For CubeSats the “post-flight” is the whole mission: debriefs happen after each ground-station pass.
Per pass, capture:
flight_logs/<date>_<pass>.pcap).Weekly summary:
File monthly mission-status reports under docs/operations/flight_reports/.
Previous profile: cansat_advanced.md · Next profile: cubesat_1_5u.md