Speaker
Description
This work describes the hardware and software design and implementation for a 1U CubeSat satellite on-board computer. The primary goal was to create an embedded system capable of coordinating tasks, collecting data from various sensors, and managing communication with ground station, all within the tight energy and memory constraints of a small and cheap low-power microcontroller in real-time.
The electronic circuit was breadboarded using commercial-off-the-shelf modules. The OBC software was organized into three layers. The first layer handles direct hardware control, providing drivers for sensor interfaces and communication modules. The second layer offers high-level functions that gather and format sensor readings—such as temperature, humidity, pressure, and inertial orientation—without using floating-point arithmetic which the provided microcontroller does not support. The third layer relies on a lightweight real-time operating system to schedule periodic tasks, coordinate event signals between modules, and switch between low-power and active modes.
Laboratory tests confirmed that the system correctly initializes all implemented sensors, retrieves measurements, and formats data for transmission. Communication links were verified for reliability, and timer functions successfully triggered periodic task execution. Throughout development, available memory emerged as the main limitation.
In summary, the proposed system fulfills its requirements, including core functions—sensor management, data handling, and real-time task scheduling while demonstrating an architecture optimized for resource-constrained space applications. Future work will focus on further memory optimizations and methods for in-orbit 'over-the-air' updates.