Work

Space · embedded software

ESA Astro Pi

Software that had to run correctly the first time, unattended, on hardware orbiting 400 km overhead.

Astro Pi flight unit & readouts · photo to come
Type
Embedded software
Platform
Raspberry Pi · Sense HAT
Language
Python
Context
ESA & Raspberry Pi Foundation

The programme

Astro Pi is run by the European Space Agency with the Raspberry Pi Foundation. Student teams write Python programs that run on the Astro Pi units — Raspberry Pi computers with a Sense HAT and camera — installed on the International Space Station.

The constraints

It is a real constraint exercise. The program has to run unattended, inside a fixed time budget, on hardware you cannot touch once it is in orbit. There is no second attempt and no live debugging — a crash is simply lost data.

  • A hard time limit on the whole experiment run
  • Limited on-board storage for the recorded data
  • No way to inspect or fix the program in flight

What we built

An experiment that reads the on-board sensors and records environmental data during the run — temperature, humidity, pressure and orientation from the inertial measurement unit — then processes it into a clean dataset for analysis back on the ground.

The interesting work was in the discipline: structured logging, defensive handling of the runtime and storage limits, and sensible behaviour for the cases we hoped would never happen.

Recorded dataset / analysis · figure to come
Raw sensor readings become a legible dataset once back on the ground.

Why it stays with us

Writing software that has to behave correctly the first time, on hardware you cannot debug live, is the same discipline that keeps ordinary business systems dependable. Clear code, sensible defaults, careful handling of failure — we bring exactly that to every client system.


Want something built with the same care?