Skip to the content
PCBKitNew board
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.

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

12

README

README.md

STM32H743 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

3D view of the JST-GH board revision

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

  1. Download the repository or clone it with git clone https://github.com/ukinori/flightcontroller.git.
  2. Open flightcontroller.kicad_pro in KiCad 10.
  3. Open flightcontroller.kicad_sch for the schematic hierarchy and flightcontroller.kicad_pcb for the routed board.
  4. Install the standard KiCad symbol and footprint libraries. Project-specific libraries are bundled in FlightController.kicad_sym and FlightController.pretty/ and use ${KIPRJMOD} paths.
  5. In PCB Editor, press Alt+3 to open the 3D Viewer. Keep models/ beside the project and install the standard KiCad 3D model libraries.
  6. 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 containing RU are 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

  1. Complete schematic, layout, power-budget, thermal, mechanical and BOM review.
  2. Select actual servos/BEC and agree the fabrication stack-up and capabilities.
  3. Develop the custom PX4 port and bootloader; configure clocks, sensors, buses, ADC, output timers/DMA and sensor orientations.
  4. Assemble and bring up a prototype using a current-limited 5 V bench supply, initially without ESCs, servos or propellers.
  5. 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
QtyValueFootprintReferences
24100nCapacitor_SMD:C_0603_1608MetricC2, C3, C10, C12, C13, C17, C21, C24, C25, C26, C27, C28, C29, C30, C31, C211 +8
12100Resistor_SMD:R_0603_1608MetricR24, R25, R26, R27, R28, R29, R30, R31, R32, R33, R34, R35
12Conn_01x03Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ5, J6, J7, J8, J9, J10, J11, J12, J13, J14, J15, J16
810kResistor_SMD:R_0603_1608MetricR2, R19, R36, R37, R38, R39, R40, R41
547kResistor_SMD:R_0603_1608MetricR5, R6, R7, R8, R9
41kResistor_SMD:R_0603_1608MetricR17, R18, R20, R21
44.7kResistor_SMD:R_0603_1608MetricR10, R11, R12, R13
31muCapacitor_SMD:C_0603_1608MetricC7, C11, C14
3M3MountingHole:MountingHole_3.2mm_M3H1, H2, H3
210nFCapacitor_SMD:C_0603_1608MetricC19, C20
210uCapacitor_SMD:C_1206_3216MetricC34, C42
218pCapacitor_SMD:C_0603_1608MetricC15, C16
22.2muCapacitor_SMD:C_0805_2012MetricC8, C9
22.2uCapacitor_SMD:C_0805_2012MetricC18, C22
25.1kResistor_SMD:R_0603_1608MetricR3, R4
291k 1%Resistor_SMD:R_0603_1608MetricR14, R15
2BMP390FlightController:10LGA_2X2X0p75_BOSU6, U7
2ICM-42688-PFlightController:LGA14_2P5X3X0P91_TDKU2, U3
2SS14Diode_SMD:D_SMAD2, D4
1100kResistor_SMD:R_0603_1608MetricR23
110k 1%Resistor_SMD:R_0603_1608MetricR16
110uCapacitor_SMD:C_0805_2012MetricC23
110uCapacitor_SMD:C_0603_1608MetricC35
11N4148WDiode_SMD:D_SOD-123D7
12.2kResistor_SMD:R_0603_1608MetricR22
122uCapacitor_SMD:C_1206_3216MetricC32
13.3uInductor_SMD:L_Coilcraft_XAL4030-XXXL1
147Resistor_SMD:R_0603_1608MetricR1
1470u 16VCapacitor_THT:CP_Radial_D8.0mm_P3.50mmC36
14mu7Capacitor_SMD:C_0805_2012MetricC1
15V_REGULATED_INPUTConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ4
18MHzCrystal:Crystal_SMD_Abracon_ABM3-2Pin_5.0x3.2mmY1
1AIRSPEED_I2C4_5VConnector_JST:JST_GH_SM04B-GHS-TB_1x04-1MP_P1.25mm_HorizontalJ21
1BATTERY_SENSE_ONLYConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ23
1BMI088Package_LGA:Bosch_LGA-16_4.5x3mm_P0.5mm_LayoutBorder7x1y_ClockwisePinNumberingU4
1BUZZER_5V_20mA_MAXConnector_JST:JST_GH_SM02B-GHS-TB_1x02-1MP_P1.25mm_HorizontalJ24
1COMPASS_I2C4_5VConnector_JST:JST_GH_SM04B-GHS-TB_1x04-1MP_P1.25mm_HorizontalJ20
1FerriteBeadInductor_SMD:L_0603_1608MetricFB1
1GPS_PIXHAWK_GPS2Connector_JST:JST_GH_SM06B-GHS-TB_1x06-1MP_P1.25mm_HorizontalJ18
1Jumper_2_OpenConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJP1
1MB85RS64Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU5
1MMBT3904Package_TO_SOT_SMD:SOT-23Q1
1Micro_SD_CardConnector_Card:microSD_HC_Hirose_DM3AT-SF-PEJM5J3
1POWER_GREENLED_SMD:LED_0603_1608MetricD5
1RC_UART_GH6_NO_FLOWConnector_JST:JST_GH_SM06B-GHS-TB_1x06-1MP_P1.25mm_HorizontalJ17
1RESETButton_Switch_SMD:SW_SPST_TL3342SW1
1SAFETYButton_Switch_SMD:SW_SPST_TL3342SW2
1SERVO_BEC_6V_INPUTTerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_HorizontalJ22
1SMBJ5.0ADiode_SMD:D_SMBD3
1STATUS_GREENLED_SMD:LED_0603_1608MetricD6
1STM32H743VITxPackage_QFP:LQFP-100_14x14mm_P0.5mmU1
1SWD_CUSTOM_GH5Connector_JST:JST_GH_SM05B-GHS-TB_1x05-1MP_P1.25mm_HorizontalJ1
1TELEM_GH6_NO_FLOWConnector_JST:JST_GH_SM06B-GHS-TB_1x06-1MP_P1.25mm_HorizontalJ19
1TPS62162DSGPackage_SON:WSON-8-1EP_2x2mm_P0.5mm_EP0.9x1.6mm_ThermalViasU8
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U9
1USB_C_Receptacle_USB2.0_14PConnector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_HorizontalJ2

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 mmMythra hub, the printed circuit board in 3D

    Mythra hub

    bad-alloc-heavy-industries/Mythra

    259 parts7BSD-3-Clause
  • 4 layers28 × 55 mmESP32 Custom DevBoard, the printed circuit board in 3D

    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 mmBarbelMotionTracker V1, the printed circuit board in 3D

    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 mmALBERT FLIGHTCOMPUTER, the printed circuit board in 3D

    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 mmAero Zero, the printed circuit board in 3D

    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 mmEntegre fc, the printed circuit board in 3D

    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 mmWeek1, the printed circuit board in 3D

    Week1

    DVeldhurthi/halflifeweek1

    Half Life Week 1: Design PCB

    77 parts
  • 4 layers78 × 48 mmMotherboard rev 3, the printed circuit board in 3D

    Motherboard rev 3

    hpvdt/falcon_motherboard

    Firmware and hardware designs for the Falcon motherboard

    69 parts