
Introduction
The On-Board Computer (OBC) is in charge of managing and overseeing all the operations of the satellite. It is responsible for all the autonomous functions of our CubeSat, as well as the handling of received telecommands and generated data. To achieve this, it uses state-of-the-art microcontrollers, programmed by our team to reliably and automatically coordinate all the subsystems for many months, despite the adversities of the space environment. Amongst others, the OBC is responsible for:
- Fetching periodic telemetry data
- Parsing and handling received telecommands
- Reacting to any events on the satellite
- Executing scheduled commands
- Testing and handling errors & unexpected occurences
- Performing health checks on the CubeSat
- Transferring data between subsystems
- Entering Safe Mode whenever a critical failure occurs
Hardware
The OBC’s design is based on a microcontroller with an ARM Cortex-M7 architecture. Including the former, the subsystem consists of the following components:
- MCU: Microchip SAMV71Q21RT (384 kB RAM, 2 MB ROM)
- RAM: Everspin Technologies MR4A08BUYS45 (2 MB)
- NAND Flash: MT29F32G08ABAAA (8 GB)
- CAN bus transceivers, for communication between subsystems
- Temperature sensors: MCP9808 (main and redundant)
- Input voltage: 3.3V
Additionally, an 8 GB non-volatile NAND flash memory is placed within the Science Unit vessel, in order to store all the scientific data produced during the experiments..


Software
All software intended for space is extensively reviewed, tested and audited against standards and guidelines. We strive to provide open-source software, based on open-source toolchains and kits that make it easy for everyone to develop and replicate our work. Some characteristics of our software are:
- Language: C++17, C, Assembly
- Operating System: FreeRTOS
- Libraries used: ETL, Catch2
- DevOps platform: GitLab
- Documentation: Doxygen
- Functionality: Based on ECSS-E-ST-70-41C
All software written by the OBC subteam is open-source, and can be found on the following repositories:
- ecss-services: A C++ implementation of the ECSS-E-ST-70-41C standard
- obc-pcb: Design of the subsystem’s PCBs in KiCad EDA
- obc-software: Main FreeRTOS-based software of the OBC microcontroller
- mockup-4 and mockup-support: The code used by the team’s demonstration mockups
- hardware-lab: Testing on hardware remotely
OUR TEAM
Grigoris Pavlakis
Electra Karakosta-Amarantidou2021-10-22T08:23:00+00:00Coordinator
Grigoris Pavlakis
Electrical and Computer Engineering student by day, small-time OBC hardware/software dude by night. May…
Konstantinos Kanavouras
Eleftheria Chatziargyriou2022-01-04T15:43:43+00:00Software & Product Assurance
Konstantinos Kanavouras
Electrical & Computer Engineering student working on Firmware, FDIR and Product Assurance of the…
Konstantinos Petridis
Eleftheria Chatziargyriou2021-11-03T19:48:07+00:00Software
Konstantinos Petridis
Electrical & Computer engineering student, interested in AI, ML, Software engineering, high performance programming,…
Baptiste Fournier
Electra Karakosta-Amarantidou2021-01-15T09:43:54+00:00Hardware / Software
Baptiste Fournier
Passionate about space stuff, digital electronics and project management. My kind, the french people,…
Panagiotis Bountzioukas
Electra Karakosta-Amarantidou2021-01-15T09:22:48+00:00Christos Ioannidis
Electra Karakosta-Amarantidou2021-01-15T09:20:52+00:00Hardware / Software Engineer
Christos Ioannidis
Electrical and Computers Engineering student at AUTh. At SpaceDot, i’m currently working on Software…
Ioannis Kozaris
SpaceDot2021-12-10T13:32:57+00:00Xhulio Luli
Eleftheria Chatziargyriou2021-12-11T16:28:43+00:00Software
Xhulio Luli
Electrical and Computer Engineering student. I’m interested in high performance computing, embedded systems, software…