Skip to the content
4 layers102.8 × 67 mmEntegre fc, the printed circuit board in 3D

Open-source ArduPilot-compatible flight controller for fixed-wing UAVs. STM32F405, 4-layer KiCad design, built in 5 modular stages.

Size
102.8 × 67 mm
Copper layers
4
Thickness
1.6 mm
Parts
129
Nets
103
Pads
463
Tracks, vias
933, 204
Pours
7
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
2 Aug 2026
Updated
2 Aug 2026

Overview

Entegre fc is an open-source printed circuit board by ErdemA33, from the ErdemA33/stm32f405-flight-controller repository on GitHub. It is a 4-layer board of 102.8 × 67 mm with 129 parts on 103 nets, routed with 933 tracks and 204 vias.

It is built around the DPS310XTSA1, INA286AID and LM61460AANRJRR, with the LMR33630ADDA, W25Q128JVSIQ and AMS1117-3.3 among its other parts. Its parts include 52 capacitors, 33 resistors, 23 connectors, 8 ICs and 6 diodes. It belongs with the robots and motor control boards and the STM32 boards of this library.

Main components

12

README

README.md

ArduPilot Fixed-Wing Flight Controller

An open-source, ArduPilot-compatible flight controller for fixed-wing UAVs. STM32F405-based, 4-layer, designed in KiCad.

Status: Design complete. The board has not been manufactured or tested yet. Verify independently before use.


Specifications

MCUSTM32F405RGT6, LQFP-64, 168 MHz
IMUICM-42688-P (SPI1)
BarometerDPS310 (SPI1)
FlashW25Q128JV, 16 MB for logging (SPI1)
Input3S–6S LiPo (9–25.2 V), XT60PW
Logic rail5 V / 2 A — LMR33630
Servo rail5 V / 6 A — LM61460
3.3 VLDO with diode-OR (USB or battery)
Current sensingINA286, dual parallel 0.5 mΩ shunts, 80 A
Voltage sensing91k/10k divider with RC filter
Servo outputs8 channels
UART4× JST-GH 6-pin
I2C2× JST-GH 4-pin
OtherUSB-C, SWD, buzzer, WS2812 LED, safety switch
PCB4 layers, 2 oz outer copper

Modular design approach

Rather than jumping straight to the integrated board, the design was built in five stages. Each stage was laid out and verified as a separate PCB, which kept errors isolated to small boards.

DirectoryStageContents
MCU/1STM32F405 breakout — MCU, crystal, USB, SWD
sensor_board/2IMU, barometer, flash — SPI bus verification
power_board/3Power input, protection, dual buck, current/voltage sensing
Input_Output/4Servo outputs, UART/I2C connectors, buzzer, LED
entegre_fc/5Everything combined on a single PCB
external_components/—Third-party symbol and footprint libraries

Pin map

Pins were grouped by package edge to simplify PCB routing.

Servo outputs

ChannelPinTimerDefault function
1PB14TIM12_CH1Flaperon left
2PB15TIM12_CH2Flaperon right
3PC6TIM8_CH1Elevator
4PC7TIM8_CH2Rudder
5PC8TIM8_CH3Payload servo 1
6PC9TIM8_CH4Payload servo 2
7PA8TIM1_CH1Throttle (ESC)
8PA15TIM2_CH1Spare

Flaperons share a timer group so both surfaces are driven at the same PWM rate. The ESC channel sits on its own timer so DShot can be enabled later without affecting the servo outputs.

Sensors (SPI1)

FunctionPin
SCK / MISO / MOSIPA5 / PA6 / PA7
CS_IMUPA4
CS_BAROPC4
CS_FLASHPC5
IMU_INTPB2

Communication

InterfacePins
UART1PC10 / PC11
UART2PC12 / PD2
UART3PB6 / PB7
UART4PA0 / PA1
I2C1PB8 / PB9
I2C2PB10 / PB11

Miscellaneous

FunctionPin
V_SENSEPC0
I_SENSEPC1
USB VBUS detectPC2
USB DM / DPPA11 / PA12
SWDIO / SWCLKPA13 / PA14
BuzzerPC13
Safety switchPC14
Safety LEDPC15
WS2812 LEDPB4

Unused pins: PA2, PA3, PA9, PA10, PB0, PB1, PB3, PB5, PB12, PB13, PC3


Layer stackup

LayerContents
L1 (F.Cu)Components, high-current polygons, short signals
L2 (In1)Uninterrupted ground plane
L3 (In2)Power regions: VIN, +5V_LOGIC, +5V_SERVO, +3V3
L4 (B.Cu)Long signal runs, ground pour

The sensor block sits diagonally opposite the switching regulators. Sensitive analog traces (V_SENSE, I_SENSE) are routed on the opposite side of the ground plane from the switching nodes.


ArduPilot parameters

ParameterValueNotes
BATT_VOLT_MULT10.191kΩ/10kΩ divider
BATT_AMP_PERVLT40INA286 at 100 V/V, dual 0.5 mΩ shunts
BATT_AMP_OFFSET0

Calibrate against a multimeter after assembly.


Design notes

The ESC header's power pin is intentionally left floating. This prevents the ESC's internal BEC from fighting the on-board servo rail. Cube Orange uses the same approach.

No RTC crystal. ArduPilot gets time from GPS, so the 32.768 kHz oscillator was omitted, freeing two GPIO pins.

SWD is preserved. PA13/PA14 could have been repurposed under pin pressure, but keeping debug access on a first-revision board was judged more valuable.

Kelvin connections for current sensing. Sense traces tap the inner edges of the shunt pads symmetrically, so copper resistance doesn't corrupt the measurement.


Requirements

  • KiCad 8 or newer
  • Libraries in external_components/ must be added to the project

Manufacturing

Targeted at JLCPCB. 4 layers, 2 oz outer copper.

Before exporting Gerbers, inspect the inner layers visually — particularly the L3 power regions. DRC does not always catch inner-layer zone geometry issues.


License

CERN-OHL-S v2


Roadmap

  • Fabricate the board
  • Verify power rails
  • Flash bootloader and ArduPilot
  • Verify sensor readings
  • Calibrate current and voltage sensing
  • Write hwdef.dat
  • HIL and flight testing

Parts

129
QtyValueFootprintReferences
14100nFCapacitor_SMD:C_0603_1608MetricC4, C5, C6, C7, C8, C10, C15, C25, C29, C30, C38, C40, C52, C53
10Conn_01x03_PinConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ12, J13, J14, J15, J16, J17, J18, J19, J29, J30
722µFCapacitor_SMD:C_1210_3225MetricC12, C14, C28, C33, C35, C37, C39
6100kResistor_SMD:R_0603_1608MetricR8, R9, R11, R20, R22, R29
6100nFCapacitor_SMD:C_0402_1005MetricC26, C27, C45, C48, C49, C50
510µFCapacitor_SMD:C_1210_3225MetricC11, C13, C34, C36, C42
41µFCapacitor_SMD:C_0603_1608MetricC9, C17, C32, C43
44.7kResistor_SMD:R_0603_1608MetricR26, R27, R36, R37
4Conn_01x06_PinConnector_JST:JST_GH_SM06B-GHS-TB_1x06-1MP_P1.25mm_HorizontalJ22, J23, J24, J25
310kResistor_SMD:R_0402_1005MetricR23, R24, R25
20.0005Resistor_SMD:R_2512_6332MetricR14, R15
210Resistor_SMD:R_0402_1005MetricR12, R13
2100nFCapacitor_SMD:C_0805_2012MetricC55, C57
210kResistor_SMD:R_0603_1608MetricR2, R19
210µFCapacitor_SMD:C_0805_2012MetricC47, C54
22.2µFCapacitor_SMD:C_0805_2012MetricC19, C20
220pFCapacitor_SMD:C_0603_1608MetricC21, C22
222ΩResistor_SMD:R_0603_1608MetricR3, R4
224.9kResistor_SMD:R_0603_1608MetricR10, R21
2330ΩResistor_SMD:R_0603_1608MetricR30, R31
25.1kResistor_SMD:R_0805_2012MetricR33, R34
2Conn_01x02_PinConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ21, J26
2Conn_01x04_PinConnector_JST:JST_GH_SM04B-GHS-TB_1x04-1MP_P1.25mm_HorizontalJ27, J28
2SS14Diode_SMD:D_SMAD6, D8
10Resistor_SMD:R_0603_1608MetricR16
1100ΩResistor_SMD:R_0603_1608MetricR28
110KResistor_SMD:R_0603_1608MetricR32
110nFCapacitor_SMD:C_0402_1005MetricC44
110nFCapacitor_SMD:C_0603_1608MetricC18
110µHInductor_SMD:L_Bourns_SRP7028A_7.3x6.6mmL1
11N4148WDiode_SMD:D_SOD-123D5
11kResistor_SMD:R_0805_2012MetricR35
12.2µFCapacitor_SMD:C_0603_1608MetricC46
122µFCapacitor_SMD:C_0805_2012MetricC56
12N7002Package_TO_SOT_SMD:SOT-23Q2
133.2kResistor_SMD:R_0603_1608MetricR17
14.7µFCapacitor_SMD:C_0805_2012MetricC16
1470µFCapacitor_SMD:CP_Elec_8x10.5C41
1470µF/10VCapacitor_SMD:CP_Elec_8x10C51
16.8µHInductor_SMD:L_TDK_SLF12575L2
18MHzCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
191kResistor_SMD:R_0603_1608MetricR18
1AMS1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U9
1BOOT0 jumperConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ2
1C_PolarizedCapacitor_SMD:CP_Elec_8x10.5C31
1DPS310XTSA1Snapeda:XDCR_DPS310XTSA1U7
1D_ZenerDiode_SMD:D_SOD-123D3
1FerriteInductor_SMD:L_0805_2012MetricFB1
1ICM-42688-PSnapeda:PQFN50P300X250X97-14NU6
1INA286Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU4
1LEDLED_SMD:LED_0805_2012MetricD7
1LM61460AANRJRRSnapeda:IC_LM61460AANRJRRU5
1LMR33630ADDAPackage_SO:Texas_HSOP-8-1EP_3.9x4.9mm_P1.27mm_ThermalViasU3
1Q_PMOS_GDSPackage_TO_SOT_SMD:TO-252-3_TabPin4Q1
1ResetButton_Switch_SMD:SW_SPST_TL3342SW1
1SMBJ5.0ADiode_SMD:D_SMBD4
1STM32F405RGTxPackage_QFP:LQFP-64_10x10mm_P0.5mmU1
1SWDConnector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_VerticalJ4
1USB_C_Receptacle_USB2.0_16PConnector_USB:USB_C_Receptacle_XKB_U262-16XN-4BVC11J31
1W25Q128JVSPackage_SO:SOIC-8_5.3x5.3mm_P1.27mmU8
1XT60PW-FSnapeda:AMASS_XT60PW-FJ7
1XT60PW-MSnapeda:AMASS_XT60PW-MJ8

More from ErdemA33/stm32f405-flight-controller

4
  • 4 layers69.9 × 75.7 mmPower board, the printed circuit board in 3D

    Power board

    ErdemA33/stm32f405-flight-controller

    Open-source ArduPilot-compatible flight controller for fixed-wing UAVs. STM32F405, 4-layer KiCad design, built in 5 modular stages.

    56 parts3
  • 4 layers70 × 52 mmFlight controller, the printed circuit board in 3D

    Flight controller

    ErdemA33/stm32f405-flight-controller

    Open-source ArduPilot-compatible flight controller for fixed-wing UAVs. STM32F405, 4-layer KiCad design, built in 5 modular stages.

    39 parts3
  • 4 layers75.8 × 60.3 mmInput Output, the printed circuit board in 3D

    Input Output

    ErdemA33/stm32f405-flight-controller

    Open-source ArduPilot-compatible flight controller for fixed-wing UAVs. STM32F405, 4-layer KiCad design, built in 5 modular stages.

    35 parts3
  • 4 layers26 × 24 mmSensor board, the printed circuit board in 3D

    Sensor board

    ErdemA33/stm32f405-flight-controller

    Open-source ArduPilot-compatible flight controller for fixed-wing UAVs. STM32F405, 4-layer KiCad design, built in 5 modular stages.

    18 parts3

Similar boards

  • 2 layers51 × 54 mmBoard1-pdb, the printed circuit board in 3D

    Board1-pdb

    hugo-juarez/fc-pcb

    Flight controller's project PCB

    32 parts
  • 4 layers70 × 100 mmFlightcontroller, the printed circuit board in 3D

    Flightcontroller

    ukinori/flightcontroller

    STM32H743 VTOL/fixed-wing flight-controller hardware in KiCad 10: routed 4-layer PCB, schematics, BOM notes, connector pinouts and verification reports. Experimental prototype; PX4 port planned.

    132 parts
  • 4 layers48.9 × 49.8 mmFC REV2, the printed circuit board in 3D

    FC REV2

    xXsenseiXx/KHATAF-F411

    Open-hardware 4-layer STM32F411 drone flight controller designed in KiCad for INAV and Betaflight.

    73 parts2
  • 2 layers149 × 65 mmFlight controller, the printed circuit board in 3D

    Flight controller

    DinosaurPotato534/Project-Albatross

    birb

    155 parts
  • 4 layers105.3 × 75.1 mmFriedSalmon2040, the printed circuit board in 3D

    FriedSalmon2040

    Fisheiyy/FriedSalmon2040

    A, probably partially-functional, RP2040 based, 3D Printer Motherboard.

    184 parts3
  • 4 layers50 × 50 mmFlightController Drone, the printed circuit board in 3D

    FlightController Drone

    damnitzhemanth-oss/Flight_Controller

    Custom STM based flightcontroller designed from scratch.

    157 parts
  • 4 layers36 × 36 mmFc f405, the printed circuit board in 3D

    Fc f405

    fkontiebo/flight-controller

    Contrôleur de vol 4 layers basé sur STM32F405RGT6, conçu comme plateforme de navigation autonome avec bus CAN.

    97 partsMIT

Questions

How big is the Entegre fc PCB?

It measures 102.8 × 67 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Entegre fc use?

129 parts, built around the DPS310XTSA1, INA286AID, LM61460AANRJRR and LMR33630ADDA. 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 Entegre fc KiCad files?

From the ErdemA33/stm32f405-flight-controller repository on GitHub, at the commit this page was made from: the board is entegre_fc/entegre_fc.kicad_pcb and its schematic Input_Output/Input_Output.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Entegre fc design in my own project?

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