

FlightController
A high-performance, compact, 4-layer flight controller PCB engineered for quadcopters and small UAVs. Built around the STMicroelectronics STM32F411CEU6 MCU, featuring high-rate low-noise motion sensing, barometric…
- Size
- 45 × 45 mm
- Copper layers
- 4
- Thickness
- 1.62 mm
- Parts
- 74
- Nets
- 72
- Pads
- 272
- Tracks, vias
- 617, 296
- Pours
- 9
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 4 Jul 2026
- Updated
- 6 Oct 2026
Overview
FlightController is an open-source printed circuit board by QuadFlyController, from the QuadFlyController/Electronics repository on GitHub, published under the MIT licence. It is a 4-layer board of 45 × 45 mm with 74 parts on 72 nets, routed with 617 tracks and 296 vias.
It is built around the BMP390, TPS62933DRL and AP2112K-3.3, with the ICM-42688-P, TPS2115ADRBR and USBLC6-2SC6 among its other parts. Its parts include 30 capacitors, 19 resistors, 7 ICs, 2 diodes and 2 connectors. It belongs with the robots and motor control boards and the STM32 boards of this library.
Main components
8BMP390
LGA-10(2x2)-40℃~+85℃ 0.6pa/K 1.5uA 1.65V~3.6V 30Kpa~1.25bar 3pa 50pa I2C、SPI Integrated ADC and digital interface、Standby mode、On-chip temperature output Yes LGA-10(2x2) Pressure Sensors ROHSBosch SensortecPressure SensorsTPS62933DRL
SOT-583-40℃~+150℃@(TJ) 1 12uA 2.2MHz 3.8V~30V 3A 800mV~22V Adjustable Buck Buck Built-in Yes SOT-583 DC-DC Converters ROHSTexas InstrumentsDC-DC ConvertersAP2112K-3.3
SOT253.3V 600mA CMOS Low Dropout Linear Regulator with EnableDiodes IncorporatedUncategorisedICM-42688-P
LGA-14(2.5x3)-40℃~+85℃ 1.71V~3.6V 16bit 2KB 7.5uA IMU (accelerometer + gyroscope) SPI、I2C X,Y,Z X,Y,Z ±16g ±2000dps Motion Event Detection, Synchronization, Timestamp Support LGA-14(2.5x3) Accelerometers ROHSTDK InvenSenseAccelerometersTPS2115ADRBR
SON-8(3x3)-40℃~+85℃ 2 2.8V~5.5V 2A 84mΩ Active High、Active Low Load Switch Overcurrent Protection(OCP)、Over Temperature Protection SON-8(3x3) Power Distribution Switches ROHSTexas InstrumentsPower Distribution SwitchesUSBLC6-2SC6
SOT-23-60.35pF、0.8pF 100nA 150W@8/20us 15V 2 5V 6A@8/20us 6V ESD SOT-23-6 ESD and Surge Protection (TVS/ESD) ROHSUMWESD And Surge Protection (TVS/ESD)SMBJ18A
SMB-65℃~+150℃ 18V 1uA 20.6A 22.1V 29.2V 390pF 600W@10/1000us TVS SMB ESD and Surge Protection (TVS/ESD) ROHSShandong Jingdao MicroelectronicsESD And Surge Protection (TVS/ESD)USB-TYPE-C-018
SMD-25℃~+85℃ 1 10000 times 16P 3A 5V 7.35mm Female Surface Mount, Right Angle Type-C SMD USB Connectors ROHSDEALONUSB Connectors
README
README.mdQuadFlyController - Flight Controller Hardware
A high-performance, compact, 4-layer flight controller PCB engineered for quadcopters and small UAVs. Built around the STMicroelectronics STM32F411CEU6 MCU, featuring high-rate low-noise motion sensing, barometric altitude tracking, robust power management with dual-source automatic switching, and standard 30.5 mm × 30.5 mm mounting.
🚀 Key Specifications
| Subsystem | Component | Description |
|---|---|---|
| Microcontroller (MCU) | STM32F411CEU6 | ARM Cortex-M4 @ 100 MHz, FPU, 512 KB Flash, 128 KB SRAM, external 25 MHz HSE oscillator |
| Inertial Measurement (IMU) | ICM-42688-P | High-precision 6-axis gyroscope & accelerometer on dedicated high-speed SPI bus with interrupt line |
| Barometer / Altimeter | BMP390 | Ultra-low noise barometric pressure sensor on SPI bus for altitude hold |
| Switching Regulator (Buck) | TPS62933 | High-efficiency 3A synchronous step-down converter providing stable +5V rail from battery |
| Linear Regulator (LDO) | AP2112K-3.3 | Ultra-low dropout, low-noise 600 mA 3.3V LDO for clean MCU and analog sensor rails |
| Power Path Switching | TPS2115A | Seamless automatic power multiplexer between USB VBUS (+5V) and internal Buck converter (+5V) |
| Transient Protection | SMBJ18A | Bidirectional TVS diode protection on battery input |
| USB Protection | USBLC6-2SC6 | Ultra-low capacitance ESD protection array on USB D+/D- lines |
| USB Interface | USB Type-C (16-pin) | Firmware flashing (DFU), telemetry, and configuration interface |
| ESC Interface | JST-SH 8-Pin (1.0 mm) | Standard 4-in-1 ESC connector (VBAT, GND, Motors 1–4, Current sensing) |
📐 PCB & Mechanical Specifications
- Dimensions: 45.0 mm × 45.0 mm with 3.5 mm corner radius
- Mounting Hole Pattern: Standard 30.5 mm × 30.5 mm, 4.3 mm holes (M4, compatible with anti-vibration silicone grommets down to M3 hardware)
- Layer Stack: 4-Layer PCB
- F.Cu (Top Layer): High-speed signals, component breakout, top ground pour
- In1.Cu (Inner Layer 1): Solid ground reference plane (GND)
- In2.Cu (Inner Layer 2): Power distribution (+5V, +3.3V, +BATT) and cross-layer routing
- B.Cu (Bottom Layer): Bottom ground plane and secondary signal routing
- 3D Mechanical Model: Full 3D STEP model available in
FlightController/CAD/FlightController.stepfor frame integration and enclosure design.
🔌 Pinout & Connector Definitions
J3: 8-Pin JST-SH 4-in-1 ESC Connector (SM08B-SRSS-TB)
| Pin | Net Name | Function / Description |
|---|---|---|
| 1 | +BATT | Raw battery voltage input from ESC / PDB |
| 2 | GND | Power and signal ground return |
| 3 | CUR | Analog current sensing signal from ESC shunt sensor |
| 4 | M1 | Motor 1 PWM / DShot signal output (STM32 Timer channel) |
| 5 | M2 | Motor 2 PWM / DShot signal output (STM32 Timer channel) |
| 6 | M3 | Motor 3 PWM / DShot signal output (STM32 Timer channel) |
| 7 | M4 | Motor 4 PWM / DShot signal output (STM32 Timer channel) |
| 8 | GND | Ground return |
External Pads & Test Points
- UART (TX / RX): External receiver connection (ELRS, Crossfire, SBUS) or GPS telemetry module.
- SWD (SWDIO / SWCLK): Hardware debug and in-circuit flashing with ST-Link or J-Link.
- BOOT0: Jumper/pad for STM32 internal ROM system bootloader (DFU mode over USB).
- Status LEDs:
D1: Power indicatorD2: User / Status LED (connected to STM32 GPIO)
📂 Repository Structure
Electronics/
├── .gitignore # Git ignore configuration
├── LICENSE # License file
├── README.md # Hardware documentation
├── FlightController_Schematic.pdf # Exported full schematic PDF
│
└── FlightController/ # KiCad 10 Project Directory
├── FlightController.kicad_pro # KiCad project file
├── FlightController.kicad_pcb # KiCad 4-layer PCB layout
├── FlightController.kicad_sch # Root schematic sheet
├── MCU.kicad_sch # STM32F411CEU6 microcontroller sheet
├── IMU.kicad_sch # ICM-42688-P & BMP390 sensor sheet
├── PowerManagement.kicad_sch # Power rails, buck, LDO, & USB sheet
├── fp-lib-table # Footprint library table
├── sym-lib-table # Symbol library table
├── fabrication-toolkit-options.json # Production generation settings
│
├── CAD/ # 3D Mechanical Models
│ └── FlightController.step # Complete 3D STEP assembly of the PCB
│
└── production/ # Manufacturing & Assembly Files
├── FlightController.zip # Gerbers & Drill archive (RS-274X / Excellon)
├── bom.csv # Bill of Materials (with LCSC part numbers)
├── positions.csv # Pick-and-Place (CPL) centroid coordinates
├── designators.csv # Component designator mapping
└── netlist.ipc # IPC-D-356 netlist for bare-board testing🏭 Manufacturing & Assembly (PCBA)
The files in FlightController/production/ are pre-configured and formatted for rapid quoting and ordering with PCB manufacturers (such as JLCPCB, PCBWay, etc.):
- PCB Fabrication (Gerber & Drill):
- Upload
FlightController/production/FlightController.zip. - Layers: 4 Layers
- Dimensions: 45 mm × 45 mm
- Upload
- SMT Assembly (PCBA):
- BOM File: Upload
FlightController/production/bom.csv(includes pre-matched LCSC part numbers for automated component sourcing). - CPL / Centroid File: Upload
FlightController/production/positions.csv.
- BOM File: Upload
- Bare-Board Electrical Test:
FlightController/production/netlist.ipcis provided for automated flying-probe netlist verification.
🛠️ Design & Development Environment
- EDA Software: KiCad EDA v10.x
- To Open the Project: Launch KiCad and open
FlightController/FlightController.kicad_pro. - Viewing the Schematic without KiCad: Open
FlightController_Schematic.pdf.
Parts
74| Qty | Value | Footprint | References |
|---|---|---|---|
| 13 | 0.1μF X7R | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C4, C7, C8, C9, C12, C13, C14, C17, C18, C21, C27, C29, C30 |
| 6 | 10kΩ | PCM_JLCPCB:R_0603 | R5, R6, R7, R8, R13, R16 |
| 4 | MountingHole | MountingHole:MountingHole_4.3mm_M4 | H1, H2, H3, H4 |
| 3 | 10μF X7R | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C1, C2, C28 |
| 3 | 5.1kΩ | PCM_JLCPCB:R_0603 | R2, R3, R4 |
| 2 | 10μF X7R 50V | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C19, C20 |
| 2 | 14pF C0G | Capacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolder | C10, C11 |
| 2 | 1kΩ | PCM_JLCPCB:R_0603 | R17, R19 |
| 2 | 22μF X5R 35V | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C24, C25 |
| 2 | 4.7μF X7R | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C5, C6 |
| 2 | LED | LED_SMD:LED_0603_1608Metric | D1, D2 |
| 1 | 0.1μF X7R 16V | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C23 |
| 1 | 0.1μF X7R 35V | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C26 |
| 1 | 1.5kΩ | PCM_JLCPCB:R_0603 | R18 |
| 1 | 10.2k | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R9 |
| 1 | 100kΩ | PCM_JLCPCB:R_0603 | R1 |
| 1 | 10nF X7R | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C16 |
| 1 | 10Ω | PCM_JLCPCB:R_0603 | R11 |
| 1 | 1μF X7R | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C3 |
| 1 | 2.2μF X7R | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C15 |
| 1 | 200k | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R15 |
| 1 | 25MHz_GND24 | CRYSTAL-SMD_4P-L3.2-W2.5-BL:CRYSTAL-SMD_4P-L3.2-W2.5-BL | Y1 |
| 1 | 33nF X7R | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C22 |
| 1 | 400 | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R12 |
| 1 | 510k | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R14 |
| 1 | 53.6k | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R10 |
| 1 | 5V | TestPoint:TestPoint_Pad_3.0x3.0mm | TP3 |
| 1 | 74439346068 | 74439346068:74439346068 | L1 |
| 1 | AP2112K-3.3 | Package_TO_SOT_SMD:SOT-23-5_HandSoldering | U1 |
| 1 | BMP390 | BMP390:BMP390 | U5 |
| 1 | Conn_01x03_Pin | Connector_PinHeader_1.00mm:PinHeader_1x03_P1.00mm_Vertical | J1 |
| 1 | GND | TestPoint:TestPoint_Pad_3.0x3.0mm | TP4 |
| 1 | ICM-42688-P | ICM-42688-P:ICM-42688-P-M | U4 |
| 1 | LOGO | LOGO | G*** |
| 1 | RX | TestPoint:TestPoint_Pad_3.0x3.0mm | TP2 |
| 1 | SM08B-SRSS-TBLFSN | XY-SM08B-SRSS-TB:XY-SM08B-SRSS-TB | J3 |
| 1 | SMBJ18A | SMBJ18A:SMBJ18A | CR1 |
| 1 | STM32F411CEUx | Package_DFN_QFN:QFN-48-1EP_7x7mm_P0.5mm_EP5.6x5.6mm | U3 |
| 1 | SolderJumper_2_Open | Jumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm | JP1 |
| 1 | TPS2115ADRBR | TPS2115ADRBR:TPS2115ADRBR | U7 |
| 1 | TPS62933 | Package_TO_SOT_SMD:SOT-583-8 | U6 |
| 1 | TX | TestPoint:TestPoint_Pad_3.0x3.0mm | TP1 |
| 1 | USB-TYPE-C-018 | USB-TYPE-C-018:USB-C_SMD-TYPE-C-31-M-12 | USB1 |
| 1 | USBLC6-2SC6 | Package_TO_SOT_SMD:SOT-23-6_Handsoldering | U2 |
Questions
How big is the FlightController PCB?
It measures 45 × 45 mm and has 4 copper layers, 1.62 mm thick.
What parts does the FlightController use?
74 parts, built around the BMP390, TPS62933DRL, AP2112K-3.3 and ICM-42688-P. 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 QuadFlyController/Electronics repository on GitHub, at the commit this page was made from: the board is FlightController/FlightController.kicad_pcb and its schematic FlightController/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 publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).
Similar boards
- 4 layers60 × 60 mm

- 4 layers85 × 55 mm

CAPE A-1-no comment
Stab-Rabbit-coding/Serenity-UAV
A functional, security conscious, Unmanned Aerial Vehicle based on the Firefly Class spacecraft Serenity from the 2002 show..
33 parts1CERN-OHL-W-2.0 - 2 layers39.2 × 36.6 mm

Link101
robocore-labs/link101-hardware
link101 is a multi-protocol USB interface board. One Type-C cable gives you CAN-FD, RS485, Dynamixel, Feetech, UART, I2C, and MIT Cheetah-protocol ports, all as stable Linux devices.
71 parts1CERN-OHL-S-2.0 - 4 layers40 × 40 mm

AeroHawk FC
sbbxiii/The-Eagle
The Eagle: Custom STM32F405 4-Layer Autonomous Avionics Flight Controller PCB
76 parts1MIT - 4 layers78 × 48 mm

Motherboard rev 3
hpvdt/falcon_motherboard
Firmware and hardware designs for the Falcon motherboard
69 parts - 4 layers45 × 45 mm

STM32 FLIGHT CONTROLLER
sarahjuma1/STM32-Flight-Controller-PCB-Copy
4-layer STM32F405-based flight controller PCB featuring IMU, barometer, SPI flash, USB-C, and ESC interfaces.
52 parts - 4 layers40 × 80 mm

BarbelMotionTracker V1
ThorbenH/ba-thesis-project
This git project is dedicated to a prototype implementation that attempts to track and evaluate the motion of a barbell in the gym.
123 parts - 4 layers70 × 100 mm

Flightcontroller
ukinori/flightcontroller
STM32H743 VTOL/fixed-wing flight-controller hardware in KiCad 10: routed 4-layer PCB, schematics, BOM notes, connector pinouts and verification reports. Experimental prototype; PX4 port planned.
132 parts