Skip to the content
PCBKitNew board
2 layers77 × 40.3 mmFlightcontroller, the printed circuit board in 3D

A compact STM32F411-based flight controller PCB designed in KiCad for multirotor UAVs and embedded flight-control applications. Integrates IMU, magnetometer, barometer, microSD, USB, UART, and multiple motor/auxiliary outputs.

Size
77 × 40.3 mm
Copper layers
2
Thickness
1.6 mm
Parts
82
Nets
92
Pads
314
Tracks, vias
659, 59
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
19 Sep 2026
Updated
19 Sep 2026

Overview

Flightcontroller is an open-source printed circuit board by subbumani12, from the subbumani12/flightcontroller repository on GitHub. It is a 2-layer board of 77 × 40.3 mm with 82 parts on 92 nets, routed with 659 tracks and 59 vias.

It is built around the BMP280, LIS3MDL and AMS1117-3.3, with the AT24CS64-SSHM-B, LSM6DS3 and USB6B1 among its other parts. Its parts include 28 capacitors, 24 resistors, 11 connectors, 7 ICs and 4 diodes. It belongs with the robots and motor control boards and the STM32 boards of this library.

Main components

7

README

README.md

Flight Controller

A custom STM32F411-based flight controller PCB designed for multirotor, UAV, robotics, and embedded flight-control applications.

The board integrates an IMU, magnetometer, barometric sensor, EEPROM, MicroSD storage, USB-C, SWD debugging, UART interfaces, and dedicated motor/auxiliary outputs on a compact 2-layer PCB designed in KiCad.

3D Render

STM32 Flight Controller 3D Render


✈️ Overview

This project is a custom flight-controller hardware design centered around the STM32F411RET6 ARM Cortex-M4 microcontroller.

The STM32 handles sensor acquisition, flight-control processing, peripheral communication, data logging, and motor/auxiliary output generation.

The board combines:

  • Inertial sensing
  • Magnetic heading measurement
  • Barometric altitude measurement
  • Non-volatile configuration storage
  • Flight-data logging
  • USB communication
  • SWD programming/debugging
  • Motor and auxiliary outputs
  • UART communication

The PCB was designed in KiCad, with emphasis on compact routing, sensor decoupling, accessible debugging, and organized external interfaces.


🔧 Hardware Features

ComponentPart
MicrocontrollerSTM32F411RET6
IMULSM6DS3 – 3-axis Accelerometer + 3-axis Gyroscope
MagnetometerLIS3MDL – 3-axis
BarometerBMP280
EEPROMAT24C256A
StorageMicroSD
USBUSB Type-C
DebugSWD
SerialUART1 / UART2
Motor OutputsMOTOR1 / MOTOR2 / MOTOR3
Auxiliary OutputsAUX1 / AUX2 / AUX3
Logic Supply3.3 V
PCB2-layer
EDA ToolKiCad

The complete hardware feature set is documented in the original design specification.


🧠 System Architecture

text
                         USB Type-C
                             │
                             ▼
                       USB Protection
                             │
                             ▼
                       Power / 3.3 V
                             │
                             ▼
                    ┌─────────────────┐
                    │   STM32F411     │
                    │   Flight MCU    │
                    └────────┬────────┘
                             │
          ┌──────────────────┼──────────────────┐
          │                  │                  │
          ▼                  ▼                  ▼
        I²C                 SPI               UART
          │                  │                  │
    ┌─────┼─────┐       ┌────┴────┐       ┌────┴────┐
    ▼     ▼     ▼       ▼         ▼       ▼         ▼
  LSM6DS3 LIS3MDL EEPROM BMP280   MicroSD  UART1    UART2
    │     │
    └─────┴────── Sensor Data

📡 Sensors & Peripherals

LSM6DS3 IMU

The LSM6DS3 provides:

  • 3-axis accelerometer
  • 3-axis gyroscope

It serves as the primary inertial sensor for attitude estimation, angular-rate measurement, motion detection, and flight-control feedback.

The IMU communicates with the STM32 through I²C.

LIS3MDL Magnetometer

The LIS3MDL provides 3-axis magnetic-field measurements and can be used as a magnetic heading reference for navigation and orientation estimation.

It communicates through I²C and includes an interrupt connection to the MCU.

BMP280 Barometer

The BMP280 provides pressure measurements for:

  • Relative altitude estimation
  • Altitude-hold applications
  • Vertical-motion estimation
  • Flight-data logging

The sensor is connected through SPI.

AT24C256A EEPROM

The onboard EEPROM provides non-volatile storage for:

  • Configuration parameters
  • Calibration data
  • Controller settings
  • Persistent system information

MicroSD

A dedicated MicroSD interface provides onboard flight-data storage using SPI:

text
SD_SPI_MOSI
SD_SPI_MISO
SD_SPI_SCK
SD_CHIPSEL

It can be used for sensor measurements, telemetry, debugging information, controller parameters, and flight logs.


🔌 Interfaces

Motor Outputs

Three dedicated motor interfaces are provided:

text
MOTOR1_OUT
MOTOR2_OUT
MOTOR3_OUT

Each connector provides:

text
+5V
GND
SIGNAL

The motor-control signals are generated using STM32 timer peripherals and can interface with external ESCs or motor-control hardware.

Auxiliary Outputs

text
AUX1_OUT
AUX2_OUT
AUX3_OUT

Each provides:

text
+5V
GND
SIGNAL

These can be used for additional actuators or flight-controller peripherals.

UART

Two serial interfaces are exposed:

text
UART1_TX
UART1_RX

UART2_TX
UART2_RX

Potential applications include GPS, telemetry, radio receivers, external sensors, and configuration interfaces.

SWD

A dedicated SWD interface is provided for programming and debugging:

text
SWDIO
SWCLK
3.3V
GND

The board also includes test points for convenient hardware debugging.


⚡ Power Architecture

The board uses an onboard 3.3 V regulation stage for the STM32 and peripheral electronics.

The power section includes:

  • Schottky diode protection
  • AMS1117-3.3 regulator
  • Input/output filtering capacitors
  • Power indicator LED
  • Ferrite filtering for the MCU supply

The additional ferrite filtering is intended to reduce high-frequency supply noise around the MCU.


🖥️ USB & Debugging

The board includes a USB Type-C interface providing:

  • USB D+
  • USB D−
  • VBUS
  • GND

USB ESD protection is included on the data interface.

The USB connection can be used for firmware development, communication, configuration, debugging, and powering the board during development.

Dedicated BOOT and RESET buttons are also provided for firmware programming, recovery, and MCU reset.


🧩 PCB Design

Designed using KiCad, the PCB focuses on compact two-layer implementation and practical hardware debugging.

Design considerations

  • Compact 2-layer PCB
  • Dedicated ground routing/plane
  • Local sensor decoupling
  • Short high-speed peripheral connections
  • Compact MCU placement
  • Accessible SWD interface
  • Dedicated motor and auxiliary connectors
  • UART connectors
  • USB Type-C
  • Ferrite-filtered MCU supply
  • Separated sensitive sensor circuitry
  • Hardware test points
  • Perimeter mounting holes

🔄 Flight-Control Data Flow

text
        ┌─────────────┐
        │    IMU      │
        │   LSM6DS3   │
        └──────┬──────┘
               │
        ┌──────▼──────┐
        │ Magnetometer│
        │   LIS3MDL   │
        └──────┬──────┘
               │
        ┌──────▼──────┐
        │  Barometer  │
        │    BMP280   │
        └──────┬──────┘
               │
               ▼
        ┌──────────────┐
        │  STM32F411   │
        │    MCU       │
        └──────┬───────┘
               │
        ┌──────┼──────────┐
        ▼      ▼          ▼
     Motors   AUX     Telemetry

The STM32 acquires sensor data, processes the measurements using flight-control firmware, and generates outputs for connected ESCs, motors, and auxiliary peripherals.


🛠️ Tools & Technologies

  • KiCad – Schematic & PCB design
  • STM32F411RET6 – ARM Cortex-M4 MCU
  • STM32 development tools / STM32CubeIDE
  • I²C
  • SPI
  • USART
  • USB
  • SWD

🚀 Potential Future Improvements

Possible future revisions include:

  • Additional motor channels
  • CAN / CAN-FD
  • GPS connector
  • Dedicated telemetry interface
  • Battery voltage/current monitoring
  • Buzzer interface
  • Additional IMU / redundant sensors
  • External compass connector
  • Barometer isolation
  • Improved power-input protection
  • Dedicated receiver interface
  • Additional test points
  • Improved PCB signal integrity

🎯 Applications

This hardware platform can be explored for:

  • Multirotor flight controllers
  • UAV development
  • Drone flight-control systems
  • Autonomous aerial vehicles
  • Embedded navigation
  • Sensor-fusion experiments
  • Flight-data logging
  • Robotics
  • Embedded control systems
  • UAV hardware prototyping

📌 Project Status

Hardware: PCB design completed EDA: KiCad Architecture: STM32F411-based PCB: 2-layer

This project is intended for educational, research, and UAV hardware-development purposes.


📄 License

This project is open-source and intended for educational, research, and UAV hardware-development purposes.

Parts

82
QtyValueFootprintReferences
1322Resistor_SMD:R_0402_1005MetricR10, R11, R12, R19, R20, R21, R23, R24, R25, R27, R28, R29, R30
112.2uCapacitor_SMD:C_0402_1005MetricC3, C4, C5, C10, C11, C23, C24, C25, C26, C27, C28
100.1uCapacitor_SMD:C_0402_1005MetricC6, C7, C8, C9, C16, C17, C18, C19, C21, C22
85.1kResistor_SMD:R_0402_1005MetricR4, R5, R6, R7, R8, R9, R17, R18
6Conn_01x03_PinConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ3, J4, J5, J7, J8, J9
3Conn_01x04_SocketConnector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalJ11, J12, J13
210kResistor_SMD:R_0402_1005MetricR2, R3
21uCapacitor_SMD:C_0402_1005MetricC12, C13
220pCapacitor_SMD:C_0402_1005MetricC14, C15
222uCapacitor_SMD:C_0402_1005MetricC1, C2
2LEDLED_SMD:LED_0603_1608MetricD1, D5
2MountingHoleMountingHole:MountingHole_5mmH1, H2
2SW_PushButton_Switch_SMD:SW_SPST_TL3305ASW1, SW2
2TestPointTestPoint:TestPoint_THTPad_D2.0mm_Drill1.0mmTP1, TP2
11.5kResistor_SMD:R_0402_1005MetricR1
1100nCapacitor_SMD:C_0402_1005MetricC20
1120RInductor_SMD:L_0805_2012MetricFB1
125MHzCrystal:Crystal_SMD_0603-4Pin_6.0x3.5mmY1
1AMS1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U1
1AT24CS64-SSHMPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU6
1BMP280Package_LGA:Bosch_LGA-8_2x2.5mm_P0.65mm_ClockwisePinNumberingU4
1D_SchottkyDiode_SMD:D_0603_1608MetricD3
1LIS3MDLPackage_LGA:LGA-12_2x2mm_P0.5mmU5
1LSM6DS3Package_LGA:LGA-14_3x2.5mm_P0.5mm_LayoutBorder3x4yU2
1Micro_SD_Card_Det1Connector_Card:microSD_HC_Molex_104031-0811J15
1SS18Diode_SMD:D_SMAD2
1STM32F411RETxPackage_QFP:LQFP-64_10x10mm_P0.5mmU3
1USB6B1Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU7
1USB_C_Receptacle_USB2.0_14PConnector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12J1

Questions

How big is the Flightcontroller PCB?

It measures 77 × 40.3 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Flightcontroller use?

82 parts, built around the BMP280, LIS3MDL, AMS1117-3.3 and AT24CS64-SSHM-B. 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 Flightcontroller KiCad files?

From the subbumani12/flightcontroller repository on GitHub, at the commit this page was made from: the board is flightcontroller.kicad_pcb and its schematic flightcontroller.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Flightcontroller design in my own project?

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

Similar boards

  • 4 layers57.1 × 33.9 mmSabiaR1 v2, the printed circuit board in 3D

    SabiaR1 v2

    CarloCBragagnolo/SABIAR1

    Project files for the Sabiá R1 flight computer

    64 partsGPL-3.0
  • 2 layers85 × 50 mmFinal Proyect, the printed circuit board in 3D

    Final Proyect

    Daniqnn/Proyecto_Final

    Proyecto final de Mecatronica, ITLA 2026 C1. Made by José Mañón, Cesar Camacho, Henry bautista, Wilmir Calcaño y Harlin Fransisco.

    91 parts1
  • 4 layers64 × 60 mmDronemagnav, the printed circuit board in 3D

    Dronemagnav

    ajisrawi/dronemagnav

    Magnetic-anomaly navigation (MagNav) board + firmware for drones: ESP32-S3, BMI088, LIS3MDL, BMP280, u-blox GNSS, WDMAM map matching, particle filter, MAVLink, phone route planner. Proprietary - all rights reserved.

    60 parts11
  • 2 layers70 × 70 mmLab3, the printed circuit board in 3D

    Lab3

    obrevskaya/quadcopter_flight_controller_pcb

    Проект посвящён разработке печатной платы контроллера полёта квадрокоптера в системе автоматизированного проектирования KiCad.

    69 parts
  • 4 layers81 × 53 mmPratham, the printed circuit board in 3D

    Pratham

    PeriwalPratham/FlightController

    A basic PCB design which contains all components for a solo yet affordable basic drone controller

    102 partsMIT
  • 2 layers121.1 × 136.9 mmCTRL, the printed circuit board in 3D

    CTRL

    krish-iitbhu/Single-Motor-PCB-CONTROLLER-

    146 parts
  • 2 layers49.3 × 66.5 mmHeishamon lr pdc, the printed circuit board in 3D

    Heishamon lr pdc

    lrodorigo/heishamon-lr-aquarea-board

    A simple alternative hardware implementation for the great HeishaMon board for communicating with Panasonic heatpumps

    30 parts
  • 2 layers32.2 × 44 mmPm100, the printed circuit board in 3D

    Pm100

    neosoyo/limitador-de-potencia

    MVP para limitador de potência para AeroDesign

    42 partsGPL-3.0