What is an on-board computer?
The on-board computer (OBC), also called the command and data handling (C&DH) unit, is the satellite's central processor — the brain that coordinates all other subsystems. It runs the flight software that implements attitude control laws, manages power distribution, processes and stores payload data, executes ground commands, monitors subsystem health, and autonomously responds to anomalies when the satellite is out of ground contact (which is most of the time for LEO satellites).
Radiation environment challenges
Space radiation — galactic cosmic rays, trapped protons in the Van Allen belts, and solar energetic particles — can cause Single Event Upsets (SEUs), where a high-energy particle flips a memory bit, corrupting data or corrupting program execution. Space-grade OBCs use radiation-hardened processors (Leon3/4, RAD750, BAE Systems RAD5545), error-correcting memory (EDAC), triple modular redundancy (TMR) for critical functions, and watchdog timers that reboot the computer if it enters an unresponsive state. CubeSat OBCs often use COTS microprocessors (ARM Cortex, FPGA) with software-based error mitigation, accepting a higher SEU rate in exchange for lower cost.
Flight software
The flight software running on the OBC is among the most safety-critical software ever written — bugs cannot be patched by physically accessing the hardware, and a crash can mean loss of the satellite. Software is developed to DO-178 or ECSS standards, with extensive unit testing, hardware-in-the-loop simulation, and formal verification of safety-critical functions. Modern satellites increasingly use real-time operating systems (RTEMS, VxWorks, FreeRTOS for smallsats) and software frameworks (NASA cFS — core Flight System) that separate mission-specific from system-generic functionality, enabling code reuse across satellite programmes.