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

    The OBC’s design is based on a microcontroller with an ARM Cortex-M4 architecture. Including the former, the subsystem consists of the following components:

    A watchdog (ISL88705IB846Z) ensures the unceasing operation of the microcontroller, by restarting it whenever it becomes unresponsive. Additionally, an 8 GB non-volatile NAND flash memory is placed within the Science Unit vessel, in order to store all the scientific data.

    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:

    All software written by the OBC subteam is open-source, and can be found on the following repositories:

    On-Board Computer PCB

    An engineering model PCB of the OBC subsystem, designed by members of the team and manufactured by Prisma Electronics

    Screenshot of kcachegrind

    Profiling of OBC software speed and call history using KCachegrind