ChipSat Flight Software two launches this semester
A chipsat is a gram-scale, single-board spacecraft. Hundreds are released near 100 km and transmit telemetry over LoRa the whole way down. I rebuilt the flight software from an Arduino sketch into a CMake project on STM32, and rewrote the ground software that configures and flashes the boards.
- Three layers, with one interface per peripheral and two implementations behind each, so drivers could be ported one at a time against a build that still flew.
- Six device drivers written against datasheets, replacing vendor libraries whose bugs I traced by reading their source: one reported failed I2C writes as successes and retried forever.
- Flight logic tested on a laptop against mocks for every vendor library, because there is no spacecraft on my desk.
- One encoder feeds both the radio and the flash log, so the live downlink and the on-board record cannot disagree.