EuroSciPy 2026

Using Python for satellite operations: Lessons from the Mauve Space Mission
2026-07-20 , Room 1.19 (Ground Floor, Shannon)

The Mauve Space Mission is a 16u smallsat, designed by Blue Skies Space, for studying stars in UV and visible wavelengths. It is a first of its kind private space mission, doing deep space observations. Mauve’s primary method of pointing at its desired target is through two star trackers. However, the star trackers are not perfectly aligned with the telescope boresight which can cause the target to not be centred. Measurements from the detector can be used by on-board software to help correct this misalignment and keep the boresight focused on the target.
This talk will look at the role Python played in the development of some of Mauve’s onboard software, from a proof of concept simulator through to the flight code currently operating in orbit. I will discuss the challenges during development, including constraints from the satellite manufacturers, and consider if Python is the right tool for onboard software.


Mauve is a 16U smallsat in a ~500km Sun-synchronous orbit, studying stars. To point it in the right direction its Attitude Determination and Control System (ADCS) uses a combination of star trackers and a gyro. However, due to slight misalignments between the star trackers and the telescope boresight the target can drift out of the telescope’s view. To help overcome this Mauve uses a Payload-in-the-loop (PITL) system. Mauve can use the data from its detector to help identify when this drift is occurring and act to counter it. This PITL system is running in Python. During this talk I will explain the physical conditions that Mauve experiences and how these create a challenge for the software to handle the drift.
A proof-of-concept simulator was a crucial part of the development lifecycle of Mauve’s onboard software. I will demonstrate the benefits of careful iteration in building confidence in PITL as a potential solution.
I will explore some of the challenges encountered during development of the flight software, looking at development in a restricted environment and limited opportunities to test on flight hardware.
The talk will also reflect on the interdisciplinary nature of developing flight-ready software, and how combining physical insight with software engineering experience proved vital to addressing on-orbit behaviour.
Overall this talk will show that while Python may not be the best language to solve a particular problem, it can be the correct language for tackling a real-world engineering problem.


Expected audience expertise: Domain: none Expected audience expertise: Python: some Your relationship with the presented work/project: Original author or co-author, Developed the presented feature, Maintainer of the presented library/project

Following an Integrated Masters in Mathematical Physics at the University of Edinburgh I joined Blue Skies Space Ltd. (BSSL) as a Software Engineer. During my time I have mostly worked on simulation tools, including orbital analysis software and instrument performance simulators. Over the past year I have developed on-board software for our first satellite Mauve.