Overview
Once a CubeSat launches, physical access to the hardware is no longer possible. Any bug fixes, feature additions, or security patches must be delivered remotely through OTA (Over-The-Air) firmware updates.
To safely support OTA updates, the flight software team requires:
- A structured firmware release workflow
- Reliable firmware version tracking
- Reproducible builds
- Artifact storage and traceability
- Validation that deployed binaries are authentic and approved
Firmware versioning is the first foundational step toward a robust flight software deployment pipeline.
Objectives
The firmware release system should enable the team to:
- Track exactly which firmware version is running on the satellite
- Associate firmware versions with Git commits and CI builds
- Prevent accidental downgrades or invalid updates
- Store reproducible binaries for testing and OTA deployment
- Ensure all OTA binaries originate from an approved artifact repository
- Support future firmware signing and validation mechanisms
High-Level Firmware Release Workflow
Step 1 — Developer Pushes Code
Developers implement features or bug fixes in a feature branch.