Skip to the content
PCBKitNew board
6 layers120.9 × 90 mmSvayamV3 IIK, the printed circuit board in 3D

A servo-based UAV flight controller built around the STM32H743IIK6 (Cortex-M7, UFBGA-201, 0.65 mm pitch). The board distributes power to a fixed-wing/multirotor airframe with 16 PWM servo outputs, redundant IMU and…

Size
120.9 × 90 mm
Copper layers
6
Thickness
1.56 mm
Parts
290
Nets
263
Pads
1,064
Tracks, vias
2,918, 424
Pours
8
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
25 Oct 2026
Updated
4 Nov 2026

Overview

SvayamV3 IIK is an open-source printed circuit board by si-nalsal, from the si-nalsal/pcb-mantis repository on GitHub, published under the CERN-OHL-S-2.0 licence. It is a 6-layer board of 120.9 × 90 mm with 290 parts on 263 nets, routed with 2,918 tracks and 424 vias.

It is built around the BMM150, BMP388 and DPS310XTSA1, with the TPS2553DBVT-1, RT9080-33GJ5 and TJA1051TK/3/1 among its other parts. Its parts include 114 capacitors, 101 resistors, 31 connectors, 20 ICs and 7 diodes.

Main components

12

README

README.md

SvayamV3_IIK — STM32H743 Flight Controller

6-layer · 125 × 90 mm · STM32H743IIK6 · 16 servo channels · 9 protected peripheral ports

PCB top view

⚠️ Design status: layout in progress — not fabrication-ready

Schematic is complete and frozen (ERC 0 errors). Placement is finalised and every functional net is electrically connected (unconnected_items = 0), but DRC still reports 2 shorts — both vias sitting inside one unassigned connector MP pad — plus vias and drills outside the current rule set. Do not order boards from this revision. See docs/STATUS.md.


Contents


What this is

A servo-based UAV flight controller built around the STM32H743IIK6 (Cortex-M7, UFBGA-201, 0.65 mm pitch). The board distributes power to a fixed-wing/multirotor airframe with 16 PWM servo outputs, redundant IMU and barometer sensing, dual CAN, USB-C, micro-SD logging, and nine current-limited peripheral ports for GPS, telemetry radios, and external sensors.

Design priorities, in order:

  1. Repairability — silkscreen carries function labels (Channel 1…Channel 16, TELEM1, GPS, SBUS, …) instead of values; component values live on the F.Fab layer so they stay readable in the editor and in fab documentation without cluttering the assembled board.
  2. Survivability — every external port sits behind a TPS2553 current limiter; TVS diodes on the battery and servo rails; separate LDO domains for FMU and sensors.
  3. Do-no-harm to the airframe — the +VSERVO rail is fail-last: it has no on-board source and no series fuse, so a failed BEC cannot brown out the flight controller.

Board specifications

ParameterValueSource
Board size125.15 × 89.96 mm (11,258 mm²)kicad-cli pcb export stats
Layers6 — F.Cu / In1.Cu / In2.Cu / In3.Cu / In4.Cu / B.Cuboard setup
Finished thickness1.5584 mmboard setup
Copper weight1 oz outer (35 µm), 0.5 oz inner (15.2 µm)board setup
Target stackupJLCPCB JLC06161H-3313 (3313 / FR4 / 2116 prepregs)docs/STACKUP.md
Surface finishENIGboard setup
MCUSTM32H743IIK6 — UFBGA-201, 10 × 10 mm, 0.65 mm pitchU1
HSE crystal8 MHz, SMD5032-2PY1 (X50328MSB2GI)
Minimum track width0.10 mm (BGA fan-out only)DRC report
Minimum drill0.15 mm (BGA fan-out vias)DRC report
Vias475 through-hole (0.30 / 0.20 / 0.15 mm drill)board stats
Pads1,005 SMD · 63 THT · 6 NPTHboard stats
Component placements290 (190 front / 100 back)board stats
Design rulesSvayamV3_IIK.kicad_dru — global 0.127 mm, BGA rule area, net classesproject

Hardware architecture

Compute and storage

RefPartFunction
U1STM32H743IIK6Cortex-M7 FMU, 480 MHz
U2FM25CL64B64 kbit FRAM for parameters (SPI)
J10Molex 104031-0811micro-SD card, card-detect
J71×05 2.54 mmSWD / debug service header
Y1X50328MSB2GI8 MHz HSE crystal (U1 PH0/PH1)

Sensing — redundant by design

RefPartFunction
U7BMI088IMU #1 (accel + gyro)
U8BMI270IMU #2
U5BMP388barometer #1
U6DPS310XTSA1barometer #2
U9BMM150magnetometer (WLCSP-12)

The sensor block is laid out as its own quiet zone with a dedicated +3V3_SENS domain and local copper pour, kept away from the switching regulator.

Power chain

text
POWER1 (J9) ─┐
             ├─► U10 TPS2120  power mux ─► U11 TPS63070  buck-boost 5 V ─► U14 AP22804 ─► +5V_PERIPH
POWER2 (J16)─┘        (ILIM R24 = 33k)          (R27/R28 → 4.99 V)                        │
                                                                                          ├─► U16…U24  9× TPS2553 current limiters
                                                                                          │     GPS · TELEM1 · TELEM2 · SERIAL4 ·
                                                                                          │     SERIAL5 · I2C · CAN · CAN2 · SPI
                                              U12 RT9080 ─► +3V3_FMU  (MCU, IO)            │
                                              U13 RT9080 ─► +3V3_SENS (sensor zone)        │
                                              U15 USBLC6-2SC6 ─► USB-C ESD              +VSERVO
                                                                                          (external BEC, fail-last)
  • TVS: D4/D5 on +VBRICK1/+VBRICK2, D8 SMAJ6.0A on +VSERVO.
  • +VSERVO reservoir: C78 220 µF bulk + 16 × 1 µF per channel.
  • Per-port trip current is set by each limiter's RILIM: U16 R84 33k, U17 R85 33k, U18 R86 75k, U19 R87 75k, U20 R88 110k, U21 R89 47k, U22 R90 56k, U23 R91 110k, U24 R92 47k.

Connectors

PurposeRefPurposeRef
POWER1J9POWER2J16
RCIN / SBUSJ6GPSJ2
TELEM1J4TELEM2J5
SERIAL4J8SERIAL5J14
I2CJ17SPIJ3
CANJ13CAN2J18
SAFETYJ15BUZZERJ11
ADCJ12SD cardJ10
USB-CJ1SWD serviceJ7

Servo outputs J19–J34 (JST-XH B3B-XH-A, 2.50 mm, pin order S / V+ / GND) map Channel 1…Channel 16 in physical order along the board edge.


Repository layout

text
.
├── SvayamV3_IIK.kicad_pro      # KiCad 10 project
├── SvayamV3_IIK.kicad_sch      # root sheet
│   ├── microcontroller.kicad_sch
│   ├── sensor.kicad_sch
│   ├── power.kicad_sch
│   └── connector.kicad_sch
├── SvayamV3_IIK.kicad_pcb      # 6-layer board
├── SvayamV3_IIK.kicad_dru      # custom DRC rules (global + BGA rule area)
├── fp-lib-table                # project footprint table (${KIPRJMOD})
├── sym-lib-table               # project symbol table (${KIPRJMOD})
├── Library/                    # custom + converted libraries (symbols, footprints, 3D)
├── docs/
│   ├── schematic.pdf           # full multi-sheet schematic (exported)
│   ├── STATUS.md               # live status + open DRC items
│   ├── DESIGN.md               # design decisions and their rationale
│   ├── STACKUP.md              # layer stackup and impedance notes
│   ├── board-stats.txt         # kicad-cli board statistics
│   ├── bom.csv                 # BOM (grouped by value + footprint)
│   ├── images/                 # PCB previews for this README
│   └── reports/                # dated ERC / DRC reports
└── fabrication/
    └── README.md               # fab gate, export commands, JLCPCB notes

Machine-local working files (.history/, output/, *-backups/, *.kicad_prl, .deepseek-sources/) are deliberately not tracked — see .gitignore.


Documentation

DocumentWhat it answers
docs/STATUS.mdWhere the design is right now; open DRC items; next steps
docs/DESIGN.mdWhy the power chain, limiter setpoints and sensor redundancy look like this
docs/STACKUP.mdLayer order, dielectrics, trace width / current table, via classes
docs/schematic.pdfPrintable schematic, all four sheets
docs/bom.csvBOM — 88 line items (49 still need an MPN)
docs/reports/Raw kicad-cli ERC and DRC output, dated
fabrication/README.mdWhat must pass before gerbers may be exported

Opening the project

  1. KiCad 10.0 or newer (generator_version 10.0, format 20260206). Older KiCad cannot open the project.
  2. Open SvayamV3_IIK.kicad_pro. Both library tables resolve through ${KIPRJMOD}, so the project is self-contained — no global library setup required.
  3. Run Tools → Update PCB from Schematic (F8) only if the PCB and schematic have drifted; on a clean checkout they are in parity (0 issues).

Known limitation: sym-lib-table registers the custom library under the nickname Svayam_Symbol, while the schematic references it as Svayam, and a stale tps63070 entry points at a footprint directory. Symbols are embedded in the sheets, so the project opens and plots correctly — but ERC will report 9 lib_symbol_issues warnings until the table nickname is aligned. See docs/STATUS.md.


Board statistics

Numbers below come straight from kicad-cli pcb export stats and the ERC/DRC reports in docs/reports/:

MetricValue
Footprints290 (190 front, 100 back — 19 THT, 267 SMD, 4 mechanical)
Nets262 (203 carry copper, 59 are single-pin NC)
Nodes1,005
Track segments2,897
Vias475 through-hole
Copper zones8
ERC0 errors / 17 warnings (all library-symbol cosmetics)
DRC752 findings (313 error / 439 warning) — see below for the ones that matter
Schematic parity0 issues

Fabrication

No gerbers are published for this revision — the design is not ready to order. The release gate and exact commands live in fabrication/README.md.

Intended process: JLCPCB, 6 layers, 1.6 mm, ENIG, stackup JLC06161H-3313.


Open items before fabrication

#ItemCountNotes
1shorting_items2both are +5V_PERIPH vias inside the left MP pad of J17 — not a live short while MP is unassigned, but move them before tying MP to GND
2unconnected_items7 → 0closed 2026-10-25: R1/J9/C24 GND, U1 pad K4 (an MCU VDD pin), +VBRICK1/2, SPI1_MISO
3drill_out_of_range60.15 mm fan-out vias vs 0.20 mm rule floor — confirm fab tier before ordering
4track_width1990.10 mm tracks outside the U1_BGA rule area (151 F.Cu, 48 B.Cu) — enlarge the rule area or raise the global minimum
5clearance / hole_clearance27 / 24BGA fan-out, 0.10–0.12 mm actual vs 0.12–0.33 mm rule
6courtyards_overlap7R84–R92 sit inside their connector courtyards
7silk_overlap / silk_over_copper199 / 55Cosmetic; clean up with Autoplace Fields at the end
8lib_footprint_mismatch119Footprint cache drift, not a geometry error
9BOM sourcing49 / 88Line items without an MPN; LCSC field still empty
10Mounting holes4H1–H4 still parked outside the board outline at X = 223.78 mm

Full detail: docs/reports/drc-2026-10-25.txt.


Design references

  • PCB Design Tutorial, Rev. A — David L. Jones — track width / current tables, copper pour practice, silkscreen conventions.
  • IPC-2221 — conductor spacing and current capacity.
  • JST XH series datasheet — 3 A per contact (AWG22) limit used to size the servo stubs.
  • Component datasheets: STM32H743II, TPS63070, TPS2120, TPS2553-Q1, AP22804, RT9080, BMI088, BMI270, BMP388, DPS310, BMM150, FM25CL64B, TJA1051.

License

Hardware design files are released under CERN-OHL-S-2.0 — see LICENSE. You may study, modify, manufacture and distribute the design, provided derivative hardware is released under the same licence.


Credits

Designed and routed in KiCad 10.0. Schematic symbols and footprints for the custom sensors and connectors were converted with easyeda2kicad and vendored into Library/.

Parts

290
QtyValueFootprintReferences
54100nCapacitor_SMD:C_0402_1005MetricC2, C10, C11, C12, C14, C15, C18, C20, C21, C22, C23, C24, C25, C26, C27, C28 +38
381uCapacitor_SMD:C_0603_1608MetricC1, C100, C101, C102, C103, C104, C105, C106, C107, C108, C109, C110, C111, C112, C113, C114 +22
36120Resistor_SMD:R_0402_1005MetricR13, R14, R33, R34, R35, R36, R37, R38, R39, R40, R41, R42, R51, R52, R58, R59 +20
2210kResistor_SMD:R_0402_1005MetricR4, R5, R6, R9, R12, R31, R53, R54, R55, R56, R57, R63, R64, R93, R100, R101 +6
9TPS2553DBVTSvayam:SOT95P280X145-6NU16, U17, U18, U19, U20, U21, U22, U23, U24
71k5Resistor_SMD:R_0402_1005MetricR2, R3, R7, R8, R10, R11, R65
74u7Capacitor_SMD:C_0603_1608MetricC3, C42, C43, C55, C56, C57, C58
65k1Resistor_SMD:R_0402_1005MetricR17, R19, R23, R45, R47, R49
551kResistor_SMD:R_0402_1005MetricR32, R43, R44, R46, R48
410uCapacitor_SMD:C_0603_1608MetricC46, C50, C51, C61
4MountingHoleMountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4
3100kResistor_SMD:R_0805_2012MetricR20, R25, R29
322uCapacitor_SMD:C_0805_2012MetricC52, C53, C54
333kResistor_SMD:R_0402_1005MetricR24, R84, R85
3SMAJ6.0ADiode_SMD:D_SMAD4, D5, D8
2100kResistor_SMD:R_0402_1005MetricR26, R30
210kResistor_SMD:R_0805_2012MetricR15, R21
210uCapacitor_SMD:C_0805_2012MetricC40, C41
2110kResistor_SMD:R_0402_1005MetricR88, R91
222kResistor_SMD:R_0402_1005MetricR16, R18
22u2Capacitor_SMD:C_0603_1608MetricC17, C19
233pCapacitor_SMD:C_0402_1005MetricC13, C16
247kResistor_SMD:R_0402_1005MetricR89, R92
275kResistor_SMD:R_0402_1005MetricR86, R87
2PMEG1030EJ,115Diode_SMD:D_SOD-323FD6, D7
2RT9080-33GJ5Package_TO_SOT_SMD:TSOT-23-5U12, U13
2TJA1051TK-3Package_DFN_QFN:DFN-8-1EP_3x3mm_P0.65mm_EP1.55x2.4mmU3, U4
11.5uSvayam:L_Coilcraft_XxL4020L1
110Resistor_SMD:R_0402_1005MetricR50
1100nCapacitor_SMD:C_0805_2012MetricC47
113kResistor_SMD:R_0805_2012MetricR28
115kResistor_SMD:R_0402_1005MetricR22
1220uCapacitor_SMD:CP_Elec_6.3x7.7C78
1330Resistor_SMD:R_0402_1005MetricR1
149.9Resistor_SMD:R_0402_1005MetricR62
156kResistor_SMD:R_0402_1005MetricR90
168kResistor_SMD:R_0805_2012MetricR27
1ADCConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ12
1AO3400APackage_TO_SOT_SMD:SOT-23Q1
1AP22804AW5Package_TO_SOT_SMD:SOT-23-5U14
1BMI088Svayam:PQFN50P450X300X100-16NU7
1BMI270Svayam:XDCR_BMI270U8
1BMM150Package_CSP:WLCSP-12_1.56x1.56mm_P0.4mmU9
1BMP388Svayam:XDCR_BMP388U5
1BOOTDiode_SMD:D_0603_1608MetricD2
1BUZZERConnector_JST:JST_GH_BM03B-GHS-TBT_1x03-1MP_P1.25mm_VerticalJ11
1CANConnector_JST:JST_GH_BM04B-GHS-TBT_1x04-1MP_P1.25mm_VerticalJ13
1CAN2Connector_JST:JST_GH_BM04B-GHS-TBT_1x04-1MP_P1.25mm_VerticalJ18
1Channel 1Connector_JST:JST_XH_B3B-XH-A_1x03_P2.50mm_VerticalJ19
1Channel 10Connector_JST:JST_XH_B3B-XH-A_1x03_P2.50mm_VerticalJ25
1Channel 11Connector_JST:JST_XH_B3B-XH-A_1x03_P2.50mm_VerticalJ29
1Channel 12Connector_JST:JST_XH_B3B-XH-A_1x03_P2.50mm_VerticalJ33
1Channel 13Connector_JST:JST_XH_B3B-XH-A_1x03_P2.50mm_VerticalJ22
1Channel 14Connector_JST:JST_XH_B3B-XH-A_1x03_P2.50mm_VerticalJ26
1Channel 15Connector_JST:JST_XH_B3B-XH-A_1x03_P2.50mm_VerticalJ30
1Channel 16Connector_JST:JST_XH_B3B-XH-A_1x03_P2.50mm_VerticalJ34
1Channel 2Connector_JST:JST_XH_B3B-XH-A_1x03_P2.50mm_VerticalJ23
1Channel 3Connector_JST:JST_XH_B3B-XH-A_1x03_P2.50mm_VerticalJ27
1Channel 4Connector_JST:JST_XH_B3B-XH-A_1x03_P2.50mm_VerticalJ31
1Channel 5Connector_JST:JST_XH_B3B-XH-A_1x03_P2.50mm_VerticalJ20
1Channel 6Connector_JST:JST_XH_B3B-XH-A_1x03_P2.50mm_VerticalJ24
1Channel 7Connector_JST:JST_XH_B3B-XH-A_1x03_P2.50mm_VerticalJ28
1Channel 8Connector_JST:JST_XH_B3B-XH-A_1x03_P2.50mm_VerticalJ32
1Channel 9Connector_JST:JST_XH_B3B-XH-A_1x03_P2.50mm_VerticalJ21
1Conn_01x05_PinConnector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_VerticalJ7
1DPS310XTSA1Svayam:XDCR_DPS310XTSA1U6
1FM25CL64BPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU2
1GPSConnector_JST:JST_GH_BM06B-GHS-TBT_1x06-1MP_P1.25mm_VerticalJ2
1I2CConnector_JST:JST_GH_BM04B-GHS-TBT_1x04-1MP_P1.25mm_VerticalJ17
1Micro_SD_Card_Det1Svayam:104031-0811_MOLJ10
1POWER1Connector_JST:JST_GH_BM06B-GHS-TBT_1x06-1MP_P1.25mm_VerticalJ9
1POWER2Connector_JST:JST_GH_BM06B-GHS-TBT_1x06-1MP_P1.25mm_VerticalJ16
1PS-5850SVA-3PLeasyeda2kicad:SW-SMD_G-SWITCH_PS-5850SVX-3PLSW1
1PS-5850SVA-3PNeasyeda2kicad:SW-SMD_G-SWITCH_PS-5850SVX-3PLSW2
1PWRDiode_SMD:D_0603_1608MetricD1
1SAFETYConnector_JST:JST_GH_BM03B-GHS-TBT_1x03-1MP_P1.25mm_VerticalJ15
1SBUSConnector_JST:JST_GH_BM03B-GHS-TBT_1x03-1MP_P1.25mm_VerticalJ6
1SERIAL4Connector_JST:JST_GH_BM06B-GHS-TBT_1x06-1MP_P1.25mm_VerticalJ8
1SERIAL5Connector_JST:JST_GH_BM06B-GHS-TBT_1x06-1MP_P1.25mm_VerticalJ14
1SPIConnector_JST:JST_GH_BM07B-GHS-TBT_1x07-1MP_P1.25mm_VerticalJ3

The 281 most common of 290 parts.

Questions

How big is the SvayamV3 IIK PCB?

It measures 120.9 × 90 mm and has 6 copper layers, 1.56 mm thick.

What parts does the SvayamV3 IIK use?

290 parts, built around the BMM150, BMP388, DPS310XTSA1 and TPS2553DBVT-1. 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 SvayamV3 IIK KiCad files?

From the si-nalsal/pcb-mantis repository on GitHub, at the commit this page was made from: the board is SvayamV3_IIK.kicad_pcb and its schematic SvayamV3_IIK.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the SvayamV3 IIK design in my own project?

Its repository publishes it under the CERN-OHL-S-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 4 layers44 × 44 mmBoot console, the printed circuit board in 3D

    Boot console

    clarkmcc/my-first-linux-board

    my-first-linux-board is a small F1C200S Linux board built around removable microSD storage, USB-C power and USB device data, a 3.3 V UART console, and power/status LEDs.

    93 parts1
  • 4 layers40 × 40 mmSTMF765 Flight Controller, the printed circuit board in 3D

    STMF765 Flight Controller

    MatthiasGeorgImhof/STMF765_Flight_Controller

    A flight controller inspired by Speedybee F405 v3 but with CAN using F7 MCU. Use flash memory instead of flash card.

    235 parts1
  • 8 layers34 × 54.8 mmH7-Beast, the printed circuit board in 3D

    H7-Beast

    FBIopeningUPP/H7-Beast

    Just a flight controller

    84 parts
  • 4 layers50 × 16 mmSystem board, the printed circuit board in 3D

    System board

    proegssilb/lightsaber-hardware

    PCBs and other files for lightsaber soundboard hardware.

    72 parts2CERN-OHL-S-2.0
  • 10 layers90 × 60 mmZebra X, the printed circuit board in 3D

    Zebra X

    Dylanfg123/Zebra-X

    A Xilinx Zynq Demo Board based on Phil's Lab ZettBrett board

    424 parts
  • 4 layers66.4 × 66.4 mmRera, the printed circuit board in 3D

    Rera

    fdiwth/tvc-drone

    This repository contains the documentation, hardware designs, and source code for a Thrust Vector Control (TVC) drone.

    140 parts34GPL-3.0
  • 4 layers73.4 × 72.7 mmAwatch2, the printed circuit board in 3D

    Awatch2

    jwise/aWatch2-hw

    hardware for aWatch2

    177 parts18