Skip to the content
PCBKitNew board
2 layers50.5 × 50.5 mmFlight controler, the printed circuit board in 3D

The simplest flight controller that you need! based on STM32 paired with gyro

Size
50.5 × 50.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
46
Nets
71
Pads
214
Tracks, vias
874, 118
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
9 Jul 2026
Updated
14 Jul 2026

Overview

Flight controler is an open-source printed circuit board by Dhruv2212-star, from the Dhruv2212-star/Flight-controller- repository on GitHub. It is a 2-layer board of 50.5 × 50.5 mm with 46 parts on 71 nets, routed with 874 tracks and 118 vias.

It is built around the MP2359DJ-LF-Z, AP2112K-3.3 and ICM-42688-P, with the MMBT2222A and SMBJ26CA among its other parts. Its parts include 14 resistors, 13 capacitors, 5 connectors, 4 ICs and 4 diodes. It belongs with the sensors and measurement and robots and motor control boards and the STM32 boards of this library.

Main components

5

README

README.md

ASTRA FLIGHT CONTROLLER

The Astra Flight Controller is a custom-designed flight control board developed for multirotor unmanned aerial vehicles (UAVs). It is built around the STM32F411CEU6 microcontroller and the ICM-42688-P six-axis Inertial Measurement Unit (IMU), providing a compact, high-performance platform capable of running modern flight control firmware such as Betaflight, INAV, or customdeveloped firmware

  1. Main Features
  • STM32F411CEU6 ARM Cortex-M4 Microcontroller
  • ICM-42688-P 6-axis IMU
  • MP2359DJ High-Efficiency 5 V Buck Converter
  • AP2112K 3.3 V Low-Dropout Voltage Regulator
  • USB Type-C Interface
  • SWD Programming Header
  • XT30 Battery Input
  • Active Buzzer Driver Circuit
  • Status LED
  • External UART Expansion
  • Dedicated SPI Interface for the IMU
  • Compact PCB designed within a 100 mm × 100 mm manufacturing limit 2. Hardware Architecture
  • Power Management
  • Processing Unit
  • Sensor System
  • Communication Interfaces
  • User Interface
  • Programming & Debugging
  • External Connections
  1. Hardware Modules Power Management Responsible for converting battery voltage into stable regulated voltages used by the board. Major Components:
  • XT30 Battery Connector
  • Resettable Fuse
  • MP2359DJ Buck Converter
  • AP2112K 3.3V Regulator Filtering Capacitors Outputs:
    +5V Rail
    +3.3V Rail
  1. Processing Module The processing module is the "brain" of the flight controller. Main Component: STM32F411CEU6. Responsibilities:
  • Reads sensor data
  • Executes flight control algorithms
  • Controls motors
  • Handles USB communication
  • Processes receiver input
  • Generates PWM/DShot signals
  • Controls LEDs and buzzer
  1. Sensor Module The sensor subsystem provides real-time motion data.
    Main Sensor: ICM-42688-P.

Measurements: 3-axis Accelerometer, 3-axis Gyroscope. Communication: SPI Interface.
The IMU continuously measures angular velocity and acceleration
Power-Up Sequence When battery power is applied, the following sequence occurs: Step 1: Battery voltage enters through the XT30 connector.
Step 2: The resettable fuse protects the board from excessive current.
Step 3: The MP2359DJ converts battery voltage into a regulated +5V supply.
Step 4: The AP2112K converts +5V into +3.3V.
Step 5: The STM32F411CEU6 receives stable power.
Step 6: The crystal oscillator starts generating the system clock.
Step 7: The microcontroller boots from Flash memory.
Step 8: The SPI interface initializes the ICM-42688-P.
Step 9: Sensors begin transmitting motion data.
Step 10: the flight controller enters normal operating mode


Clock Generation The STM32F411CEU6 uses an external crystal oscillator for accurate timing. The external crystal provides stable CPU clock, accurate USB timing, reliable SPI communication, and consistent sensor sampling. Proper placement of the crystal and its load capacitors is essential for reliable operation.

power system Why Two Regulators?
Using a single linear regulator directly from the battery would result in excessive heat generation, especially at higher input voltages. Instead, the Astra Flight Controller uses a two-stage regulation
approach:

  • MP2359DJ Buck Converter — efficiently reduces battery voltage to 5 V.
  • AP2112K LDO — produces a clean and stable 3.3 V output with minimal electrical
    noise. This combination provides both efficiency and stable operation.

STM32F411CEU6 Microcontroller The STM32F411CEU6 is the primary processing unit of the Astra Flight Controller. It executes the flight control firmware, processes sensor data, generates motor outputs, and manages all communication interfaces. Role-
The STM32 reads IMU data through SPI, executes flight control algorithms, generates ESC outputs, monitors battery voltage, controls the LED and buzzer, manages USB communication, and supports firmware programming through SWD.

ICM-42688-P Inertial Measurement Unit (IMU)

Introduction
The ICM-42688-P is the primary motion sensing device used in the Astra Flight Controller. It integrates a 3-axis accelerometer and a 3-axis gyroscope in a compact LGA package. The sensor continuously measures aircraft motion and sends this data to the STM32F411CEU6 through the SPI interface for attitude estimation and flight stabilization.
Why the ICM-42688-P was Selected?
The sensor was selected because of its excellent gyroscope noise performance, high sampling rate, low latency, low power consumption, compact size, and broad support in modern flight-control firmware such as Betaflight and INAV.
Main Specifications:-

  • Device- ICM-42688-P
  • Sensor Type- 6-Axis IMU
  • Accelerometer- 3-Axis MEMS
  • Gyroscope- 3-Axis MEMS
  • Operating Voltage- 1.71–3.6 V
  • Communication- SPI / I²C
  • Max SPI Clock Up to 24 MHz
  • Operating Temp −40°C to +85°C
    Working Principle
    The accelerometer measures linear acceleration along the X, Y, and Z axes, while the gyroscope
    measures angular velocity about the same axes. Together they provide six degrees of freedom (6-DoF), allowing the firmware to estimate the aircraft's orientation using sensor-fusion algorithms.
    Hardware Integration
    The IMU operates from the regulated 3.3 V rail. VDD and VDDIO are connected to 3.3 V, while the GND pins connect directly to the ground plane. Local decoupling capacitors are placed close to the power pins to reduce supply noise and improve stability.
    SPI Communication
    Communication with the STM32F411CEU6 takes place over SPI using SCK, MOSI, MISO, and CS. SPI was selected instead of I²C because it offers higher bandwidth, lower latency, and improved reliability in electrically noisy environments.
    Interrupt Output The interrupt pin notifies the STM32 whenever new sensor data is available, reducing processor workload and improving the timing of the flight-control loop.

The IMU continuously measures aircraft motion, sends accelerometer and gyroscope data to the STM32 through SPI, and the firmware processes this information to estimate attitude and generate motor control outputs.

USB Type-C Interface

Introduction
The USB Type-C interface serves as one of the primary communication and power interfaces of the Astra Flight Controller. It provides firmware flashing, debugging, configuration, diagnostics and
development power.
USB Type-C offers reversible insertion, improved durability, better current capability and long-term compatibility. The design uses the USB 2.0 Full-Speed interface connected directly to the STM32F411CEU6.

Purpose Firmware upload, configuration using Betaflight/INAV/STM32CubeProgrammer, debugging through serial communication, and powering the board during development without a LiPo battery
Advantages
Reversible connector, stronger mechanical retention, higher current capability and modern industrystandard compatibility.
USB Connector | Pin | Function |
| VBUS | +5V |
| GND | Ground |
| D+ | USB Data Positive |
| D- | USB Data Negative |
| CC1 | Configuration Channel 1 |
| CC2 | Configuration Channel 2 |
| Shield | Connector Shield |

Data Communication USB Full-Speed uses the D+ and D− differential pair. Route them together with matched lengths, minimal vias, constant spacing, no sharp bends and a continuous ground plane. The STM32F411CEU6 supports USB 2.0 Full-Speed (12 Mbps), sufficient for firmware updates and configuration

XT30 Battery Connector

The XT30 connector is the primary battery input. Battery voltage enters the board through the XT30 connector, passes through the resettable fuse and protection circuitry, and then feeds the MP2359DJ buck converter. Wide copper traces are used to carry battery current and minimise voltage drop.

ESC Connections

Motor control signals generated by the STM32 are routed to the ESC outputs. These connections carry logiclevel control signals only; motor power is supplied separately by the battery through the ESCs.

Indicators and User Interface

Overview
The Astra Flight Controller includes a status LED, a TL3342 push button and an active buzzer. These devices provide visual, audible and manual interaction during development, testing and flight operation.
Status LED The STM32 controls the LED to indicate power, boot status, firmware activity, calibration, arming state and error conditions.
Push Button The TL3342 tactile switch can be used for boot mode selection, firmware recovery, calibration and user-defined functions through a GPIO input.
Active Buzzer The active buzzer provides audible feedback including startup, arming, low-battery and fault indications. It requires only an on/off control signal from the STM32.

Component Placement Strategy

  1. Microcontroller Placement
    The STM32F411CEU6 is positioned near the center of the PCB. This location minimizes the average distance between the MCU and all connected peripherals, resulting in shorter SPI traces, shorter USB connections, reduced propagation delay, easier routing, and improved signal integrity. The exposed thermal pad beneath the MCU is connected directly to the ground plane for both thermal dissipation and electrical grounding.
  2. IMU Placement
    The ICM-42688-P is the most sensitive component on the board. To maximize Measurement accuracy, it is placed close to the center of the PCB, kept away from the MP2359DJ buck converter and inductor, and highcurrent traces are not routed beneath the sensor. A continuous ground plane is maintained underneath the device, and the sensor orientation matches the coordinate system
    expected by the firmware.
    Proper placement reduces electrical interference and vibration-induced measurement errors
    Power Section Placement The power conversion circuitry is grouped together near the battery input. This includes:
  • XT30 connector.
  • Resettable fuse.
  • Protection diode.
  • MP2359DJ buck converter.
  • 4.7 µH Bourns SRP5030TA-4R7M inductor.
  • Input and output capacitors.
  • AP2112K voltage regulator.

Power Supply Design

The Astra Flight Controller is designed to operate directly from a 2S to 6S Lithium Polymer (LiPo) battery, meaning the input voltage can vary from approximately 7.4 V to 25.2 V. To achieve stable regulation, the Astra Flight Controller uses a two-stage power architecture: the MP2359DJ synchronous buck converter generates a regulated 5 V supply from the battery, and the AP2112K Low Dropout (LDO) regulator generates a clean 3.3 V supply from the 5 V raiL

Power Flow 2S–6S LiPo Battery
|
XT30 Battery Connector
|
Resettable Fuse (F1)
|
TVS / Reverse Protection
|
MP2359DJ Buck Converter — +5 V Rail
|
AP2112K LDO Regulator — +3.3 V Rail
|
STM32F411 |
ICM-42688

Resettable Fuse (F1)

Immediately after the XT30 connector, the input passes through a resettable polyfuse (PTC), which protects the PCB from excessive current caused by short circuits, incorrect wiring, component failures, or assembly mistakes. Unlike a traditional fuse, the polyfuse automatically resets after the fault is removed and the device cools down.

MP2359DJ Buck Converter

  1. Why a Buck Converter? A linear regulator would dissipate the voltage difference between the battery and the output as heat. Converting 25.2 V from a fully charged 6S battery directly to 5 V using a linear regulator would result in excessive power loss and unacceptable temperatures. A switching buck converter solves this problem by rapidly switching the input voltage through an inductor and filtering the output, achieving efficiencies typically above 85–90%.
  2. MP2359DJ Features
  • Wide input voltage range.
  • High conversion efficiency.
  • Integrated MOSFETs.
  • Compact package.
  • High switching frequency.
  • Internal protection features.
  • Minimal external components.
  1. Operating Principle
    The MP2359DJ is a synchronous step-down (buck) switching regulator. Its operation consists of four basic stages: the internal MOSFET switches ON allowing current to flow into the inductor; energy is stored in the magnetic field of the inductor; the MOSFET switches OFF; and the inductor releases stored energy through the output filter, maintaining a continuous output voltage. This cycle repeats hundreds of thousands of times per second. External Components-- ● Input capacitor. ● Output capacitor. ● Bootstrap capacitor. ● Schottky protection diode (where applicable). ● Feedback resistor network. ● 4.7 µH power inductor

Manufacturing

The PCB is designed to be compatible with standard manufacturing services such as JLCPCB while remaining within the 100 mm × 100 mm board size

Screenshots

Schematic Flight controler_page-0001 (1) PCB tracing Screenshot (255) 3D view Screenshot (254)

  • Note-- the firmware needs to be programed according to the use, hence cannot be pre-programed

Parts

46
QtyValueFootprintReferences
4100nfCapacitor_SMD:C_0603_1608MetricC2, C3, C4, C7
2100nFCapacitor_SMD:C_0603_1608MetricC10, C11
218pfCapacitor_SMD:C_0603_1608MetricC5, C6
21ufCapacitor_SMD:C_0603_1608MetricC13, C14
222Resistor_SMD:R_0603_1608MetricR1, R2
25.1KResistor_SMD:R_0603_1608MetricR3, R4
101x04 Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ3
1100KResistor_SMD:R_0603_1608MetricR7
110KResistor_SMD:R_0603_1608MetricR6
1180kΩResistor_SMD:R_0603_1608MetricR13
11KResistor_SMD:R_0603_1608MetricR8
11M Resistor_SMD:R_0603_1608MetricR5
11X2Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ5
11kResistor_SMD:R_0603_1608MetricR10
12.2ufCapacitor_SMD:C_0603_1608MetricC1
122µF, 10VCapacitor_SMD:C_1206_3216MetricC9
122µF, 35VCapacitor_SMD:C_1206_3216MetricC8
127kΩResistor_SMD:R_0603_1608MetricR14
12X3Connector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_VerticalJ2
1330Resistor_SMD:R_0603_1608MetricR9
14.7uHInductor_SMD:L_6.3x6.3_H3L1
149.9kΩResistor_SMD:R_0603_1608MetricR11
19.53kResistor_SMD:R_0603_1608MetricR12
1AP2112K-3.3Package_TO_SOT_SMD:SOT-23-5U2
1BuzzerBuzzer_Beeper:Buzzer_12x9.5RM7.6BZ1
1CrystalCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
1D_SchottkyDiode_SMD:D_SMAD3
1ESC connectorConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ4
1ICM-42688-PDownloads:PQFN50P300X250X97-14NU1
1MMBT2222APackage_TO_SOT_SMD:TSOT-23-6Q1
1MP2359DJPackage_TO_SOT_SMD:TSOT-23-6U3
1POWERLED_SMD:LED_0603_1608MetricD1
1PolyfuseFuse:Fuse_1812_4532MetricF1
1SMBJ26CADiode_SMD:D_SMBD4
1STATUS LED_SMD:LED_0603_1608MetricD2
1STM32F411CEUxPackage_DFN_QFN:QFN-48-1EP_7x7mm_P0.5mm_EP5.6x5.6mmU4
1SW_PushButton_Switch_SMD:SW_SPST_TL3342SW1
1USBConnector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12J1

Questions

How big is the Flight controler PCB?

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

What parts does the Flight controler use?

46 parts, built around the MP2359DJ-LF-Z, AP2112K-3.3, ICM-42688-P and MMBT2222A. 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 controler KiCad files?

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

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

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

Similar boards

  • 2 layers100 × 70 mmNa wink, the printed circuit board in 3D

    Na wink

    rodriveiga01/mx5-light

    Sources: na-wink.kicadsch (schematic) and na-wink.kicadpcb (layout draft). This is a review draft, not fabrication-ready.

    51 partsGPL-3.0
  • 4 layers100 × 100 mmEc30-tee, the printed circuit board in 3D

    Ec30-tee

    justinpirie/ec30

    Onan EC30 Tee Board with ESP32 Control

    130 partsApache-2.0
  • 2 layers38 × 38 mmVariantC, the printed circuit board in 3D

    VariantC

    TakaI2/Drone_simulate

    ドローンの挙動と設計をシミュレートする

    40 parts
  • 4 layers52.1 × 55.6 mmFOCdriver, the printed circuit board in 3D

    FOCdriver

    I-M-Robotics-Lab/Curl-Drive-Hardware

    Brushless Motor FOC Controller

    168 parts14GPL-3.0
  • 6 layers148 × 121 mmControl, the printed circuit board in 3D

    Control

    SSL-A-Team/electrical

    circuit board design files, gerbers, and circuit analysis

    529 parts6MIT
  • 4 layers56.5 × 45 mmPower board, the printed circuit board in 3D

    Power board

    alex-dnd/power_board

    Универсальная четырёхслойная плата питания от 6S на LMR33630: выходы 5 В и 7 В до 3 А. KiCad 10.

    51 parts
  • 4 layers100 × 60 mmUnder bed lighting, the printed circuit board in 3D

    Under bed lighting

    dbwalker0min/under-bed-lighting

    A project to add under bed lighting

    58 partsMIT
  • 4 layers100 × 80 mmCharge board, the printed circuit board in 3D

    Charge board

    Franzelfx/vertical-wind-turbine

    Design study: a 3D-printed vertical-axis wind turbine on a timber post, charging a 3S Li-ion pack. Parts, circuit and figures generated by scripts with FreeCAD, KiCad and Blender. Nothing built yet.

    85 parts