CubeSat On-Board Computer (OBC)
Project Type
Satellite
Project Overview
As a member of the SFU Satellite Design Team, I led the Command and Data Handling (C&DH) team which developed an on-board computer (OBC) for 1U and 3U CubeSats. This project involved both hardware and firmware development, providing me with a comprehensive learning experience in satellite systems engineering.

Key Takeaways
Debugging Methods:
Integrating test points and other debugging features into the PCB design significantly simplifies troubleshooting and testing.
Schematic Capture and Board Layout:
Utilization of PCB design software like KiCad was essential for designing our hardware systems.
Firmware Prototyping:
Using development boards of the same microcontroller accelerates firmware development and testing.
System Integration:
Creating and using block diagrams for both hardware and firmware components helps ensure a cohesive and well-integrated system design.

Hardware Development
For the hardware aspect, I gained experience in schematic capture and board layout using KiCad. Designing the OBC hardware required planning and attention to detail. One of the crucial lessons I learned was the importance of incorporating debugging methods into the PCB design to simplify troubleshooting and testing later on. For instance, I added various test points on the board connected to key signals, allowing us to inspect these signals during operation and diagnose issues more efficiently.


Creating conceptual block diagrams for the hardware components was another significant task. These diagrams helped in visualizing the system architecture and ensuring that all components were correctly integrated. This step was essential for both the design and communication phases of the project.


Firmware Development
The firmware for the OBC was written in C, with FreeRTOS used as the scheduler. Utilizing FreeRTOS allowed us to manage multiple tasks efficiently which was essential for the reliable operation of the CubeSat. We prototyped the firmware on TI Hercules Launchpads, which have the same microcontroller unit (MCU) as our OBC. This approach was highly beneficial, as it enabled us to start programming immediately on functional and trusted hardware, streamlining the development process.
Prototyping on the TI Hercules Launchpad development boards provided a reliable platform to test and refine our code before deploying it on the actual OBC hardware. This step ensured that the firmware was robust when troubleshooting with the custom PCB's.

Outcome
This project not only honed my technical skills in hardware and firmware development, but also enhanced my ability to lead a multidisciplinary engineering team. The OBC for the CubeSat established confidence to manage complex projects and deliver reliable solutions in the field of satellite technology. This project gave me hands-on experience in both electronic and software engineering.


