Skip to the content
6 layers30 × 60 mmFlight Computer, the printed circuit board in 3D

Pioneer Rocketry’s latest generation flight computer for high power, STM32-based avionics system designed for experimental high-power rockets.

Size
30 × 60 mm
Copper layers
6
Thickness
1.54 mm
Parts
116
Nets
107
Pads
514
Tracks, vias
731, 121
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
22 May 2025
Updated
3 Nov 2026

Overview

Flight Computer is an open-source printed circuit board by Pioneer-Rocketry, from the Pioneer-Rocketry/Flight-Computer repository on GitHub. It is a 6-layer board of 30 × 60 mm with 116 parts on 107 nets, routed with 731 tracks and 121 vias.

It is built around the SKY13453-385LF, SX1262IMLTRT and MMC5633NJL, with the W25Q128JVSIQ, LM1117MP-3.3 and LSM6DSV320X among its other parts. Its parts include 35 capacitors, 28 resistors, 9 ICs, 9 connectors and 7 inductors. It belongs with the STM32 boards of this library.

Main components

10

README

README.md

Pioneer Rocketry Flight Computer

Pioneer Rocketry’s latest generation flight computer for high power, STM32-based avionics system designed for experimental high-power rockets. It provides state estimation, real-time telemetry, staging logic, and fully active control capabilities. This repository contains the firmware, test tools, and documentation for the system.


Prerequisites

Before building this project, ensure you have the following tools installed and added to your system PATH:

  1. Visual Studio Code or STM32CubeIDE
  2. STM32CubeMX (v6.13 or newer) - Required to generate hardware config.
  3. Make Use winget install ezwinports.make or choco install make - Build system generator.
  4. Arm GNU Toolchain - The compiler (e.g., arm-none-eabi-gcc).
  5. Ninja Build (Optional) - A faster build system than Make.

VS Code Extensions

Install the following extensions within VS Code:


Build Instructions

1. Clone and Open

Clone the repository and open the folder in VS Code:

bash
git clone --recurse-submodules https://github.com/Pioneer-Rocketry/Flight-Computer.git

2. Build the Firmware

You can build the project using the status bar at the bottom or the Command Palette:

  • Status Bar: Click Build (or the generic "Gear" icon).
  • Shortcut: Press F7.

Successful build output will create a Code.elf and Code.bin file in the ./Code/build/ directory.

3. Flash and Debug

Connect your STM32 board via ST-Link.

  1. Press F5 to start debugging.
  2. The extension will automatically:
  • Build the latest code.
  • Flash the board using OpenOCD/ST-Link.
  • Open the debug console.

Troubleshooting

  • "Multiple target patterns" error: Ensure your project folder path contains NO SPACES (e.g., use C:\Dev\Project instead of C:\Users\My Name\Project).
  • C++ vs C: If main.cpp is not being compiled, check CMakeLists.txt to ensure CXX is enabled and main.cpp is listed in the source files. If main.c is in the CDEF, remove it and delete the file.

Hardware Overview

Primary Components

FunctionComponent
Main MCUSTM32F446RE
High-G IMU (Accel + Gyro)LSM6DSV32X
MagnetometerMMC5603
BarometerMS5607-02BA03
GPSu-blox SAM-M8Q
RadioLoRa SX1262

Additional Hardware Features

  • 3 independent pyrotechnic deployment channels
  • Breakouts for I²C and SPI expansion
  • Support for 4 servo channels (vectoring, control surfaces, etc.)
  • USB/Serial connectivity for configuration and simulation
  • Ruggedized PCB designed for high-G, high-speed flight

Software Overview

The firmware is written in modern C++, using HAL for low-level drivers and a modular class-based architecture for sensors, telemetry, and estimation modules.

Key Capabilities

  • State estimation for:
    • Attitude (roll, pitch, yaw)
    • Position (x, y, z)
    • Velocity and angular rates (Uses a custom multi-sensor Kalman Filter.)
  • Live telemetry over LoRa
  • Event-driven flight logic, including:
    • Ascent/descent detection
    • Apogee detection
    • Staging and separation logic
    • Deployment sequencing
  • Active Control
    • Servo-driven stabilization or thrust-vectoring
    • Optional closed-loop controls for advanced tests
  • Fault-tolerant design
    • Sensor redundancy
    • Fail-safe deployment rules
    • Logging of all states and events

Testing Strategy

Hardware-in-the-Loop Testing (HILT)

HILT allows the flight computer to run full flight software using simulated sensor data.

  • The board connects to a PC via USB/Serial.
  • A custom simulator streams “fake” IMU, barometer, and GPS data.
  • The firmware behaves exactly as if it were in flight.
  • Allows testing:
    • Sensor fusion
    • State transitions
    • Staging logic
    • Deployment logic
    • Data logging and telemetry

This framework accelerates development and eliminates many failure modes before field testing.


Field & Flight Testing

Flight testing follows a staged, risk-managed approach:

  1. Initial flights: Validate basic state estimation (position, velocity, attitude) and state transitions.
  2. Intermediate flights: Add automated apogee deployment, then drogue/main testing, then multistage events.
  3. Advanced flights:
    • High-speed, high-G tests
    • Full staging logic
    • Active control (servo-active fins or TVC)
    • Redundancy and fault recovery tests

Each successful flight unlocks the next feature set, ensuring safe and repeatable progress toward fully active control.


Repository Structure

text
Flight-Computer/
├── Code/
│   ├── Core/
│   │   ├──Src/
│   │   └── Inc/
│   └── lib/
├── Datasheets/
└── PCB/

Parts

116
QtyValueFootprintReferences
19.1uCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC101, C202, C203, C205, C206, C207, C209, C301, C302, C303, C304, C305, C401, C402, C501, C502 +3
810kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR201, R203, R205, R406, R602, R604, R606, R613
75.1kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR202, R204, R401, R402, R607, R609, R611
6500Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR404, R405, R501, R601, R603, R605
6FiducialFiducial:Fiducial_1mm_Mask2mmFID401, FID402, FID403, FID404, FID405, FID406
41kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR101, R102, R403, R614
4M3MountingHole:MountingHole_2.7mm_Pad_TopBottomH401, H402, H403, H404
4SL2302SPackage_TO_SOT_SMD:SOT-23-3Q401, Q601, Q602, Q603
33kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR608, R610, R612
20RInductor_SMD:L_0603_1608Metric_Pad1.05x0.95mm_HandSolderL506, L507
2100pCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC504, C512
22.2uCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC204, C210
23.3pCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC507, C510
2DPackage_TO_SOT_SMD:SOT-23D401, D405
2LEDLED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolderD101, D403
2SW_Pushimported:SW_1TS026ASW401, SW402
2WS2812B-2020LED_SMD:LED_WS2812B-2020_PLCC4_2.0x2.0mmD402, D404
115nInductor_SMD:L_0603_1608Metric_Pad1.05x0.95mm_HandSolderL505
115pCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC513
115uInductor_SMD:L_0603_1608Metric_Pad1.05x0.95mm_HandSolderL501
118pCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC511
11pCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC509
11uCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC208
122nCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC506
13.9nInductor_SMD:L_0603_1608Metric_Pad1.05x0.95mm_HandSolderL504
132 MHzCrystal:Crystal_SMD_2016-4Pin_2.0x1.6mmY501
133nInductor_SMD:L_0603_1608Metric_Pad1.05x0.95mm_HandSolderL503
133pCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC516
14.7pCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC508
14.7uCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC201
1470nCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC505
168nInductor_SMD:L_0603_1608Metric_Pad1.05x0.95mm_HandSolderL502
1BuzzerBuzzer:Buzzer_3mmBZ401
1Conn_01x04Connector_JST:JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_HorizontalJ408
1Conn_01x05_PinConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ401
1Conn_01x06_PinConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ403
1Conn_02x03_Counter_Clockwiseimported:EdgePinHeader_02x03J407
1Conn_02x04_Counter_Clockwiseimported:EdgePinHeader_02x04J406
1Conn_CoaxialConnector_Coaxial:SMA_Samtec_SMA-J-P-H-ST-EM1_EdgeMountJ501
1FDN306PPackage_TO_SOT_SMD:SOT-23-3Q101
1LM1117MP-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U101
1LOGOimported:LogoG***
1LSM6DSV320Package_LGA:LGA-14_3x2.5mm_P0.5mm_LayoutBorder3x4yU302
1MMC5633NJLPackage_BGA:WLP-4_0.86x0.86mm_P0.4mmU303
1MS5607-02BAPackage_LGA:LGA-8_3x5mm_P1.25mmU304
1Resonatorimported:OSC_CSTNE8M00G52Z000R0Y201
1SAM-M8QRF_GPS:ublox_SAM-M8QU301
1SKY13453-385LFimported:QFN_453-385LF_SKYU502
1STM32F405RGTxPackage_QFP:LQFP-64_10x10mm_P0.5mmU201
1SX1262IMLTRTPackage_DFN_QFN:QFN-24-1EP_4x4mm_P0.5mm_EP2.6x2.6mmU501
1Screw_Terminal_01x04TerminalBlock_Phoenix:TerminalBlock_Phoenix_MPT-0,5-4-2.54_1x04_P2.54mm_HorizontalJ405
1Screw_Terminal_01x06TerminalBlock_Phoenix:TerminalBlock_Phoenix_MPT-0,5-6-2.54_1x06_P2.54mm_HorizontalJ404
1TBDCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC517
1USB_C_Receptacle_USB2.0_16PConnector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_HorizontalJ402
1W25Q128JVSPackage_SO:SOIC-8_5.3x5.3mm_P1.27mmU202
1qwiic_Logoimported:qwiic_5.5mmG401

Similar boards

  • 2 layers68.9 × 23 mmRPM, the printed circuit board in 3D

    RPM

    midasgossye/RPM-counter

    Open-source DIY RPM counter using IR reflectance

    64 parts3
  • 4 layers65 × 59.5 mmGround station, the printed circuit board in 3D

    Ground station

    ShaneTWilliams/capstone

    Remotely-operated quadcopter hardware, firmware and software

    122 parts3
  • 4 layers25 × 80 mmMini MK1, the printed circuit board in 3D

    Mini MK1

    ISSUIUC/ISS-PCB

    Building custom flight computers

    135 parts33
  • 4 layers102.8 × 88.4 mmFlowstick main panel, the printed circuit board in 3D

    Flowstick main panel

    ervanalb/flowstick

    LED glowstick PCBs & firmware

    331 parts1
  • 4 layers89.5 × 29 mmMeshnode, the printed circuit board in 3D

    Meshnode

    hansgaensbauer/polkadot

    A low cost LoRa mesh network using STM32 and the SX1276

    88 parts32
  • 2 layers16 × 47 mmMini tracker, the printed circuit board in 3D

    Mini tracker

    PTR-projects/PTR_tracker_hardware

    75 parts10
  • 4 layers59 × 18 mmSTM32WLE5 RF dongle, the printed circuit board in 3D

    STM32WLE5 RF dongle

    FBS93/STM32WLE5_RF_dongle

    Compact RF dongle designed for wireless communication through USB.

    70 parts9
  • 4 layers100 × 95.1 mmMain PCB v2, the printed circuit board in 3D

    Main PCB v2

    ICRS/SSL-2024

    188 parts1Apache-2.0

Questions

How big is the Flight Computer PCB?

It measures 30 × 60 mm and has 6 copper layers, 1.54 mm thick.

What parts does the Flight Computer use?

116 parts, built around the SKY13453-385LF, SX1262IMLTRT, MMC5633NJL and W25Q128JVSIQ. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Flight Computer KiCad files?

From the Pioneer-Rocketry/Flight-Computer repository on GitHub, at the commit this page was made from: the board is PCB/Flight Computer.kicad_pcb and its schematic PCB/Flight Computer.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Flight Computer design in my own project?

Its repository states no licence, so its author keeps all rights: ask Pioneer-Rocketry before reusing the design.