Skip to the content
PCBKitNew board
4 layers64.6 × 57.3 mmDragonfly, the printed circuit board in 3D

A very cool, drone that can perform maneuvers.

Size
64.6 × 57.3 mm
Copper layers
4
Thickness
2.2 mm
Parts
246
Nets
257
Pads
1,092
Tracks, vias
2,647, 455
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
5 Jul 2026
Updated
28 Oct 2026

Overview

Dragonfly is an open-source printed circuit board by Broccoliux, from the Broccoliux/dragonfly repository on GitHub, published under the MIT licence. It is a 4-layer board of 64.6 × 57.3 mm with 246 parts on 257 nets, routed with 2,647 tracks and 455 vias.

It is built around the AT32F421G8U7, AT7456E and FD6288Q, with the BMP280, TPS5430DDA and AMS1117-3.3 among its other parts. Its parts include 90 resistors, 71 capacitors, 24 transistors, 15 ICs and 15 diodes. It belongs with the robots and motor control boards and the STM32 boards of this library.

Main components

10

README

README.md

STM32F405 AT32F421 Betaflight AM32 KiCad 4-Layer License


Dragonfly

A custom all-in-one flight controller + ESC, built entirely from discrete ICs rather than premade modules, designed for me by me. Flight control and all 4 motor drivers live on a single 4-layer PCB, designed from scratch in KiCad.

Why I Built This

I wanted to go past just building a flight controller most DIY FC projects stop at a board that reads a gyro and outputs signals. I wanted the whole thing: FC and ESC combined on one board, IC-level design instead of stacking pre-built modules, a custom 3D-printed frame, and firmware configured to actually fly and hold up to real maneuvers, not just hover.

This became a fromscratch systems project schematic, PCB layout, mechanical frame design, and firmware, all built and understood end-to-end rather than assembled from a kit.


Features

  • 4-layer PCB designed from scratch in KiCad, all-in-one FC + ESC on a single board
  • STM32F405RGTx flight controller MCU running Betaflight, custom unified target
  • 4x independent ESC channels, each with its own AT32F421G8U7 MCU running AM32 firmware real per-motor commutation, not a single shared driver
  • FD6288Q 3-phase gate drivers + discrete MOSFETs per channel, sized for freestyle current draw, not just hover
  • ICM-20602 IMU (SPI), isolated placement and routing to minimize motor-noise coupling into gyro data
  • AT7456E OSD for FPV video overlay (battery voltage, timer)
  • BMP280 barometer for altitude hold
  • TPS5430 buck (5V) + AMS1117-3.3 LDO + dedicated L78L08 8V rail for gate drivers — separate, correctly isolated power domains
  • Individual SWD test points per ESC channel for one-time AM32 flashing
  • ELRS receiver support (Happymodel Nano RX) over UART
  • Custom 3" toothpick-class frame, designed in Fusion 360, 3D printed
  • Estimated build cost: ~$250–300 (board, motors, frame, battery, receiver, transmitter)

What's Inside

ComponentPartSpecification
Flight Controller MCUSTM32F405RGTxARM Cortex-M4, 168 MHz
IMUICM-206026-axis, SPI
ESC MCU (x4)AT32F421G8U7One per motor, runs AM32
Gate Driver (x4)FD6288Q3-phase, one per motor
Motor Drive6x MOSFET per channel24 total, sized for real current draw
Buck RegulatorTPS5430Battery → 5V
LDOAMS1117-3.35V → 3.3V
Gate Driver SupplyL78L08Battery → 8V, dedicated rail
OSDAT7456EAnalog FPV video overlay
BarometerBMP280Altitude hold
ReceiverHappymodel ELRS Nano RXUART
TransmitterRadioMaster Zorro (ELRS)Full-size hall gimbals
Motors3" class, 1404, ~3800–4500KV4S
FrameCustom 3" toothpick3D printed, Fusion 360
PCB4-layerKiCad

Firmware

Status: in progress configuration and pin-mapping stage, not reqady to flash

Two separate firmware bases run on this board:

  • Betaflight (main STM32F405) custom unified target describing this board's exact pin map (motors, IMU SPI, receiver UART)
  • AM32 (each of the 4 AT32F421 ESC MCUs) open-source ESC firmware, flashed individually per channel via dedicated SWD test points
bash
firmware/
├── betaflight-unified-target/   # Unified target config for the main FC
├── am32/                        # AM32 firmware source, per-channel builds
└── notes.md                     # Pin mapping reference

How to Use

Hardware

  1. PCB files are located in PCB/
  2. Open the .kicad_pro file in KiCad 8+
  3. Upload Gerbers from PCB/gerbers/ to JLCPCB (4-layer)
  4. Order components using BOM/BOM.csv
  5. Frame STEP file is available in CAD/

Firmware

  1. Flash AM32 onto each of the 4 ESC MCUs individually, using the SWD test points per channel
  2. Flash Betaflight onto the main STM32 via USB-C, using the custom unified target in firmware/betaflight-unified-target/
  3. Configure IMU calibration, receiver binding, and OSD via Betaflight Configurator

Repository Structure

text
Dragonfly/
├── PCB/                         # KiCad project + Gerbers
├── CAD/                         # Fusion 360 frame design (.step)
├── firmware/                    # Betaflight unified target + AM32
├── BOM/                         # Bill of Materials
├── imgs/                        # Photos and renders
└── README.md

Built By

broccoli 🥦 — Solo hardware builder from Pakistan.

Chasing what I love. GE0

'geo geo geo

Parts

246
QtyValueFootprintReferences
3510kResistor_SMD:R_0402_1005MetricR2, R3, R10, R11, R15, R16, R17, R27, R28, R29, R33, R34, R35, R36, R37, R47 +19
30100nfCapacitor_SMD:C_0402_1005MetricC10, C11, C12, C17, C19, C21, C22, C23, C26, C32, C34, C35, C36, C41, C43, C44 +14
2410ufCapacitor_SMD:C_0402_1005MetricC20, C24, C25, C27, C28, C29, C30, C31, C33, C37, C38, C39, C40, C42, C46, C47 +8
2420RResistor_SMD:R_0402_1005MetricR19, R20, R21, R23, R24, R25, R38, R39, R40, R41, R43, R45, R58, R59, R60, R61 +8
24Q_NMOS_GDSPackage_SON:Diodes_PowerDI3333-8Q1, Q2, Q10, Q11, Q12, Q13, Q14, Q15, Q16, Q17, Q18, Q19, Q20, Q21, Q22, Q23 +8
120RResistor_SMD:R_0402_1005MetricR18, R22, R26, R42, R44, R46, R62, R64, R66, R82, R84, R86
121N914WTDiode_SMD:D_SOD-523D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14
121kResistor_SMD:R_0402_1005MetricR12, R13, R14, R30, R31, R32, R50, R51, R52, R70, R71, R72
41ufCapacitor_SMD:C_0402_1005MetricC14, C61, C63, C72
4AT32F421G8U7Library:AT32F421G8U7U3, U5, U7, U9
4FD6288QFD6288Q:QFN50P400X400X90-25NU4, U6, U8, U10
4GNDTestPoint:TestPoint_Pad_D1.0mmTP3, TP7, TP11, TP15
4VDD33TestPoint:TestPoint_Pad_D1.0mmTP2, TP6, TP10, TP14
32.2ufCapacitor_SMD:C_0402_1005MetricC7, C8, C18
210pfCapacitor_SMD:C_0402_1005MetricC1, C2
212pfCapacitor_SMD:C_0402_1005MetricC3, C4
247ufCapacitor_SMD:C_0402_1005MetricC70, C71
25.1kΩResistor_SMD:R_0402_1005MetricR4, R5
275RResistor_SMD:R_0402_1005MetricR90, R91
2SW_SPSTButton_Switch_SMD:SW_Tactile_SPST_NO_Straight_CK_PTS636Sx25SMTRLFSSW1, SW2
10.01ufCapacitor_SMD:C_0402_1005MetricC58
10.1ufCapacitor_SMD:C_0402_1005MetricC73
1100kResistor_SMD:R_0402_1005MetricR89
110k NCResistor_SMD:R_0402_1005MetricR1
110nfCapacitor_SMD:C_0402_1005MetricC13
115uhInductor_SMD_Wurth:L_Wurth_WE-LQSH-4020L2
11KΩ 100MhzInductor_SMD:L_0402_1005MetricL1
1220ufCapacitor_SMD:CP_Elec_6.3x5.8C59
127MHZCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
130.9kResistor_SMD:R_0815_2038MetricR87
132.768 kHzCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mm+10ppm1
140V, 3A SchottkyDiode_SMD:D_SMCD15
1AMS1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U12
1AT7456EAT7456E:SOP65P640X120-29NU14
1BMP280Package_LGA:Bosch_LGA-8_2x2.5mm_P0.65mm_ClockwisePinNumberingU15
1CAM VINConnector_JST:JST_EH_B2B-EH-A_1x02_P2.50mm_VerticalJ8
1Conn_01x04_PinConnector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_VerticalJ1
1ICM-20602Package_LGA:LGA-16_3x3mm_P0.5mm_LayoutBorder3x5yU2
1L78L08_SO8Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU13
1LED BLUELED_SMD:LED_0201_0603MetricD1
1LED REDLED_SMD:LED_0201_0603MetricD2
1STM32F405RGTxPackage_QFP:LQFP-64_10x10mm_P0.5mmU1
1SWCLK1TestPoint:TestPoint_Pad_D1.0mmTP4
1SWCLK2TestPoint:TestPoint_Pad_D1.0mmTP8
1SWCLK3TestPoint:TestPoint_Pad_D1.0mmTP12
1SWCLK4TestPoint:TestPoint_Pad_D1.0mmTP16
1SWDIO1TestPoint:TestPoint_Pad_D1.0mmTP5
1SWDIO2TestPoint:TestPoint_Pad_D1.0mmTP9
1SWDIO3TestPoint:TestPoint_Pad_D1.0mmTP13
1SWDIO4TestPoint:TestPoint_Pad_D1.0mmTP17
1TPS5430DDAPackage_SO:TI_SO-PowerPAD-8_ThermalViasU11
1TSX-3225TSX-3225:TSX-3225X1
1VOUTConnector_JST:JST_EH_B2B-EH-A_1x02_P2.50mm_VerticalJ9
1XT60PW-MXT60PW-M:AMASS_XT60PW-MJ7

The 242 most common of 246 parts.

Questions

How big is the Dragonfly PCB?

It measures 64.6 × 57.3 mm and has 4 copper layers, 2.2 mm thick.

What parts does the Dragonfly use?

246 parts, built around the AT32F421G8U7, AT7456E, FD6288Q and BMP280. 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 Dragonfly KiCad files?

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

Can I use the Dragonfly 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 layers16.2 × 23.2 mmAART11, the printed circuit board in 3D

    AART11

    ImbaNagibator/slot-car-ecom

    This repo contains a KiCad design, documentation and ancillary artifacts for a slot car brushless motor electronic commutator or "eCom", also known as an Electronic Speed Controller (ESC).

    82 partsCC0-1.0
  • 4 layers39 × 43 mmEsc, the printed circuit board in 3D

    Esc

    vili111111p/Self-made-drone

    206 parts
  • 6 layers158 × 158 mmFpv drone, the printed circuit board in 3D

    Fpv drone

    zeodotdev/zeo-boards

    ESP32-S3 development board with onboard BME280 (temperature, humidity, pressure) and LSM6DS3 (6-axis IMU) sensors. This repo contains the designs, ESP-IDF firmware, and a Python plotter for visualization.

    158 parts3
  • 4 layers95.6 × 59.9 mmFlight computer rocketry, the printed circuit board in 3D

    Flight computer rocketry

    Himanshukohale22/Flight_control_controller_V1.2

    Hardware files for universal flight controller for small UAV's.

    145 parts1MIT
  • 4 layers90 × 90 mmFlightControllerv1.0, the printed circuit board in 3D

    FlightControllerv1.0

    EE-crisrmh/VIGIL-Systems

    an autonomous drone that patrols a building at night, so a guard doesn't have to walk it alone.

    110 partsMIT
  • 2 layers44 × 48 mmFlight controller pcb, the printed circuit board in 3D

    Flight controller pcb

    sanchitagarwal1011/STM32F405-Flight-controller-PCB

    A custom flight controller PCB designed in KiCad 10 using the STM32F405 microcontroller.

    43 parts1
  • 2 layers70 × 70 mmLab3, the printed circuit board in 3D

    Lab3

    obrevskaya/quadcopter_flight_controller_pcb

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

    69 parts
  • 4 layers40 × 40 mmShiroFPV Flight Controller, the printed circuit board in 3D

    ShiroFPV Flight Controller

    ShiroFPV/ShiroFPV_Flight_Controller_Collection

    Official repository for public ShiroFPV flight controller designs, encompassing fully verified productions as well as ongoing, untested hardware revisions.

    116 parts1CERN-OHL-S-2.0