Skip to content
Raspberry Pi Foundation HomeEuropean Space Agency Home

Mission Space Lab Guidelines

Everything you need to know to create an experiment idea for Mission Space Lab.

Phase 2 program checklist

Your program must fulfil the criteria in the following checklist in order to achieve flight status.

Requirements: General

  • Your program is written in Python 3 and is named It must run without errors when executed on the command line of the Flight OS using python3
  • Your program does not rely on any additional libraries other than those listed in the Phase 2 guide.
  • Your program monitors its running time and stops after three hours have elapsed.
  • There is no bad language or rudeness in your program.
  • Your program uses at least one Sense HAT sensor or the camera — depending on the theme chosen (see more below).
  • Your program is uploaded in 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, but the zip file must contain a file called, which must be how your program is run.
  • Your program should not need more than 3GB of data for your results.

Requirements: Security

  • Your program is documented and easy to understand. There is no attempt to hide or obfuscate what a piece of code does.
  • Your program does not contain malicious code, i.e. code that deliberately attempts to disrupt system functionality.
  • Your program does not start a system process, run another program, or carry out any command usually entered on the terminal (e.g., vcgencmd).
  • Your program does not use networking.

Requirements: Mission specific

If you are submitting an experiment for the ‘Life in space’ theme, your program:

  • Should make sure that no captured images or videos remain stored in the experiment folder after the end of the experiment.
  • Should regularly display messages or images on the LED matrix, to indicate that an experiment is running.

If you choose the ‘Life on Earth’ theme, your program:

  • Must use the camera.
  • Must not use the LED matrix.

Requirements: Files and threads

  • If your program employs threads, it does so only by using the threading library. Threads are managed carefully, closed cleanly, and their use is clearly explained through comments in the code.
  • Your program only saves data under the folder where the main Python file is, as described in Phase 2 guide. No absolute path names are used.
  • Any files that your program creates have names that only include letters, numbers, dots (.), dashes (-), or underscores (_).

Please refer to the Mission Space Lab Phase 2 guide for more information.


Get the latest updates on Astro Pi direct to your inbox with our newsletter.