Here are the winners of the Astro Pi competition with their brilliant program ideas.

Crew Detector

Team name: Cranmere Code Club
Key Stage: 2
Teacher: Richard Hayler

Although they were entitled to have their entry coded by the team at Raspberry Pi due to winning Phase One, the kids of the Cranmere Code Club collectively wrote their program themselves. Their aim is to try and detect the presence of a crew member by monitoring the environmental sensors of the Astro Pi, particularly humidity. If a fluctuation is detected, it will scroll a message asking if someone is there and then take a picture on the camera. They will get the images back to see if they successfully caught any of the crew.

They even made a Lego replica of the Astro Pi flight case for their testing!


Team name: Hannah Belshaw
Key Stage: 2
Teacher: Peter Kelly

Hannah’s entry logs data from the Astro Pi sensors and visualises it later, using structures in a Minecraft world. Columns of blocks are used to represent environmental measurements, and a giant, blocky, moving model of the ISS itself is used to represent movement and orientation. The code was written, under Hannah’s guidance, by Martin O’Hanlon who runs Stuff About Code. The data capture program that will run on the ISS produces a CSV file that can be consumed later by the visualisation code, to play back what happened when Tim Peake was running it in space.


Team name: Space-Byrds
Key Stage: 3
Teacher: Dan Aldred

The judges had a lot of fun with this. Their program uses telemetry data provided by NORAD, along with the Real Time Clock on the Astro Pi, to computationally predict the location of the ISS (so it doesn’t need to be online). It then works out what country’s territory the ISS is currently above and shows its flag on the LED matrix, along with a short phrase in the local language.


Team name: Kieran Wand
Key Stage: 3
Teacher: Christopher Butcher

Kieran’s program is an environmental system monitor that could be used to cross-check the ISS’s own life support system. It continually measures the temperature, pressure and humidity, and displays these in a cycling, split-screen display. It has the ability to raise alarms if these measurements move outside acceptable parameters. We were especially impressed that code had been written to compensate for thermal transfer between the Pi CPU and Astro Pi sensors.


Team name: EnviroPi
Key Stage: 4
Teacher: Sam Page

This entry will be run with the Astro Pi NoIR camera pointing out of a window. The aim is to take pictures of the ground and to later analyse them using false colour image processing. This will produce a Normalised Differentiated Vegetation Index (NDVI) for each image, which is a measure of plant health. They have one piece of code which will run on the ISS to capture the images, and another that will run on the ground after the mission to post-process and analyse the images captured. They even tested their code by going up in a light aircraft to take pictures of the ground!

Reaction Games

School: Lincoln UTC
Team name: Team Terminal
Key Stage: 4
Teacher: Mark Hall

These students have made a whole suite of reaction games, complete with a nice little menu system to let the user select them. The games also record response times, with the eventual goal being to investigate how crew reaction time changes over the course of a long-term space flight. This entry caused all work to cease during the judging for about half an hour!

Lincoln UTC have also won the prize for the best overall submission in the Secondary School competition. This earns them a photograph of their school taken from space by an Airbus or SSTL satellite. Go and make a giant space invader, please!


Team name: Arthur, Alexander and Kiran
Key Stage: 5
Teacher: Dr Jesse Petersen

This team have successfully made a radiation detector using the Raspberry Pi camera module; we hinted at the possibility of making this during our Astro Pi animation video from a few months ago. The camera lens is blanked off to prevent light from getting in, but this still allows high-energy space radiation to get through. Due to the design of the camera, the sensor sees the impacts of these particles as tiny specks of light. The code then uses OpenCV to measure the intensity of these specks and produces an overall measurement of the level of radiation.