

Flightcontroller v1
A custom designed, minimalistic STM32F411-based flight controller built from scratch for custom drone and aerospace experimentation.
- Size
- 39.6 × 31.4 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 28
- Nets
- 52
- Pads
- 143
- Tracks, vias
- 358, 37
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 11 Oct 2026
- Updated
- 5 Nov 2026
Overview
Flightcontroller v1 is an open-source printed circuit board by LeonOmo, from the LeonOmo/Flight-Controller-OMO-D1 repository on GitHub. It is a 2-layer board of 39.6 × 31.4 mm with 28 parts on 52 nets, routed with 358 tracks and 37 vias.
It is built around the AMS1117CD-3.3 and BMI270. Its parts include 7 resistors, 3 capacitors, 3 ICs, 2 diodes and 1 connector. It belongs with the robots and motor control boards and the STM32 boards of this library.
Main components
2AMS1117CD-3.3
TO-252-40℃~+125℃ 0.003%Vout 1 1.1V@(800mA) 15V 1A 3.3V 5mA 72dB@(120Hz) Fixed Over Current Protection、Short Circuit Protection、Thermal shutdown Positive TO-252 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSAdvanced Monolithic SystemsVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsBMI270
LGA-14(2.5x3)-40℃~+85℃ 1.71V~3.6V 16bit 2KB 3.5uA Accelerometer Gyroscope SPI、I2C X,Y,Z X,Y,Z ±16g ±2000dps LGA-14(2.5x3) Accelerometers ROHSBosch SensortecAccelerometers
README
README.mdFlight-Controller-OMO-D1
A custom designed, minimalistic STM32F411-based flight controller built from scratch for custom drone and aerospace experimentation.
What is this project?
Flight Controller OMO: is a custom made circuit board designed specifically to act as an stabilization unit for stabilising platforms. It breaks away from bulky flight controllers by packing only the essential, minimal form factor powered by an STM32 microcontroller and a modern BMI270.
Purpose & What it does
The primary purpose of this board is to process real-time orientation data and translate pilot control inputs into precise motor commands.
- Attitude: Reads high speed gyro and accelerometer data via the BMI270 sensor to keep the aircraft stable.
- Motor Control: Provides 4 dedicated motor output attachments to drive electronic speed controllers (ESCs) or micro motors.
- Firmware: Designed to run standard flight controller firmware like Betaflight.
- Flashing: Includes a 12 pin USB-C interface for seamless connection to a PC for configuration and flashing.
Why does it exist?
Building an off the shelf drone is fun, but designing the core avionics from the ground up teaches you how hardware, firmware, and circuit layout actually interact in the real world.
- The Learning Curve: Moving away from older, obsolete sensors like the MPU6050 to the modern BMI270 was a major step in modernizing the design.
- Aerospace Passion: As a personal stepping stone for aerospace and rocketry drone payloads having total control over a custom flight controller design opens up endless possibilities for tailored form factors.
- Just for Fun: Pure engineering curiosity testing whether a self routed PCB built in KiCAD can successfully boot, communicate, and stabilize a flight platform. (As of now, it's a first prototype fingers crossed that everything works as intended!)
Bill of Materials
| Designator | Component | Footprint | LCSC Part Number | Description |
|---|---|---|---|---|
| U2 | STM32F411CEU6 | QFN-48 (7x7mm) | C60420 | Main MCU |
| U4 | BMI270 | 14-LGA (3x2.5mm) | C2836813 | Gyro + Accel |
| U3 | ME6211C33M5G-N | SOT-23-5 | C82942 | 3.3V Voltage Regulator |
| J1 | USB4105-GF-A-120 | USB-C 16-Pin SMT | C5184243 | USB-C Receptacle |
| Y1 | 16MHz Crystal | SMD 3225-4P | C13738 | Crystal Oscillator |
| C5, C6 | 10µF | 0603 (1608 Metric) | C19702 | Ceramic Capacitor |
| C7 | 2.2µF | 0603 (1608 Metric) | C23630 | Ceramic Capacitor |
| D1, D2 | LED | 0603 (1608 Metric) | C2290 | Status / Power LEDs |
| R3 | 1MΩ | 0603 (1608 Metric) | C22935 | Resistor |
| R4, R5 | 5.1kΩ | 0603 (1608 Metric) | C23186 | USB-C Resistors |
| R6, R7 | 10kΩ | 0603 (1608 Metric) | C25804 | Config Resistors |
| R8, R9 | 1kΩ | 0603 (1608 Metric) | C21190 | LED Current Limiting Resistors |
Tools & Technologies
- PCB Design: KiCAD
- Firmware: Betaflight
- Design Highlights: Features a custom silkscreen layout including things like Mewo.
Schematics & PCB Layout
Schematic
PCB
Extras
I liked this way more than id like to admit making this was really fun for me and it was just so freeing.
Bonus
Before settling on the BMI270, early iterations used the older MPU6050. Transitioning away from it was a major hurdle due to its age and lack of modern integration support, making the shift to the BMI270 a much cleaner and more reliable choice for modern layouts.
Parts
28| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | Conn_01x01 | TestPoint:TestPoint_Pad_D1.5mm | GND1, M1, M2, M3, M4 |
| 4 | MountingHole | MountingHole:MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 2 | 10 uF | Capacitor_SMD:C_0603_1608Metric | C5, C6 |
| 2 | 10k | Resistor_SMD:R_0603_1608Metric | R6, R7 |
| 2 | 1k | Resistor_SMD:R_0603_1608Metric | R8, R9 |
| 2 | 5.1k | Resistor_SMD:R_0603_1608Metric | R4, R5 |
| 2 | LED | LED_SMD:LED_0603_1608Metric | D1, D2 |
| 1 | 1M | Resistor_SMD:R_0603_1608Metric | R3 |
| 1 | 2.2uF | Capacitor_SMD:C_0603_1608Metric | C7 |
| 1 | AMS1117CD-3.3 | Package_TO_SOT_SMD:SOT-23-5 | U3 |
| 1 | BMI270 | BMI270:XDCR_BMI270 | U4 |
| 1 | Crystal_GND24 | Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm | Y1 |
| 1 | LOGO | Bilder:Grimas | G*** |
| 1 | LOGO | Bilder:Happy | G*** |
| 1 | STM32F411CEUx | Package_DFN_QFN:QFN-48-1EP_7x7mm_P0.5mm_EP5.6x5.6mm | U2 |
| 1 | USB_C_Receptacle_USB2.0_16P | Connector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal | J1 |
Questions
How big is the Flightcontroller v1 PCB?
It measures 39.6 × 31.4 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Flightcontroller v1 use?
28 parts, built around the AMS1117CD-3.3 and BMI270. 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 v1 KiCad files?
From the LeonOmo/Flight-Controller-OMO-D1 repository on GitHub, at the commit this page was made from: the board is PCB/Flightcontroller v1/Flightcontroller v1.kicad_pcb and its schematic PCB/Flightcontroller v1/Flightcontroller v1.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Flightcontroller v1 design in my own project?
Its repository states no licence, so its author keeps all rights: ask LeonOmo before reusing the design.
Similar boards
- 2 layers164 × 100 mm

- 2 layers112 × 78.5 mm

- 4 layers79.8 × 51.8 mm

- 4 layers70 × 60 mm

CAN Logger V2.0
deep-th/CAN_Logger
This is a compact and reliable CAN logger board built for automotive and industrial applications. It features the ESP32-S3 microcontroller and MCP25625 CAN controller with integrated transceiver, supporting two…
138 parts3 - 2 layers64.5 × 49.8 mm

Tlapixki HelloWorld
Hugondon/Proyecto-Trayectorias
Códigos utilizados para el proyecto de ingeniería
33 parts3 - 2 layers55.5 × 64.9 mm

Devboard
carlassaraf/tp_analyzer
RP2350A based firmware for a three-phase analyzer instrument running FreeRTOS and LVGL UI
22 parts1 - 2 layers30.2 × 34 mm

ESP32Mini1-DevBoard
Casual-Coder-dev/ESP32-Mini-1-N8-Devboard-
This project contains the pcb of an ESP32 Mini 1 N8 Development board that is suitable for your needs.
16 parts1MIT - 2 layers39.8 × 20.6 mm
