Skip to the content
6 layers51 × 53.5 mmCustom fc rat, the printed circuit board in 3D

Custom flight controller PCB designed in KiCad with STM32F7, multiple sensors, CAN, USB, telemetry, PWM and IO interfaces.

Size
51 × 53.5 mm
Copper layers
6
Thickness
1.6 mm
Parts
122
Nets
158
Pads
564
Tracks, vias
2,513, 312
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
29 Aug 2026
Updated
29 Aug 2026

Overview

Custom fc rat is an open-source printed circuit board by Ekta-Gupta27, from the Ekta-Gupta27/custom-flight-controller-pcb repository on GitHub. It is a 6-layer board of 51 × 53.5 mm with 122 parts on 158 nets, routed with 2,513 tracks and 312 vias.

It is built around the SN65HVD230D, BMM150 and ICP-20100, with the W25Q128JVSIQ, BMI270 and ICM-42688-P among its other parts. Its parts include 47 capacitors, 31 resistors, 17 connectors, 11 ICs and 9 diodes. It belongs with the sensors and measurement and robots and motor control boards and the STM32 boards of this library.

Main components

12

README

README.md

Custom Flight Controller PCB

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.


📌 Project Overview

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.

The design is divided into multiple functional sections:

  • Main Flight Management Unit (FMU)
  • IO controller
  • IMU and pressure sensing
  • CAN communication
  • USB connectivity
  • External SPI flash memory
  • Power regulation
  • Telemetry interfaces
  • PWM and RC interfaces
  • Debug/programming interfaces

✨ Key Features

  • Custom PCB designed from schematic to board layout
  • STM32F765VITx main flight controller MCU
  • STM32F103CBTx dedicated IO controller
  • Multiple onboard sensors
  • CAN communication interface
  • USB OTG interface
  • External SPI flash memory
  • Multiple UART interfaces
  • I2C and SPI interfaces
  • PWM output interface
  • SBUS and PPM interfaces
  • Debug/programming interface
  • Dedicated GPS and telemetry connectors
  • Onboard status/safety LEDs
  • 3.3 V and 5 V power domains
  • Multi-layer PCB layout
  • Manufacturing-ready Gerber and drill files

🧠 Hardware Architecture

Main Flight Controller

The primary processing unit is an STM32F765VITx.

The MCU provides the main processing and peripheral interfaces for the flight-control system, including:

  • SPI
  • I2C
  • UART
  • CAN
  • Timer/PWM channels
  • SWD debugging
  • External GPIO

IO Controller

A dedicated STM32F103CBTx is used for the IO section of the design.

The IO controller provides interfaces for:

  • SBUS
  • PPM
  • PWM
  • RC input/output
  • Safety signals
  • Status LEDs
  • Debugging
  • Additional UART interfaces

📡 Sensors

The design incorporates multiple sensors:

ICM-42688-P

6-axis inertial measurement sensor connected through SPI.

BMI270

6-axis inertial sensor with dedicated interrupt and SPI connections.

ICP-20100

Pressure sensor connected through the I2C interface.

BMM150

Magnetic sensor connected through the I2C interface.


🔌 Communication Interfaces

CAN

CAN communication is implemented using the SN65HVD230 transceiver with dedicated CANH and CANL connections and protection circuitry.

USB

A USB OTG interface is provided along with USB ESD protection using USBLC6-2P6.

UART / Telemetry

Dedicated connectors are provided for:

  • TELEM1
  • TELEM2
  • TELEM3
  • UART/I2C interface
  • GPS
  • FMU communication

I2C

Multiple I2C buses are available for sensor and peripheral communication.

SPI

Multiple SPI buses are routed to sensors, flash memory, and external interfaces.


💾 External Flash Memory

The board includes external SPI flash memory:

W25Q128JVS

The flash device is connected to the main MCU through SPI with a dedicated chip-select signal.


⚡ Power Management

The PCB contains dedicated power regulation and filtering circuitry for the different system power domains.

The design includes:

  • 5 V input
  • 3.3 V regulation
  • USB 5 V input
  • External 3.3 V supply
  • Decoupling capacitors
  • Ferrite filtering
  • Power indication circuitry

The schematic includes regulators such as:

  • LM1117DT-3.3
  • TLV75733PDBVR

🎛️ Interfaces & Connectors

InterfacePurpose
GPS_PORTGPS connectivity
POWERPower input
TELEM1Telemetry
TELEM2Telemetry
TELEM3Telemetry
CAN_CONNCAN communication
USB_OTGUSB connectivity
DEBUGDebug/programming
SPI_PORTExternal SPI interface
I2C_PORTExternal I2C interface
UART_I2CBUART/I2C interface
FMU_PWMPWM outputs
IO_PWMIO PWM interface
SBUS_PORTSBUS interface
SBUS_INSBUS input
PPM_PORTPPM input
IO_DEBUGIO debugging

🖥️ PCB Design

3D View – Top

PCB 3D Top

3D View – Bottom

PCB 3D Bottom

PCB Layout

PCB Layout


📐 Schematic

The complete schematic is provided as a multi-page KiCad schematic covering:

  1. FMU / MCU power and peripherals
  2. USB and CAN
  3. IMU and sensor interfaces
  4. IO controller
  5. Safety, RC and PWM interfaces

The PDF version is available in:

docs/schematic.pdf


🏭 Manufacturing Files

The gerbers/ directory contains the manufacturing outputs generated from KiCad, including:

  • Front and back copper
  • Inner copper layers
  • Front and back solder mask
  • Front and back silkscreen
  • Paste layers
  • Board outline
  • Drill files
  • Gerber job file

These files can be supplied to a PCB manufacturer for fabrication.


📦 Bill of Materials

A Bill of Materials generated from the KiCad schematic is included in:

manufacturing/BOM.csv

The BOM contains information such as:

  • Reference designators
  • Component quantity
  • Component value
  • PCB footprint
  • Datasheet information
  • BOM exclusion fields

📁 Repository Structure

text
Custom-FC-RAT/
│
├── README.md
├── custom_fc_rat.kicad_pro
│
├── schematic/
│   └── custom_fc_rat.kicad_sch
│
├── pcb/
│   └── custom_fc_rat.kicad_pcb
│
├── gerbers/
│   ├── *.gbl
│   ├── *.gtl
│   ├── *.gbs
│   ├── *.gts
│   ├── *.gbo
│   ├── *.gto
│   ├── *.gm1
│   ├── *.g1
│   ├── *.g2
│   ├── *.g3
│   ├── *.g4
│   ├── *.drl

🛠️ Design Tools

ToolPurpose
KiCad 9.0.7Schematic & PCB design
KiCad 3D ViewerPCB visualization
KiCad Gerber GeneratorManufacturing file generation

🚀 Future Improvements

Possible future development includes:

  • Hardware validation and bring-up documentation
  • Flight-controller firmware integration
  • Sensor calibration and validation
  • Power integrity testing
  • Communication interface testing
  • EMI/EMC validation
  • Flight testing
  • PCB revisions based on hardware testing

📄 Documentation

The editable KiCad design files and schematic PDF are included so that the hardware design can be inspected and further developed.


👩‍💻 Author

Ekta Gupta

Custom PCB / Flight Controller Design Project


⭐ Project Status

Hardware Design Completed

Schematic, PCB layout, 3D visualization, BOM, and manufacturing files are included in this repository.

Parts

122
QtyValueFootprintReferences
270.1uCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC1, C12, C14, C15, C16, C17, C18, C19, C20, C23, C24, C27, C29, C30, C31, C32 +11
84K7Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR2, R3, R4, R7, R8, R16, R39, R40
6LEDLED_SMD:LED_1206_3216Metric_Pad1.42x1.75mm_HandSolderD2, D4, D5, D7, D8, D9
510KResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR11, R14, R17, R25, R27
5220RResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR32, R33, R35, R36, R37
410uCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC22, C35, C45, C46
41uCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC13, C33, C34, C41
45K1Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR19, R20, R21, R22
32.2uCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC2, C10, C11
210kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR9, R30
218pFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC37, C38
22u2Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC25, C28
260RResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR1, R5
28pFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC21, C26
2BC547Package_TO_SOT_THT:TO-92_InlineQ1, Q2
2SS34Diode_SMD:D_SMAD1, D3
2SW_PushButton_Switch_SMD:SW_SPST_TL3342SW3, SW4
110nCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC3
1150RResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR29
11k5Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR6
11uCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC47
122RResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR12
14.7kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR31
14.7nCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC8
147RResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR15
1BMI270My_Footprints:XDCR_BMI270U7
1BMM150Package_CSP:WLCSP-12_1.56x1.56mm_P0.4mmU5
1CAN_CONNConnector_JST:JST_GH_BM04B-GHS-TBT_1x04-1MP_P1.25mm_VerticalJ7
1Crystal_GND24My_Footprints:OSC_X322516MLB4SIY2
1Crystal_GND24My_Footprints:YSX321SL_YXCY1
1DEBUGConnector_JST:JST_GH_SM06B-GHS-TB_1x06-1MP_P1.25mm_HorizontalJ6
1ESD2CANFD24DBZRQ1My_Footprints:SOT95P237X112-3ND11
1FMU_PWMConnector_JST:JST_GH_BM10B-GHS-TBT_1x10-1MP_P1.25mm_VerticalJ5
1FerriteBeadMy_Footprints:BEADC1608X95NFB2
1GPS_PORTConnector_JST:JST_GH_BM10B-GHS-TBT_1x10-1MP_P1.25mm_VerticalJ8
1I2C_PORTConnector_JST:JST_GH_BM04B-GHS-TBT_1x04-1MP_P1.25mm_VerticalJ11
1ICM-42688-PMy_Footprints:PQFN50P300X250X97-14NU1
1ICP-20100My_Footprints:PQFN50P200X200X85-10NU3
1IO_DEBUGConnector_JST:JST_GH_SM06B-GHS-TB_1x06-1MP_P1.25mm_HorizontalJ15
1IO_PWMConnector_JST:JST_GH_BM10B-GHS-TBT_1x10-1MP_P1.25mm_VerticalJ13
1LM1117DT-3.3Package_TO_SOT_SMD:TO-252-3_TabPin2U6
1POWERConnector_JST:JST_GH_BM06B-GHS-TBT_1x06-1MP_P1.25mm_VerticalJ9
1PPM_PORTConnector_JST:JST_GH_BM03B-GHS-TBT_1x03-1MP_P1.25mm_VerticalJ17
1SBUS_INConnector_JST:JST_GH_BM03B-GHS-TBT_1x03-1MP_P1.25mm_VerticalJ16
1SBUS_PORTConnector_JST:JST_GH_BM03B-GHS-TBT_1x03-1MP_P1.25mm_VerticalJ14
1SN65HVD230Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU9
1SPI_PORTConnector_JST:JST_GH_BM07B-GHS-TBT_1x07-1MP_P1.25mm_VerticalJ3
1STM32F103CBTxPackage_QFP:LQFP-48_7x7mm_P0.5mmU4
1STM32F765VITxPackage_QFP:LQFP-100_14x14mm_P0.5mmU2
1TELEM1Connector_JST:JST_GH_BM06B-GHS-TBT_1x06-1MP_P1.25mm_VerticalJ1
1TELEM2Connector_JST:JST_GH_BM06B-GHS-TBT_1x06-1MP_P1.25mm_VerticalJ2
1TELEM3Connector_JST:JST_GH_BM04B-GHS-TBT_1x04-1MP_P1.25mm_VerticalJ10
1TLV75733PDBVRMy_Footprints:SOT95P280X145-5NU8
1UART_I2CBConnector_JST:JST_GH_BM06B-GHS-TBT_1x06-1MP_P1.25mm_VerticalJ12
1USBLC6-2P6Package_TO_SOT_SMD:SOT-666U11
1USB_OTGConnector_JST:JST_GH_BM04B-GHS-TBT_1x04-1MP_P1.25mm_VerticalJ4
1W25Q128JVSPackage_SO:SOIC-8_5.3x5.3mm_P1.27mmU10

Similar boards

  • 4 layers40 × 65 mmCCM7, the printed circuit board in 3D

    CCM7

    OzanE1/CCM7

    Yeniay Control Computer M7

    129 partsLGPL-2.1
  • 2 layers60 × 60 mmMissionBus, the printed circuit board in 3D

    MissionBus

    wasa-rockoon/WOBC

    WASAロケットプロジェクト 共通電装基盤

    137 parts1MIT
  • 2 layers71.5 × 66 mmDashbox, the printed circuit board in 3D

    Dashbox

    FinnKrieger/dashbox-pcb

    A two-layer dashboard controller board for the USC Formula Electric car. It sits on the vehicle CAN bus, drives the driver-facing dash, and takes its power from the car's 12 V rail.

    38 partsMIT
  • 2 layers106.7 × 36 mmRoll Hoop Board, the printed circuit board in 3D

    Roll Hoop Board

    SCFormulaElectric/USC-Electrical-Systems

    29 parts9
  • 4 layers50 × 70 mmSTM32-FC, the printed circuit board in 3D

    STM32-FC

    NARAE-INHA-UNIV/NARAEON-hw

    STM32-based flight controller designed with KiCAD.

    111 parts3
  • 6 layers40.6 × 40.5 mmFlight Controller, the printed circuit board in 3D

    Flight Controller

    desanv01/Flight-Controller-V2

    STM32H743 controller: regulated power, signal-only ESC, neutral ArduPilot firmware, manufacturing data and engineering history.

    169 partsCERN-OHL-S-2.0
  • 4 layers89.9 × 88.8 mmBigboard, the printed circuit board in 3D

    Bigboard

    mincrmatt12/MWatch

    pebble-style smartwatch os&hardware

    110 parts

Questions

How big is the Custom fc rat PCB?

It measures 51 × 53.5 mm and has 6 copper layers, 1.6 mm thick.

What parts does the Custom fc rat use?

122 parts, built around the SN65HVD230D, BMM150, ICP-20100 and W25Q128JVSIQ. 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 Custom fc rat KiCad files?

From the Ekta-Gupta27/custom-flight-controller-pcb repository on GitHub, at the commit this page was made from: the board is pcb/custom_fc_rat.kicad_pcb and its schematic schematic/custom_fc_rat.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Custom fc rat design in my own project?

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