UniSat ships one codebase that targets 17 canonical hardware form factors. Each one has a different mass / volume / power budget, different regulatory context, and different flight ops. This folder collects a step-by-step runbook per profile so a new team can go from βcloned the repoβ to βintegrated & ready to flyβ without cross-referencing the whole documentation set.
Every guide follows the same twelve-section template:
make target-<profile> invocation.mission_templates/*.json to copy and what to edit.| Profile | Best for | Mass cap | Guide |
|---|---|---|---|
cansat_minimal |
First-time teams, schools | 350 g | cansat_minimal.md |
cansat_standard |
ESERO / national CanSat competitions | 500 g | cansat_standard.md |
cansat_advanced |
NASA CanSat / deployable payload | 700 g | cansat_advanced.md |
| Profile | Best for | Mass cap | Guide |
|---|---|---|---|
cubesat_1u |
Educational LEO tech demo | 1.33 kg | cubesat_1u.md |
cubesat_1_5u |
Compact tech demo | 2.0 kg | cubesat_1_5u.md |
cubesat_2u |
Small science / imaging | 2.66 kg | cubesat_2u.md |
cubesat_3u |
UniSat TRL-5 reference | 4.0 kg | cubesat_3u.md |
cubesat_6u |
Earth observation / deployable | 12.0 kg | cubesat_6u.md |
cubesat_12u |
Long-duration / deep-space tech | 24.0 kg | cubesat_12u.md |
| Profile | Best for | Mass cap | Guide |
|---|---|---|---|
rocket_avionics |
IREC / SA Cup / Team America | 0.5 kg | rocket_avionics.md |
hab_payload_medium |
Standard HAB flights | 2.0 kg | hab_payload.md |
drone_small / drone_medium |
UAV survey / inspection | 2.5 / 5.0 kg | drone.md |
Before diving into a profile-specific guide, confirm the following:
git clone https://github.com/root3315/unisat
cd unisat
./scripts/verify.sh # "β UniSat green" β builds + passes every test
On a bare checkout the verify step will:
mission_templates/*.json β form_factors.py β hardware/bom/by_form_factor/*.csv cross-consistency.If any stage is red, do not start the profile setup. Open the failing log and fix (or file an issue) before continuing β the per- profile guides assume a green baseline.
ββββββββββββββββββββββββββββββ
β Does it leave the β
β atmosphere (β₯ 100 km)? β
ββββββββββββ¬ββββββββββββββββββ
Yes β No
ββββββββββββββββββ ββββββββββββββ
βΌ βΌ
ββββββββββββββββββββ ββββββββββββββββββββ
β Orbital class β β β Is it a balloon β
β CubeSat 1Uβ12U β β (float-capable)?β
ββββββ¬ββββββββββββββ ββββββββββ¬ββββββββββ
β Yes β No
βΌ ββββββββββββββββββ β
ββββββββββββββββββββ βΌ βΌ
β 1U / 1.5U for β ββββββββββββββββββββ ββββββββββββββββββββ
β first mission; β β HAB profile β β Is it deployed β
β 3U is the TRL-5 β β hab_payload_* β β from a rocket? β
β flagship; β ββββββββββββββββββββ βββββββββββ¬βββββββββ
β 6U/12U for β Yes β No
β imaging / tech. β ββββββββββββββββββββ β
ββββββββββββββββββββ βΌ βΌ
ββββββββββββββββββββ ββββββββββββββββββββ
β CanSat profile β β Is it airborne β
β cansat_* β β under power? β
ββββββββββββββββββββ βββββββββββ¬βββββββββ
Yes β
βΌ
ββββββββββββββββββββ
β Drone profile β
β drone_small/med β
ββββββββββββββββββββ
| Command | What it does |
|---|---|
make target-<profile> |
Cross-compile firmware with the profileβs macro |
make configurator |
Launch the Streamlit mission-config wizard |
scripts/verify.sh |
Full green pipeline (CI-equivalent, no Docker needed) |
scripts/simulate_mission.sh |
SITL run of the loaded mission_config.json |
python3 scripts/gen_golden_vectors.py |
Regenerate AX.25 golden vectors |
make lint-py / make coverage-py |
Python type + coverage gates |
make cppcheck / make coverage |
C static analysis + line-coverage gates |
docs/design/architecture.mddocs/reference/REQUIREMENTS_TRACEABILITY.mddocs/operations/commissioning_runbook.mddocs/hardware/radiation_budget.mddocs/security/ax25_threat_model.md