This project implements the software stack for the WOBBLE2 REXUS33 campaign. It consists of software versions for two types of on board computer (OBC) and for the ground station.
- Main-OBC: Central unit coordinating data from sub-OBCs and managing communication with the ground station.
- Sub-OBCs (x3): Handle sensor data acquisition and actuator control.
- GroundStation Handles communication with the experiment.
- Main ↔ Sub-OBCs: SPI (Serial Peripheral Interface)
- Sub-OBC ↔ Sensors: UART / I2C
- Main-OBC ↔ Ground Station: Via RXSM (downlink only)
Due to limitations in SPI library and electrical constraints, each sub-OBC uses a dedicated MISO line with GPIO matrix routing.
- Language: C++ (Arduino Framework) / Python
- Platform: ESP32
- Libraries:
ESP32SPISlave: SPI communication on sub-OBCs
- Manages experiment state and communication with sub-OBCs
- Implements state management and SPI-based polling
- Uses a class-based interface to communicate with each sub-OBC
- Manages local sensor and actuator hardware
- Asynchronous SPI queueing enables continuous operation during communication
- Uses queued transactions to send/receive up to 32B per SPI transaction
- Uses PyQt to visualize the data stream coming from the experiment
- Can communicate with experiment before lift-off
- Stores all transmitted data locally
