Rocket Flight Computer

A flight-computer board design that brings processing, storage, navigation sensors, and CAN communication into a modular rocket avionics stack.

Technologies Used

AerospaceSTM32MP1PCB DesignEmbedded LinuxSensorsCAN Bus
⋮⋮

Table of Contents

Project scope

This project explored what a more capable rocket avionics computer would need beyond a microcontroller and an SD card. I designed the architecture around an STM32MP157 processor, a dedicated power board, several forms of storage, and the navigation sensors required to reconstruct a flight.

The work was primarily a system and board-design exercise. The aim was to make each interface deliberate and to separate flight computing from telemetry and high-current power conversion.

Power architecture

The avionics stack begins with a 14.8 V LiPo battery. A separate power board uses two-phase buck conversion to provide 7.4 V and 5 V rails. On the flight-computer board, a power-management IC generates the lower, tightly regulated rails required by the processor, memory, and sensors, including 3.3 V devices.

Keeping power conversion modular helps with testing and limits the amount of switching noise routed through the main computing board. It also makes the responsibilities of the power, flight-computer, and telemetry boards easier to reason about.

Processing and storage

The STM32MP157 provides substantially more processing headroom than a typical bare-metal flight controller. The memory design pairs it with:

  • DDR RAM for active programs and high-rate data processing;
  • NOR flash for fast, predictable boot storage;
  • NAND flash or an SD card for larger logs and mission data.

Using multiple storage types adds routing and boot complexity, but it avoids forcing one device to handle every job. Fast boot media, working memory, and inexpensive bulk storage have different requirements.

Sensors and communication

The sensor set includes a GNSS receiver, an IMU, and a barometer for position, attitude, acceleration, and altitude estimates. Low-speed sensors use I²C, NOR flash uses SPI, and the SD card uses SDIO. A CAN bus connects the flight computer to the telemetry board because it is better suited to a noisy, multi-board vehicle than a collection of informal point-to-point wires.

What I took from it

The most useful lesson was architectural: choosing a powerful processor also commits the design to more demanding power sequencing, memory layout, routing, and boot requirements. The project taught me to evaluate the whole avionics stack rather than selecting parts independently.

The original repository is no longer public, so I removed its stale link and kept this technical record instead.