VESICOLOS is a small fluorescence microscope in a 2U CubeSat unit, designed for the flight on the sounding rocket MAPHEUS®. It is a sub-payload of the MOSAIC module, which handles power and signals for its CubeSat-sized inserts.
The setup was designed for the observation of giant unilamellar vesicles (GUV) in microgravity, hence the name.
The MAPHEUS sounding rocket is a program run by the German Aerospace Center (DLR), in collaboration between the Institute of Frontier Materials on Earth an in Space, the Institute of Aerospace Medicine, and the Mobile Rocket Base MORABA. VESICOLOS is part of a collaboration between DLR and the University of Bordeaux.
VESICOLOS was created by
- Jörg Drescher - hardware engineering (DLR-FM)
- Jens Hauslage - optics (DLR-ME)
- Thomas Voigtmann - software (DLR-FM)
- Laura Alvarez - science (U Bordeaux)
- Paulina Blair - science (DLR-FM / U Düsseldorf)
- Christian Kahlo - software revision, spare parts (VX4)
For the MAPHEUS-16 flight, we used a Raspberry 5, and the following hardware setup:
- Temperature sensor on SPI, 2-wire setup using Adafruit MAX31865 board.
- LED and Heater on PWM channels.
- Servo motors Waveshare ST3020
controlled by a Waveshare driver.
- Stage movement (X/Y): 2.3mm per turn of 4096 steps
- Focus movement (Z): 0.1mm per turn of 4096 steps
Raspberry GPIO pin layout (using GPIO numbers, not physical pin numbers):
| GPIO | Function | Remark |
|---|---|---|
| GPIO 5 | SPI CS1 | temperature sensor |
| GPIO 6 | SPI CS2 | not yet connected on the clip connector |
| GPIO 9 | SPI MISO | standard |
| GPIO 10 | SPI MOSI | standard |
| GPIO 11 | SPI CLK | standard |
| GPIO 12 | PWM1 | LED |
| GPIO 13 | PWM2 | heater |
| GPIO 17 | LO | lift off from MOSAIC |
| GPIO 23 | mug | microgravity detection from MOSAIC |
- Make sure it boots into graphical desktop, using LXDE
- The
/boot/firmware/config.txtshould have the following entries:These should have the effect that UART is enabled, 2 hardware PWM channels are enabled, and WiFi is off. Also the Raspberry 5 should be forced to ignore the underpower warning if it thinks that our power supply cannot handle 5V/5A (it can).usb_max_current_enable=1 dtparam=uart0=on dtoverlay=pwm-2chan,pin=12,func=4,pin2=13,func2=4 dtoverlay=w1-gpio dtoverlay=disable-wifi dtoverlay=disable-bt
- The EEPROM config should be adapted with the
rpi-eeprom-configtool. The flight configuration (MAPHEUS-16) wasBOOT_UART=1 BOOT_ORDER=0xf461 NET_INSTALL_AT_POWER_ON=0 PSU_MAX_CURRENT=5000
The contents of this repository should be placed into
~/Desktop/vesicolos such that the script ~/Desktop/vesicolos/start.sh
can be found.
Inside this folder, a python virtual environment needs to be created as follows:
python3 -m venv --system-site-packages venv
. venv/bin/activateThen install the required python libraries found in requirements.txt.
For the lgpio library on the Raspberry 5, we found it necessary to first
install lg from https://abyz.me.uk/lg/download.html (follow instructions
there). The important packages that do not come with the raspberry install
should be
adafruit-circuitpython-max31865 gpiozero lgpio rpi-lgpio pyserialThe file in autostart needs to be copied into ~/.config/autostart/.
This should make the vesicolos python program automatically start once
the LXDE desktop is up.