For more info on my electrical/mechanical hardware contributions / the rocket itself, look here:
Flight software developed for a high-power sounding rocket as part of my collegiate rocketry team. The software runs on a custom avionics stack and manages sensor processing, flight phase detection, and recovery system deployment in real time.
The flight computer runs a real-time C++ system responsible for:
- Determining the current flight phase
- Processing data from multiple onboard sensors
- Executing recovery system events
- Maintaining fault tolerance through sensor redundancy
- Running deterministic real-time tasks with FreeRTOS
The system is designed to operate reliably in a high dynamic environment including launch acceleration, high vibration, and high altitude conditions.
The core control logic is implemented as a flight state machine that transitions through each phase of the rocket’s flight.
- Pre-launch initialization
- Launch detection
- Boost phase
- Coast phase
- Apogee detection
- Drogue parachute deployment
- Main parachute deployment
- Landing detection
Transitions between states are triggered using sensor-based event detection.
Multiple sensors are used to determine the rocket’s state and detect key flight events.
-
IMU
Used for acceleration detection during launch and for motion estimation. -
Barometric Altimeters
Used to determine altitude and detect apogee. -
GPS
Used for position tracking and recovery operations.
| Event | Detection Method |
|---|---|
| Launch | Sustained acceleration threshold |
| Apogee | Peak altitude detection |
| Drogue deployment | Apogee confirmation |
| Main deployment | Altitude threshold |
| Landing | Near-zero velocity and altitude stabilization |
Filtering and threshold logic are used to prevent false triggers caused by noise or transient sensor spikes.
Reliability is critical for flight systems.
The avionics system uses redundant sensors and validation logic to reduce the probability of false deployment events.
Redundancy strategies include:
- Multiple barometric sensors + GPS for altitude
- Cross validation between sensors
- Outlier rejection and sanity checks
- Conservative event thresholds
This architecture ensures that a sensor failures cannot trigger incorrect recovery events.
The software runs on FreeRTOS, enabling deterministic scheduling of critical tasks.
| Task | Responsibility |
|---|---|
| Sensor Task | Poll IMU, barometers, and GPS |
| State Machine Task | Evaluate flight state transitions |
| Logging Task | Record telemetry data |
| Recovery Task | Control parachute deployment hardware |
FreeRTOS ensures predictable timing and prioritization of safety-critical operations such as recovery deployment.
- Language: C++
- Framework: PlatformIO
- RTOS: FreeRTOS
- Target Hardware: Custom rocket flight computer
This software runs on a custom avionics board designed specifically for the rocket.
The flight computer was co-designed with
Hou Dren Yuen
https://www.linkedin.com/in/hou-dren-yuen-3586122b1/
The hardware integrates:
- Microcontroller
- IMU
- Barometric sensors
- GPS
- Telemetry
- Embedded systems development
- Real-time operating systems (FreeRTOS)
- C++ firmware architecture
- Flight state machine design
- Sensor integration
- Aerospace avionics software