

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.
- Size
- 70 × 100 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 132
- Nets
- 141
- Pads
- 518
- Tracks, vias
- 3,528, 249
- Pours
- 7
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 21 Oct 2026
- Updated
- 22 Oct 2026
Overview
Flightcontroller is an open-source printed circuit board by ukinori, from the ukinori/flightcontroller repository on GitHub. It is a 4-layer board of 70 × 100 mm with 132 parts on 141 nets, routed with 3,528 tracks and 249 vias.
It is built around the BMP390, MB85RS64PNF-G-JNE1 and TPS62162DSGR, with the DM3AT-SF-PEJM5, ICM-42688-P and BMI088 among its other parts. Its parts include 42 capacitors, 41 resistors, 24 connectors, 9 ICs and 6 diodes. It belongs with the robots and motor control boards and the STM32 boards of this library.
Main components
12BMP390
LGA-10(2x2)-40℃~+85℃ 0.6pa/K 1.5uA 1.65V~3.6V 30Kpa~1.25bar 3pa 50pa I2C、SPI Integrated ADC and digital interface、Standby mode、On-chip temperature output Yes LGA-10(2x2) Pressure Sensors ROHSBosch SensortecPressure SensorsMB85RS64PNF-G-JNE1
SOP-82.7V~3.6V SPI SOP-8 FRAM ROHSRAMXEED/FUJITSUNon-Volatile Memory (ROM)TPS62162DSGR
WSON-8-EP(2x2)-40℃~+125℃@(TJ) 1 17uA 1A 2.25MHz 3.3V 3V~17V Buck Buck Built-in Fixed Yes WSON-8-EP(2x2) DC-DC Converters ROHSTexas InstrumentsDC-DC ConvertersDM3AT-SF-PEJM5
SMD-25℃~+85℃ 1.68mm Connector and Ejector MicroSD Card (TF Card) No Push-Push SMD SD Card / Memory Card Connector ROHSHirose ElectricSD Card / Memory Card ConnectorICM-42688-P
LGA-14(2.5x3)-40℃~+85℃ 1.71V~3.6V 16bit 2KB 7.5uA IMU (accelerometer + gyroscope) SPI、I2C X,Y,Z X,Y,Z ±16g ±2000dps Motion Event Detection, Synchronization, Timestamp Support LGA-14(2.5x3) Accelerometers ROHSTDK InvenSenseAccelerometersBMI088
LGA-16(3x4.5)-40℃~+85℃ Accelerometer Gyroscope LGA-16(3x4.5) Accelerometers ROHSBosch SensortecAccelerometersUSBLC6-2SC6
SOT-23-60.35pF、0.8pF 100nA 150W@8/20us 15V 2 5V 6A@8/20us 6V ESD SOT-23-6 ESD and Surge Protection (TVS/ESD) ROHSUMWESD And Surge Protection (TVS/ESD)SS14
SMA(DO-214AC)-55℃~+150℃ 1A 25A 300uA@40V 40V 550mV@1A Independent SMA(DO-214AC) Schottky Diodes ROHSMDDSchottky Diodes1N4148W
SOD-123150mA 1A 1V@50mA 1uA@75V 400mW 4ns 75V Independent SOD-123 Switching Diodes ROHSSTMicroelectronicsSwitching DiodesXAL4030-332MEC
SMD,4x4mm26mΩ 3.3uH 5.9A 6.6A ±20% SMD,4x4mm Power Inductors ROHSCoilcraftPower InductorsABM3-8.000MHZ-12-D4Y-T
Miniature ceramic SMD crystal.AbraconUncategorisedMMBT3904
SOT-23-55℃~+150℃ 1 NPN 100 100nA 200mA 200mW 300MHz 300mV 40V 6V NPN SOT-23 Bipolar (BJT) ROHSJiangsu Changjing Electronics Technology (CJ)Bipolar (BJT)
README
README.mdSTM32H743 VTOL Flight Controller
Custom four-layer flight-controller hardware for VTOL and fixed-wing aircraft, designed in KiCad 10 around the STM32H743VITx. The intended aircraft configuration is four lift motors, one cruise motor and up to five servos. The hardware has twelve output connectors, allowing spare channels.
Status: routed hardware prototype. PX4 integration is planned; this repository does not contain a completed PX4 board port, bootloader or flight-tested firmware. The board has not been electrically or flight qualified. Design-rule checks do not establish functional or flight safety.
Hardware inspection guide · Board review and bring-up checklist

Current KiCad 3D rendering. Sensor bodies include nominal package envelopes; see 3D model notes.
Hardware
- STM32H743VITx microcontroller, external 8 MHz crystal, SWD and reset/boot access.
- Two ICM-42688-P inertial sensors and one BMI088; BMP390 barometers.
- SPI FRAM and a microSD socket using SDMMC.
- USB-C USB 2.0 device interface with separate CC pull-down resistors and USB protection.
- GPS, telemetry and RC UART connectors; external I2C connectors for compass/airspeed devices.
- Battery-voltage and external current-sense inputs, status indicators, safety input and buzzer circuitry.
- Twelve signal/GND output headers; OUT7–OUT12 also carry a separately supplied servo rail.
- TPS62162DSG fixed 3.3 V buck regulator and a filtered analog supply.
- Approximate board size: 70 × 100 mm; four copper layers; nominal thickness 1.6 mm.
Exact component references, values, connections and footprints are defined by the KiCad sources. The BOM CSV files cover footprint assignments and selected power/crystal/decoupling parts; they are not a fully qualified purchasing BOM.
Open the project
- Download the repository or clone it with
git clone https://github.com/ukinori/flightcontroller.git. - Open flightcontroller.kicad_pro in KiCad 10.
- Open flightcontroller.kicad_sch for the schematic hierarchy and flightcontroller.kicad_pcb for the routed board.
- Install the standard KiCad symbol and footprint libraries. Project-specific libraries are bundled in FlightController.kicad_sym and FlightController.pretty/ and use
${KIPRJMOD}paths. - In PCB Editor, press Alt+3 to open the 3D Viewer. Keep
models/beside the project and install the standard KiCad 3D model libraries. - Refill copper zones and rerun ERC/DRC after making changes.
The root schematic contains MCU, power and interface sheets. The MCU sheet is currently named untitled.kicad_sch; this file is required by the hierarchy.
Power connections
- J4: regulated 5 V input for the controller; pin 1 is +5V and pin 2 is GND.
- The intended 6–12S aircraft battery requires a separate external regulator. Do not connect raw pack voltage to J4.
- USB VBUS and the external supply feed the controller input through diode paths; the onboard converter produces 3.3 V.
- J22: separate regulated 6 V servo supply; pin 1 is VCC_SERVO and pin 2 is GND. The connector footprint is Phoenix Contact 1715721.
- Controller and servo grounds are common. Servo power is independent of the 3.3 V logic supply.
The servo distribution has a provisional 10 A aggregate design target, not a verified current rating. Select actual servos, calculate combined stall/peak current and validate the BEC, connector, wiring, copper thickness, voltage drop and temperature rise before use. Servos/ESCs must accept the controller's signal levels.
Output mapping
Every output header uses pin 1 for signal and pin 3 for GND. Pin 2 is unconnected on OUT1–OUT6; on OUT7–OUT12 it is VCC_SERVO.
- OUT1 — J11 — PE9, through R31.
- OUT2 — J10 — PE11, through R33.
- OUT3 — J9 — PE13, through R30.
- OUT4 — J6 — PE14, through R27.
- OUT5 — J5 — PC6, through R26.
- OUT6 — J7 — PC7, through R35.
- OUT7 — J8 — PD12, through R32.
- OUT8 — J12 — PD13, through R28.
- OUT9 — J13 — PD14, through R34.
- OUT10 — J16 — PD15, through R25.
- OUT11 — J15 — PA0, through R29.
- OUT12 — J14 — PA1, through R24.
The intended allocation is OUT1–OUT5 for five DShot ESCs, OUT7–OUT11 for five PWM servos, and OUT6/OUT12 as spares. Timer, DMA and output-mode support still need implementation and testing in a dedicated PX4 board port.
Other connectors
See the JST-GH wiring guide and connector BOM before making cables.
- J1 SWD (custom 5-pin GH): pin 1 SWDIO, pin 2 SWCLK, pin 3 NRST, pin 4 3.3 V reference, pin 5 GND.
- J18 GPS (6-pin GH, Pixhawk GPS2 signal order): pin 1 +5V, pin 2 controller TX, pin 3 controller RX, pin 4 SCL, pin 5 SDA, pin 6 GND.
- J19 telemetry (6-pin GH): pin 1 +5V, pin 2 controller TX, pin 3 controller RX, pins 4/5 unconnected, pin 6 GND. Hardware RTS/CTS flow control is unavailable.
- J17 RC UART (6-pin GH): pin 1 +5V, pin 2 controller TX, pin 3 controller RX, pins 4/5 unconnected, pin 6 GND. Hardware RTS/CTS flow control is unavailable.
- J20/J21 external I2C (4-pin GH): pin 1 +5V power, pin 2 SCL, pin 3 SDA, pin 4 GND. Pull-ups and logic remain at 3.3 V. These ports and GPS share the external I2C4 bus.
- J24 buzzer (2-pin GH): pin 1 +5V, pin 2 switched buzzer return; intended active buzzer limit 20 mA.
- J23 sensing (original header retained): pin 1 battery-voltage sensing input, pin 2 external 0–3.3 V current-sense signal, pin 3 GND. Confirm the divider range against the actual battery and component ratings before connecting it.
J4, J22, OUT1–OUT12, USB-C and microSD remain unchanged. J23 remains a power-measurement exception because the GH voltage rating is 50 V, below a fully charged 12S pack at 50.4 V. RC and SWD retain custom pinouts and are not interchangeable with Pixhawk RC/debug cables.
TX/RX names refer to the controller. Check the external device's voltage levels and cable pinout; matching connector size does not establish compatibility.
Copper layers
- F.Cu: components and signal/power tracks, GND pours and servo-power copper.
- In1.Cu: GND plane, without ordinary routed tracks.
- In2.Cu: 3.3 V pour plus signal and power routing. It is not an uninterrupted power plane.
- B.Cu: signal/power routing plus +5V and VCC_SERVO pours.
Review the final manufacturer's stack-up, signal return paths, USB/SDMMC routing, converter layout and servo-current distribution before fabrication. Current design minima include 0.15 mm tracks/clearances and 0.20 mm via drills; these require manufacturer confirmation.
Verification snapshot — 2026-10-22
KiCad CLI 10.0.4 checks on the publication snapshot:
- ERC: 0 reported violations.
- DRC: 0 reported physical violations.
- Unconnected items: 0.
- Schematic/PCB parity issues: 0.
The existing project settings ignore some checks. DRC ignores missing_courtyard, track_not_centered_on_via, tuning_profile_track_geometries, footprint_filters_mismatch and footprint_type_mismatch. ERC ignores single_global_label, four_way_junction, simulation_model_issue and footprint_filter. The JSON reports retain this information. Zero findings apply to this configured check set.
Current JST-GH revision reports are verification/ERC-2026-10-22.json and verification/DRC-2026-10-22.json. All 480 schematic pin assignments match the board; the 125 unchanged footprints retain their positions. No check severities were relaxed for this revision. Older reports, images and routing notes are retained as historical records.
Repository contents
- Root KiCad files — flight-controller schematic, PCB and project settings.
FlightController.pretty/,FlightController.kicad_sym— project-local CAD libraries.- CSV/Markdown files — component-selection records, footprint assignments and engineering notes.
verification/— ERC, DRC and net-assignment checks, with dated historical reports.images/flightcontroller-3d.png— current board rendering.models/— nominal ICM42688 and BMP390 package envelopes used by KiCad 3D Viewer.README-JST-GH.md,JST-GH-CONNECTORS.csv— current port wiring and connector parts.docs/PROJECT-RU.md— English hardware inspection and bring-up guide. Legacy filenames containingRUare retained for existing links; all current documentation is in English.meshtransciever/— a separate, unfinished radio/mesh hardware project included from the source folder. Its PCB is a placeholder; it is not part of the flight-controller verification results.
Editor history, restore backups, lock files and machine-specific UI state are excluded. The published project uses a portable symbol-library table with project-relative paths.
Remaining work
- Complete schematic, layout, power-budget, thermal, mechanical and BOM review.
- Select actual servos/BEC and agree the fabrication stack-up and capabilities.
- Develop the custom PX4 port and bootloader; configure clocks, sensors, buses, ADC, output timers/DMA and sensor orientations.
- Assemble and bring up a prototype using a current-limited 5 V bench supply, initially without ESCs, servos or propellers.
- Verify rails, SWD access, clock startup and each peripheral, then test power transients, temperature, vibration, EMC and output behaviour before any aircraft use.
No project-wide license has been added. Existing third-party library notices are retained in their source files.
Parts
132| Qty | Value | Footprint | References |
|---|---|---|---|
| 24 | 100n | Capacitor_SMD:C_0603_1608Metric | C2, C3, C10, C12, C13, C17, C21, C24, C25, C26, C27, C28, C29, C30, C31, C211 +8 |
| 12 | 100 | Resistor_SMD:R_0603_1608Metric | R24, R25, R26, R27, R28, R29, R30, R31, R32, R33, R34, R35 |
| 12 | Conn_01x03 | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J5, J6, J7, J8, J9, J10, J11, J12, J13, J14, J15, J16 |
| 8 | 10k | Resistor_SMD:R_0603_1608Metric | R2, R19, R36, R37, R38, R39, R40, R41 |
| 5 | 47k | Resistor_SMD:R_0603_1608Metric | R5, R6, R7, R8, R9 |
| 4 | 1k | Resistor_SMD:R_0603_1608Metric | R17, R18, R20, R21 |
| 4 | 4.7k | Resistor_SMD:R_0603_1608Metric | R10, R11, R12, R13 |
| 3 | 1mu | Capacitor_SMD:C_0603_1608Metric | C7, C11, C14 |
| 3 | M3 | MountingHole:MountingHole_3.2mm_M3 | H1, H2, H3 |
| 2 | 10nF | Capacitor_SMD:C_0603_1608Metric | C19, C20 |
| 2 | 10u | Capacitor_SMD:C_1206_3216Metric | C34, C42 |
| 2 | 18p | Capacitor_SMD:C_0603_1608Metric | C15, C16 |
| 2 | 2.2mu | Capacitor_SMD:C_0805_2012Metric | C8, C9 |
| 2 | 2.2u | Capacitor_SMD:C_0805_2012Metric | C18, C22 |
| 2 | 5.1k | Resistor_SMD:R_0603_1608Metric | R3, R4 |
| 2 | 91k 1% | Resistor_SMD:R_0603_1608Metric | R14, R15 |
| 2 | BMP390 | FlightController:10LGA_2X2X0p75_BOS | U6, U7 |
| 2 | ICM-42688-P | FlightController:LGA14_2P5X3X0P91_TDK | U2, U3 |
| 2 | SS14 | Diode_SMD:D_SMA | D2, D4 |
| 1 | 100k | Resistor_SMD:R_0603_1608Metric | R23 |
| 1 | 10k 1% | Resistor_SMD:R_0603_1608Metric | R16 |
| 1 | 10u | Capacitor_SMD:C_0805_2012Metric | C23 |
| 1 | 10u | Capacitor_SMD:C_0603_1608Metric | C35 |
| 1 | 1N4148W | Diode_SMD:D_SOD-123 | D7 |
| 1 | 2.2k | Resistor_SMD:R_0603_1608Metric | R22 |
| 1 | 22u | Capacitor_SMD:C_1206_3216Metric | C32 |
| 1 | 3.3u | Inductor_SMD:L_Coilcraft_XAL4030-XXX | L1 |
| 1 | 47 | Resistor_SMD:R_0603_1608Metric | R1 |
| 1 | 470u 16V | Capacitor_THT:CP_Radial_D8.0mm_P3.50mm | C36 |
| 1 | 4mu7 | Capacitor_SMD:C_0805_2012Metric | C1 |
| 1 | 5V_REGULATED_INPUT | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J4 |
| 1 | 8MHz | Crystal:Crystal_SMD_Abracon_ABM3-2Pin_5.0x3.2mm | Y1 |
| 1 | AIRSPEED_I2C4_5V | Connector_JST:JST_GH_SM04B-GHS-TB_1x04-1MP_P1.25mm_Horizontal | J21 |
| 1 | BATTERY_SENSE_ONLY | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J23 |
| 1 | BMI088 | Package_LGA:Bosch_LGA-16_4.5x3mm_P0.5mm_LayoutBorder7x1y_ClockwisePinNumbering | U4 |
| 1 | BUZZER_5V_20mA_MAX | Connector_JST:JST_GH_SM02B-GHS-TB_1x02-1MP_P1.25mm_Horizontal | J24 |
| 1 | COMPASS_I2C4_5V | Connector_JST:JST_GH_SM04B-GHS-TB_1x04-1MP_P1.25mm_Horizontal | J20 |
| 1 | FerriteBead | Inductor_SMD:L_0603_1608Metric | FB1 |
| 1 | GPS_PIXHAWK_GPS2 | Connector_JST:JST_GH_SM06B-GHS-TB_1x06-1MP_P1.25mm_Horizontal | J18 |
| 1 | Jumper_2_Open | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | JP1 |
| 1 | MB85RS64 | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U5 |
| 1 | MMBT3904 | Package_TO_SOT_SMD:SOT-23 | Q1 |
| 1 | Micro_SD_Card | Connector_Card:microSD_HC_Hirose_DM3AT-SF-PEJM5 | J3 |
| 1 | POWER_GREEN | LED_SMD:LED_0603_1608Metric | D5 |
| 1 | RC_UART_GH6_NO_FLOW | Connector_JST:JST_GH_SM06B-GHS-TB_1x06-1MP_P1.25mm_Horizontal | J17 |
| 1 | RESET | Button_Switch_SMD:SW_SPST_TL3342 | SW1 |
| 1 | SAFETY | Button_Switch_SMD:SW_SPST_TL3342 | SW2 |
| 1 | SERVO_BEC_6V_INPUT | TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_Horizontal | J22 |
| 1 | SMBJ5.0A | Diode_SMD:D_SMB | D3 |
| 1 | STATUS_GREEN | LED_SMD:LED_0603_1608Metric | D6 |
| 1 | STM32H743VITx | Package_QFP:LQFP-100_14x14mm_P0.5mm | U1 |
| 1 | SWD_CUSTOM_GH5 | Connector_JST:JST_GH_SM05B-GHS-TB_1x05-1MP_P1.25mm_Horizontal | J1 |
| 1 | TELEM_GH6_NO_FLOW | Connector_JST:JST_GH_SM06B-GHS-TB_1x06-1MP_P1.25mm_Horizontal | J19 |
| 1 | TPS62162DSG | Package_SON:WSON-8-1EP_2x2mm_P0.5mm_EP0.9x1.6mm_ThermalVias | U8 |
| 1 | USBLC6-2SC6 | Package_TO_SOT_SMD:SOT-23-6 | U9 |
| 1 | USB_C_Receptacle_USB2.0_14P | Connector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal | J2 |
Questions
How big is the Flightcontroller PCB?
It measures 70 × 100 mm and has 4 copper layers, 1.6 mm thick.
What parts does the Flightcontroller use?
132 parts, built around the BMP390, MB85RS64PNF-G-JNE1, TPS62162DSGR and DM3AT-SF-PEJM5. 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 Flightcontroller KiCad files?
From the ukinori/flightcontroller repository on GitHub, at the commit this page was made from: the board is flightcontroller.kicad_pcb and its schematic flightcontroller.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Flightcontroller design in my own project?
Its repository states no licence, so its author keeps all rights: ask ukinori before reusing the design.
Similar boards
- 6 layers128 × 91 mm

- 4 layers28 × 55 mm

ESP32 Custom DevBoard
nakul-biovaco/ESP32-Custom-PCB
Production-Grade 4-Layer ESP32-WROOM-32E Custom Development Board with Synchronous Buck Converter & Type-C (KiCad 8/10, JLCPCB PCBA Ready)
52 parts1MIT - 4 layers40 × 80 mm

BarbelMotionTracker V1
ThorbenH/ba-thesis-project
This git project is dedicated to a prototype implementation that attempts to track and evaluate the motion of a barbell in the gym.
123 parts - 4 layers73 × 98 mm

ALBERT FLIGHTCOMPUTER
felixznr/ALBERT
Albert I was a rhesus macaque monkey and the first mammal launched on a rocket (V-2 Rocket "Blossom No. 3") on June 18, 1948.
161 partsMIT - 4 layers65 × 40.1 mm

Aero Zero
ChladpavPy/Aero-Zero
I started this project, because I wanted to build fully autonomous ai drone. When I looked at the flight controllers available on the market, they were full of hardware that I just do not need or just that I could not…
97 parts - 4 layers102.8 × 67 mm

Entegre fc
ErdemA33/stm32f405-flight-controller
Open-source ArduPilot-compatible flight controller for fixed-wing UAVs. STM32F405, 4-layer KiCad design, built in 5 modular stages.
129 parts3 - 4 layers60 × 60 mm

- 4 layers78 × 48 mm

Motherboard rev 3
hpvdt/falcon_motherboard
Firmware and hardware designs for the Falcon motherboard
69 parts