GAMA Alpha
Flight software, ground control software and testing/CI environment for the GAMA Alpha solar sail demonstrator mission. The flight software is Rust Embedded running on an STM32H7 microcontroller integrated with FreeRTOS.
Solar Sail Demonstrator
For GAMA, a French space startup, I help develop the flight software running on their 6U cubesat. I perform this work as an embedded consultant for Tweede Golf. The work is largely the same as any embedded software project, except that it is for a satellite already in orbit, and that it is running Rust Embedded.
The mission is to demonstrate the deployment of a prototype solar sail.
Solar sails (also known as lightsails, light sails, and photon sails) are a method of spacecraft propulsion using radiation pressure exerted by sunlight on large surfaces.
NanoAvionics Cubesat
The flight software is deployed on the payload microcontroller (FC2) of an off-the-shelf NanoAvionics cubesat which has the GAMA solar sail added as a payload. The satellite launched with a bootloader made in Rust, and requires a literal Over-The-Air firmware update with the final flight software in order to perform the mission.
STM32H7
FC2 is a typical STM32H7 microcontroller and needs to implement hard real-time requirements.
As it is part of a satellite flying in Low Earth Orbit (LEO), it needs to be tolerant to radiation related faults. I have implemented a driver and mechanism surrounding the various memories to track, handle and scan for (scrub for) ECC memory faults. This can be especially challenging if a double ECC fault occurs in flash memory containing application code.
Copyright of the images belongs to GAMA and NanoAvionics