Nanosatellite on-board computer software development - Yeo, Stephen Tze Ping (2018)
This final year project focuses on the software development of an on-board computer (OBC) for nanosatellite. Nanosatellites are small satellites of a mass between 1kg to 10kg which are becoming more feasible with advancement in miniaturized electronic components. This allows low-cost and easy-access satellite development for industrial and research uses. The OBC used for the nanosatellite in this project is a 32-bit microcontroller from Texas Instruments. The aim of the project was to implement a reliable error detection, correction and recovery system for the OBC. The implementation was built on countermeasures against bit-flip errors on microcontroller memory. The development stages were divided into two main parts. The first task was the implementation of an ECC mechanism for the OBC, with simulations carried out to confirm the correctness of the ECC logic. This feature targets detection and possible correction of simple bit-flip errors. The second phase involved programming a bootloader for firmware flashing and upgrading. This feature serves as a firmware recovery mechanism for the OBC when the existing firmware is deemed corrupted or an uplink from the ground station is established for firmware upgrade.