Skip to the content
4 layers80 × 80 mmFlightcomputer2, the printed circuit board in 3D

Primary avionics flight controller for the 2026 AURC rocket.

Size
80 × 80 mm
Copper layers
4
Thickness
1.6 mm
Parts
114
Nets
113
Pads
446
Tracks, vias
994, 212
Pours
9
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
9 Feb 2026
Updated
28 Sep 2026

Overview

Flightcomputer2 is an open-source printed circuit board by UTS-Rocketry, from the UTS-Rocketry/ODIN-FlightController2026 repository on GitHub. It is a 4-layer board of 80 × 80 mm with 114 parts on 113 nets, routed with 994 tracks and 212 vias.

It is built around the STM32F405RGT6, SN65HVD230D and W25Q128JVPIQ, with the H3LIS331DL, LSM6DS3TR-C and RFM95W-915S2 among its other parts. Its parts include 34 resistors, 27 capacitors, 9 ICs, 9 connectors and 5 diodes. It belongs with the STM32 boards of this library.

Main components

11

README

README.md

ODIN - UTS Rocketry – Flight Controller 2026

b32aecdc31f343ea89f31d750d7f50b3_T

Version 1.0 - First Flight Test Release

Primary avionics flight controller for the 2026 AURC rocket.

ODIN is a 3.3V STM32-based embedded flight controller designed to manage flight-state detection, onboard sensor acquisition, telemetry transmission, and flight data logging. This release represents the first hardware-and-firmware test release for an upcoming flight test.

The current firmware is intentionally simple and robust. It runs on a superloop architecture without DMA and uses a watchdog for fault recovery. The system has been tested using hardware-in-the-loop simulated flight data and has operated reliably during testing.


System Overview

Microcontroller

  • STM32 F4-series microcontroller
  • 3.3V logic domain
  • SWD programming and debugging via ST-Link
  • Optional USB device support planned for future debug and firmware workflows
  • Hardware timers available for deterministic event timing
  • Watchdog enabled for fault recovery

Current Firmware Architecture

The first flight test firmware uses a simple superloop design.

Current Implementation

  • No RTOS
  • No DMA
  • Polling-based peripheral handling
  • Watchdog-supervised main loop
  • Deterministic flight-state logic
  • Sensor sampling over shared SPI bus
  • Flash-based data logging
  • LoRa telemetry transmission
  • Hardware-in-the-loop test data support

This architecture was selected for the first test release to reduce complexity and improve reliability during initial flight testing.


Sensors

All primary sensors are currently connected on a shared SPI bus.

Barometer

  • SPI pressure sensor
  • Used for altitude estimation
  • Used for flight-state detection and validation
  • Locally decoupled according to sensor requirements

IMU

  • SPI accelerometer and gyroscope

  • Used for:

    • Boost detection
    • Apogee validation
    • Motion and orientation monitoring
  • Interrupt-capable lines available for future firmware revisions

GPS

GPS support is planned for ODIN but is not included in the current first-flight test release due to hardware issues.

Planned GPS functions include:

  • Real-time position tracking
  • Post-flight recovery support
  • Telemetry downlink of GPS coordinates
  • Position logging to onboard storage

Telemetry - SX1262 LoRa

ODIN uses an SX1262-based LoRa radio for long-range telemetry transmission.

Current Telemetry Features

  • LoRa telemetry transmission enabled
  • Flight-state downlink
  • Sensor-derived flight data downlink
  • Battery voltage downlink
  • Packet scheduling is handled in the main superloop

Planned / Future Telemetry Features

  • GPS coordinate transmission
  • More complete telemetry packet structure
  • Configurable LoRa parameters
  • Improved fault handling for radio errors

Data Logging

Current Storage

The current first flight test release uses onboard flash memory as the primary data storage medium.

Flash logging is used because the microSD card interface was dropped from the current release after wiring issues were found during testing.

microSD Status

microSD logging was planned for this revision; however, the SD card wiring was incorrect, and the SD card interface is not used in this test release.

Logged / Stored Parameters

The current firmware is intended to store key flight data, including:

  • Timestamp or sample counter
  • Raw pressure
  • Calculated altitude
  • IMU acceleration
  • IMU gyroscope data
  • Flight-state transitions
  • Battery voltage
  • Event flags

Power Architecture

  • Main system input rail
  • 3.3V regulated logic rail
  • ADC-based battery voltage monitoring through resistor divider
  • Local decoupling at each IC
  • Bulk capacitance near high-current and noise-sensitive devices
  • Solid ground reference for digital logic and sensors

Design Considerations

  • All digital logic operates at 3.3V
  • Shared SPI bus used for sensors and peripherals
  • Short SPI traces where possible
  • Source termination is considered for high-speed SPI lines
  • Switching regulator noise kept away from sensitive sensor and RF sections
  • Ground reference continuity is maintained across the board

Programming & Debugging

SWD Interface

SWD is the primary programming and debugging interface.

Signals:

  • SWDIO
  • SWCLK
  • GND
  • 3.3V reference
  • NRST

Used for:

  • Firmware flashing
  • Breakpoint debugging
  • Register inspection
  • Fault investigation

USB

USB support is optional and planned for future development.

Potential future uses:

  • CDC virtual COM port for debug output
  • DFU firmware update support
  • Ground-test data streaming

First Flight Test Release Notes

This release is prepared for the first ODIN flight test.

Included

  • STM32-based flight controller firmware
  • Superloop firmware architecture
  • Watchdog fault recovery
  • SPI sensor acquisition
  • Barometer-based altitude estimation
  • IMU data acquisition
  • LoRa telemetry transmission
  • Flash-based data logging
  • Battery voltage monitoring
  • Hardware-in-the-loop simulated flight data testing

Not Included in This Release

  • GPS support
  • microSD card logging
  • DMA-based peripheral handling
  • RTOS task scheduling
  • Full sensor-fusion stack
  • Final telemetry packet format
  • Final competition firmware architecture

Known Issues

  • The microSD card interface is not used due to incorrect wiring
  • GPS is not included in this release due to hardware issues
  • Firmware currently uses polling rather than DMA
  • Current release prioritises reliability and simplicity over final feature completeness

Core Features

  • Sensor initialisation and health checks
  • Watchdog-supervised main loop
  • Deterministic flight-state transitions
  • Flash-based onboard data storage
  • LoRa telemetry transmission
  • Battery voltage monitoring
  • Brownout and fault-awareness support
  • Hardware-in-the-loop simulation data testing

Development Roadmap

Future firmware and hardware revisions are expected to include:

  • GPS integration
  • Corrected microSD card interface
  • Improved onboard logging backend
  • DMA support for selected peripherals
  • More complete sensor fusion
  • Refined telemetry packet scheduling
  • Expanded fault detection and recovery
  • USB debug and DFU support
  • Full competition-ready flight software

Contributors

  • Michael Basangan: Software Lead
  • Aditya Sriram: Advisor

Parts

114
QtyValueFootprintReferences
18100nfCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC1, C2, C5, C10, C11, C12, C14, C17, C18, C20, C21, C22, C24, C25, C26, C27 +2
1310kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR1, R2, R5, R10, R15, R17, R18, R20, R24, R27, R31, R32, R36
9TestPointTestPoint:TestPoint_Pad_1.5x1.5mmTP1, TP2, TP3, TP5, TP6, TP7, TP8, TP9, TP10
41kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR3, R16, R21, R22
447kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR7, R12, R26, R30
3100RResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR4, R9, R23
31uCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC9, C13, C28
375kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR6, R11, R25
3IRLML2502TRPBFmyFootprints:SOT23Q1, Q2, Q4
218pCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC15, C16
22.2uCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC3, C4
227rResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR28, R29
25.1kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR13, R14
2CANmyFootprints:MOLEX_26013114CAN_IN1, CAN_OUT1
2Conn_01x05_PinLibrary:JST_B5B-XH-AJ5, J6
2D_SchottkyDiode_SMD:D_2114_3652MetricD2, D3
2LOGOLOGOG***, G***
2PyromyFootprints:MOLEX_26013114J2, J10
2SAMZO G4R0015010myFootprints:SAMZO G4R0015010SW1, SW2
110kResistor_SMD:R_0805_2012MetricR33
110uCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC19
1120RResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR8
11N5819WSDiode_SMD:D_SOD-323D6
14.7uCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC8
1470rResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR19
18mhzCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mm_HandSolderingY1
1BC817Package_TO_SOT_SMD:SOT-23Q3
1Bosch BMP388myFootprints:PQFN50P200X200X80-10NU6
1BuzzerBuzzer_Beeper:Buzzer_12x9.5RM7.6BZ1
1Conn_ARM_JTAG_SWD_10Connector_PinHeader_1.27mm:PinHeader_2x05_P1.27mm_VerticalJ3
1Conn_Coaxial_SmallConnector_Coaxial:SMA_Amphenol_132291_VerticalJ7
1DrougemyFootprints:MOLEX_26013114J4
1FerriteBeadResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderFB1
1H3LIS331DLmyFootprints:PQFN50P300X300X100-16NU9
1LDL1117-3.3myFootprints:SOT230P700X180-4NU4
1LSM6DS3TR-CmyFootprints:LGA-14-2.5X3MMU7
1Micro_SD_CardConnector_Card:microSD_HC_Molex_47219-2001J8
1PowerInmyFootprints:MOLEX_26013114U3
1Q_PMOS_GSDmyFootprints:SOIC127P599X175-8NQ6
1RFM95W-915S2myFootprints:XCVR_RFM95W-915S2U5
1RLEDLED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolderPowerLED1
1SN65HVD230Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU2
1SRV05-4.TCTmyFootprints:SOT95P280X145-6ND4
1STM32F405RGT6Package_QFP:LQFP-64_10x10mm_P0.5mmU1
1SolderJumper_2_OpenJumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mmJP1
1TestPointTestPoint:TestPoint_Pad_2.5x2.5mmTP4
1USB_C_Receptacle_USB2.0_16PConnector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12J9
1W25Q128JVPPackage_SON:WSON-8-1EP_6x5mm_P1.27mm_EP3.4x4.3mmU8
1ws2812bLED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mmD1

The 110 most common of 114 parts.

Similar boards

  • 4 layers50 × 100 mmCAN Interface Board, the printed circuit board in 3D

    CAN Interface Board

    UTS-Rocketry/KESTREL-Control-Board2026

    Control Actuation System (CAS) Interface Board for the UTS Rocketry avionics stack.

    70 parts1
  • 6 layers100 × 60 mmAether, the printed circuit board in 3D

    Aether

    nasheed-x/aether

    Aether is a versatile flight computer for testing flight hardware and software, focusing on sensor fusion to monitor rocket states and interface with on-board systems.

    180 parts10
  • 4 layers200 × 50 mmOmniAnt, the printed circuit board in 3D

    OmniAnt

    mgriff2000/OmniAnt

    Repo for the KiCad project for OmniAnt

    228 parts
  • 2 layers43 × 43 mmESP32-Touch board, the printed circuit board in 3D

    ESP32-Touch board

    kamil2466/SiD-ON

    Smart Home Projects

    49 parts4GPL-3.0
  • 4 layersQuad Controller, the printed circuit board in 3D

    Quad Controller

    gbalke/quad_hw

    PCB Design for Quadcopter Project

    50 partsMIT
  • 6 layers34.4 × 20 mmGigaControl, the printed circuit board in 3D

    GigaControl

    kaminaris/GigaESC-ControlBoard

    Compact six-layer control card for modular GigaESC motor controllers. The MCU, CAN transceiver, IMU and signal conditioning live here; the MOSFET power stage and power supply are separate boards.

    54 parts
  • 4 layers36.9 × 36.9 mmFpv flight controller, the printed circuit board in 3D

    Fpv flight controller

    stefanpopovic-dev/fpv-flight-controller

    An open-hardware, 4-layer FPV flight controller board built around the STM32F405RGT6, designed in KiCad. Currently at hardware revision REV3. Designed to run Betaflight.

    111 partsCERN-OHL-S-2.0
  • 2 layers141.6 × 70 mmHandheld GS, the printed circuit board in 3D

    Handheld GS

    Queens-Rocket-Engineering-Team/av-hardware

    ECAD for SRAD Avionics hardware

    130 parts1

Questions

How big is the Flightcomputer2 PCB?

It measures 80 × 80 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Flightcomputer2 use?

114 parts, built around the STM32F405RGT6, SN65HVD230D, W25Q128JVPIQ and H3LIS331DL. 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 Flightcomputer2 KiCad files?

From the UTS-Rocketry/ODIN-FlightController2026 repository on GitHub, at the commit this page was made from: the board is Schematics/flightcomputer2.kicad_pcb and its schematic Schematics/Accelerometer.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Flightcomputer2 design in my own project?

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