Skip to content
European Space Agency HomeRaspberry Pi Foundation Home

Mission Space Lab Guidelines

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

Program checklist

Requirements: General

  • Your experiment does not rely on interaction with an astronaut.
  • 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 Module.
  • Your experiment should be likely to succeed in the three-hour window and not require an unusual or infrequent event to occur (e.g., passing over a particular location).
  • 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.

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 choose 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.
  • If you choose the ‘Life in space’ theme, your program 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 should 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.