Mission Space Lab Rulebook
Mission Space Lab Overview
In Mission Space Lab 2026/2027, teams need to write Python programs to capture data and save it to a file using the Astro Pi computers on board the International Space Station (ISS).
Teams must test their program using the Astro Pi Replay Tool. The tool simulates their program’s run based on historical data from previous Astro Pi missions.
Mentors and teams
One mentor may supervise a maximum of 10 teams per year. If you would like to co-mentor more than 10 teams, you need to find another mentor who can be the main point of contact and have that person apply to supervise the extra teams.
There is no limit to the number of teams that a school or club can enter provided there are sufficient mentors, but each team can only submit one entry, and each participant can only be part of one team. If there is not enough time to run all of the programs we receive, we may not run duplicate programs from the same mentor. Instead, we will share a data set with all mentor’s teams that have submitted identical programs. All submissions must be in English.
Creating your program
Your team’s program must meet some simple requirements so that it can be executed automatically. Any programs that do not meet these requirements will not be given ‘flight status’ (be allowed to run on the ISS).
The deadline for submissions is 22 February 2027 12:00 CET . Submissions are made by team mentors using the unique link they received when they registered their teams.
What does the program need to do?
Include a file called main.py that contains the main entry point for your code
Collect data using at least one Sense HAT sensor or take a photo using the Astro Pi camera
Save sensor data to a file or save at least one image captured by the camera
Stop running before the 10-minute time limit is reached
Run successfully without errors when tested
Deploy (April – May 2027)
Once Astro Pi Mission Control has received your program, it will be tested to make sure it works and does not contain any functionality that might negatively affect the ISS or its networks. We will notify teams whose programs have been selected to run on the ISS by the end of April 2027. The selected entries will be uplinked to the ISS and deployed on the Astro Pi computers on board. The programs will run on the ISS between April and May 2027 (depending on ISS operational constraints).
Timeline
Encourage your team to decide on the ideal date they would like to finish writing their program. They should make sure they have enough time to test it fully before submitting it, and to check it against the requirements checklist.
Program requirements checklist
Requirements: General
Your program does not rely on interaction with an astronaut.
Your program is written in Python 3.13 and is named main.py. It runs without errors when tested with the Astro Pi Replay Tool using python3 main.py.
Your program does not rely on any additional libraries other than those listed in the Mission Space Lab creator guide (rpf.io/msl-creators).
Your program monitors its running time and stops after 10 minutes have passed.
There is no offensive language, rudeness, or political statements in your program.
Your program uses at least one Sense HAT sensor or the camera.
Your program is submitted using a zip file. If you have additional files that are required for the operation of your experiment, they can be included in the zip file too. However, the zip file must contain a file called main.py, which must be how your program is run.
Regional flags, as they can be considered politically sensitive.
Your program is not allowed to retain more than 42 images at the end of the 10 minutes, though it can store more than that while it is running.
Your zipped program must not be more than 3MB.
Requirements: Security
Your program is well-documented and understandable. There is no attempt to hide or obfuscate what a piece of code does.
Your program does not start a system process, or run another program, or any command usually entered on the terminal (e.g. vcgencmd).
Your program does not use networking.
Your program does not include malicious code (i.e. code that deliberately attempts to disrupt system functionality).
Requirements: Files and threads
Your program does not use threads, or if it does, it does so only by using the threading library. Threads are managed carefully and closed cleanly, and their use is clearly explained through comments in the code.
Your program only saves data in the same folder where your main Python file is, as described in the Mission Space Lab creator guide (i.e. using the special __file__ variable). Your program does not attempt to create new directories for storing your data, and no absolute path names are used.
Your program runs without errors and does not raise any unhandled exceptions.
Any files that your program creates have names that only include letters, numbers, dots (.), dashes (-), or underscores (_).
Your program does not use more than 250MB of space to store data.
As well as containing your main.py file, the zip file that you submit must only contain the following file types: .py, .main, .csv, .txt, .jpg, .png, .yuv, .json, .toml, .yaml.
The output of your program must only include the following file types: .csv, .txt, .log, .jpg, .png, .yuv, .raw (camera), .h264, .json, .toml, .yaml.
Programs that do not respect this checklist will be disqualified.
After submission
Once you have submitted your program, it will be reviewed and tested by Astro Pi Mission Control. They will assess your program according to the program checklist and the following criteria.
Does your program meet the program requirements checklist?
Does your program capture data that is relevant for your investigation?
Does it output an accepted file type?
Is there a file named main.py in the submission?
Program readability and quality
Is your program easily understandable?
Is it structured well, and does it include rigorous error checking?
Has your team used code created by other sources/authors in their program? If so, we advise including a LICENSE file that attributes any reused code to the original creators.
Does your program work the way you describe it on your submission form?
Astro Pi Mission Control will email you about whether your team’s program has passed testing and achieved flight status by the end of April 2027.
We will then prepare and upload the successful programs to the ISS. You will receive the results of your experiment by email once your experiment data has been downlinked from the ISS. This will happen in June 2027.
Please note that the above timings are dependent on ISS crew operations and can change.