
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
Stelios Tzelepis
Valia Pappa2023-01-07T21:41:30+00:00Alkis Stasinos
Valia Pappa2023-01-07T21:28:23+00:00Electrical Engineer
Alkis Stasinos
ECE graduate with a love of introducing new bugs to existing embedded software. Would…
Dimitrios Koukourikos
Valia Pappa2023-01-07T21:13:44+00:00Software Engineer
Dimitrios Koukourikos
Software engineering movie geek who loves discovering new music and places.Currently studying Electrical and…
Christos Pavlidis
Eleftheria Chatziargyriou2022-11-06T20:43:41+00:00Alexopoulos Dimitris
Eleftheria Chatziargyriou2022-11-06T20:43:53+00:00Konstantinos Michopoulos
Eleftheria Chatziargyriou2022-11-06T20:55:42+00:00Engineer
Konstantinos Michopoulos
Electrical and Computer Engineering undergraduate, working on the software department of the On Board…
Panagiotis Bountzioukas
Electra Karakosta-Amarantidou2023-01-07T19:41:43+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…