Custom flight controller
Ekta-Gupta27·custom-flight-controller-pcb·pcb/custom_fc_rat.kicad_pcb
About the Custom flight controller PCB
Custom flight controller is an open source STM32 PCB design by Ekta-Gupta27, published on GitHub. It is a 6-layer board measuring 51 × 53.5 mm, with 122 components from 56 distinct parts.
Its main chip is the STM32F765VITx, from the STM32 family. Other key parts include the ICM-42688-P, ICP-20100, STM32F103CBTx, BMM150 and LM1117DT-3.3. By type, the board carries 47 capacitors, 31 resistors, 17 connectors, 11 ICs, 9 diodes and 2 transistors.
It belongs with the sensors, robotics & motion and rf & radio designs in this gallery.
From the project
Custom flight controller PCB designed in KiCad with STM32F7, multiple sensors, CAN, USB, telemetry, PWM and IO interfaces.
A custom-designed flight controller PCB developed for embedded flight-control applications, integrating a high-performance STM32 MCU, multiple inertial and pressure sensors, CAN communication, external flash memory, power management, and dedicated FMU/IO interfaces.
The PCB and schematic were designed using KiCad 9.0.7.
This project focuses on the design and development of a custom flight controller PCB with dedicated interfaces for sensors, communication peripherals, power, debugging, telemetry, PWM outputs, and RC input/output.

Main components on the Custom flight controller
Custom flight controller bill of materials (BOM)
122 components, 56 distinct parts.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | ICM-42688-P | PQFN50P300X250X97-14N | U1 |
| 1 | STM32F765VITx | LQFP-100_14x14mm_P0.5mm | U2 |
| 1 | ICP-20100 | PQFN50P200X200X85-10N | U3 |
| 1 | STM32F103CBTx | LQFP-48_7x7mm_P0.5mm | U4 |
| 1 | BMM150 | WLCSP-12_1.56x1.56mm_P0.4mm | U5 |
| 1 | LM1117DT-3.3 | TO-252-3_TabPin2 | U6 |
| 1 | BMI270 | XDCR_BMI270 | U7 |
| 1 | TLV75733PDBVR | SOT95P280X145-5N | U8 |
| 1 | SN65HVD230 | SOIC-8_3.9x4.9mm_P1.27mm | U9 |
| 1 | W25Q128JVS | SOIC-8_5.3x5.3mm_P1.27mm | U10 |
| 1 | USBLC6-2P6 | SOT-666 | U11 |
| 2 | BC547 | TO-92_Inline | Q1, Q2 |
| 1 | Crystal_GND24 | YSX321SL_YXC | Y1 |
| 1 | Crystal_GND24 | OSC_X322516MLB4SI | Y2 |
| 1 | TELEM1 | JST_GH_BM06B-GHS-TBT_1x06-1MP_P1.25mm_Vertical | J1 |
| 1 | TELEM2 | JST_GH_BM06B-GHS-TBT_1x06-1MP_P1.25mm_Vertical | J2 |
| 1 | SPI_PORT | JST_GH_BM07B-GHS-TBT_1x07-1MP_P1.25mm_Vertical | J3 |
| 1 | USB_OTG | JST_GH_BM04B-GHS-TBT_1x04-1MP_P1.25mm_Vertical | J4 |
| 1 | FMU_PWM | JST_GH_BM10B-GHS-TBT_1x10-1MP_P1.25mm_Vertical | J5 |
| 1 | DEBUG | JST_GH_SM06B-GHS-TB_1x06-1MP_P1.25mm_Horizontal | J6 |
Show 36 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | CAN_CONN | JST_GH_BM04B-GHS-TBT_1x04-1MP_P1.25mm_Vertical | J7 |
| 1 | GPS_PORT | JST_GH_BM10B-GHS-TBT_1x10-1MP_P1.25mm_Vertical | J8 |
| 1 | POWER | JST_GH_BM06B-GHS-TBT_1x06-1MP_P1.25mm_Vertical | J9 |
| 1 | TELEM3 | JST_GH_BM04B-GHS-TBT_1x04-1MP_P1.25mm_Vertical | J10 |
| 1 | I2C_PORT | JST_GH_BM04B-GHS-TBT_1x04-1MP_P1.25mm_Vertical | J11 |
| 1 | UART_I2CB | JST_GH_BM06B-GHS-TBT_1x06-1MP_P1.25mm_Vertical | J12 |
| 1 | IO_PWM | JST_GH_BM10B-GHS-TBT_1x10-1MP_P1.25mm_Vertical | J13 |
| 1 | SBUS_PORT | JST_GH_BM03B-GHS-TBT_1x03-1MP_P1.25mm_Vertical | J14 |
| 1 | IO_DEBUG | JST_GH_SM06B-GHS-TB_1x06-1MP_P1.25mm_Horizontal | J15 |
| 1 | SBUS_IN | JST_GH_BM03B-GHS-TBT_1x03-1MP_P1.25mm_Vertical | J16 |
| 1 | PPM_PORT | JST_GH_BM03B-GHS-TBT_1x03-1MP_P1.25mm_Vertical | J17 |
| 2 | SW_Push | SW_SPST_TL3342 | SW3, SW4 |
| 2 | SS34 | D_SMA | D1, D3 |
| 6 | LED | LED_1206_3216Metric_Pad1.42x1.75mm_HandSolder | D2, D4, D5, D7, D8, D9 |
| 1 | ESD2CANFD24DBZRQ1 | SOT95P237X112-3N | D11 |
| 1 | FerriteBead | BEADC1608X95N | FB2 |
| 27 | 0.1u | C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C1, C4, C5, C6, C7, C9, C12, C14 +19 |
| 3 | 2.2u | C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C2, C10, C11 |
| 1 | 10n | C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C3 |
| 1 | 4.7n | C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C8 |
| 4 | 1u | C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C13, C33, C34, C41 |
| 2 | 8pF | C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C21, C26 |
| 4 | 10u | C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C22, C35, C45, C46 |
| 2 | 2u2 | C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C25, C28 |
| 2 | 18pF | C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C37, C38 |
| 1 | 1u | C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C47 |
| 2 | 60R | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R1, R5 |
| 8 | 4K7 | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R2, R3, R4, R7, R8, R16, R39, R40 |
| 1 | 1k5 | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R6 |
| 7 | 10K | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R9, R11, R14, R17, R25, R27, R30 |
| 1 | 22R | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R12 |
| 1 | 47R | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R15 |
| 4 | 5K1 | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R19, R20, R21, R22 |
| 1 | 150R | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R29 |
| 1 | 4.7k | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R31 |
| 5 | 220R | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R32, R33, R35, R36, R37 |
Custom flight controller design files
The KiCad project lives in the Ekta-Gupta27/custom-flight-controller-pcb repository on GitHub; these links point at the commit this page was built from.
Custom flight controller: common questions
What microcontroller does the Custom flight controller use?
The Custom flight controller is built around the STM32F765VITx, from the STM32 family.
How big is the Custom flight controller PCB?
The Custom flight controller measures 51 × 53.5 mm, has 6 copper layers and is 1.6 mm thick.
How many components are on the Custom flight controller?
122 components, from 56 distinct parts. The full bill of materials is listed on this page.
Where can I download the Custom flight controller design files?
From the Ekta-Gupta27/custom-flight-controller-pcb repository on GitHub, which has the KiCad layout; the links under Design files point to each one.
Can I use the Custom flight controller design in my own project?
The repository has no license, so all rights stay with Ekta-Gupta27. Use it as a reference, and ask the author before reusing the design.
Can I test firmware for the Custom flight controller without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug STM32 firmware against it before you order a PCB.
Similar boards
STM32
LumenPnP Motherboard
opulo-inc
149 × 95 mm296 parts4LCC-BY-SA-4.03.7kSTM32
AxxSolder
AxxAxx
39 × 82.5 mm122 parts2LGPL-3.01.7kSTM32
LibreVNA
jankae
122 × 98 mm592 parts6LGPL-3.01.6kSTM32
AIOC
skuep
21 × 31.5 mm47 parts2LMIT1.4kSTM32
Ferris
pierrechevalier83
208.8 × 86.8 mm102 parts2LSHL-2.11.3kSTM32
176 pin board
rusefi
61.8 × 73.2 mm76 parts2LGPL-3.01.2k