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.

GAMA Alpha mission patch

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 with the GAMA Alpha payload

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

Next
Next

Waylight