Skip to the content
8 layers35 × 35 mmOpenAIO, the printed circuit board in 3D

Open-source AIO for 2-6S toothpick quads: flight controller, 4-in-1 AM32 ESC and ExpressLRS receiver, 25.5x25.5 mm.

Size
35 × 35 mm
Copper layers
8
Thickness
1 mm
Parts
343
Nets
302
Pads
1,697
Tracks, vias
2,574, 2,475
Pours
60
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
4 Aug 2026
Updated
16 Oct 2026

Overview

OpenAIO is an open-source printed circuit board by OpenDrone-hw, from the OpenDrone-hw/OpenAIO repository on GitHub, published under the CERN-OHL-S-2.0 licence. It is an 8-layer board of 35 × 35 mm with 343 parts on 302 nets, routed with 2,574 tracks and 2,475 vias.

It is built around the AT32F421G8U7, ESP32-C3 and RP2354A, with the SX1281IMLTRT, 2450FM07D0034T and NSG2065Q among its other parts. Its parts include 115 resistors, 107 capacitors, 36 connectors, 26 transistors and 24 ICs. It belongs with the robots and motor control boards and the ESP32, RP2350 and RISC-V boards of this library.

Main components

12

README

README.md

OpenAIO

An all-in-one for 85 mm whoops, 2.5 inch cinewhoops and 3 inch freestyle: RP2354A flight controller, four AM32 ESC channels and an ExpressLRS 2.4 GHz receiver on one 8-layer HDI board with 25.5 x 25.5 mm mounting. Its circuits follow OpenFC-Lite-Mini, OpenESC-20x20 and OpenRX-Lite.

OpenAIO front render OpenAIO back render

Status Discord

Why

Flight controller, ESC and receiver are usually three boards joined by connectors and wiring. On a small quad the stack costs weight and height, and the connectors are where builds fail. OpenAIO puts all three on one board and keeps the firmware stock. The market research linked under Prior art covers competing AIOs.

Specifications

From the design files. Not manufactured yet.

Mounting25.5 x 25.5 mm, four 3.0 mm holes
Board35.4 x 35.4 mm, 8 layers HDI 1+6+1, 0.997 mm, 1 oz copper on all layers, ENIG
Input3S to 6S LiPo, 9.0 to 25.2 V; 2S is not supported (gate driver VCC, see research/INPUT_RANGE.md)
Input protectionNone: no reverse polarity protection, no TVS. Fit a low-ESR electrolytic of at least 35 V on the battery leads
Current ratingNot established; no measurement exists
Flight controllerRP2354A, BMI270 IMU, BMP580 barometer, USB-C
OSD and blackboxAnalog PIO framebuffer OSD, microSD card
ESC4x AM32, AT32F421G8U7 + NSG2065Q + 6x DOY180N03T (30 V) per channel, one shared current sensor
ReceiverExpressLRS 2.4 GHz, ESP32-C3 + SX1281, u.FL antenna
Outputs+10V (always on with a battery) on SH-6 and pads, +5V and +4v5 pads, WS2812 strip pads, buzzer pads
FirmwareBetaflight, AM32, ExpressLRS, stock upstream

Technical write-up, part list and layout constraints: AGENTS.md. Pinout and firmware: firmware/.

Constraints

  • 25.5 x 25.5 mm mounting, the whoop and toothpick standard.
  • Runs stock firmware: Betaflight on the FC, AM32 per ESC channel, ExpressLRS on the receiver. No forks.
  • Parts come from the shared library first; assembly from LCSC parts, extended parts kept to a minimum.
  • 8-layer HDI 1+6+1 with filled microvias; fabrication limits are in research/NEXTPCB.md.

Prior art

Notes: input range, pin constraints, board data and copper model.

Design questions

  • Thermal. Four power stages next to an MCU and a radio on 25.5 mm square, with no airflow guarantee. What is the continuous current budget on 1 oz copper? The copper loss model in research/ROUTING.md is the only number so far.
  • RF isolation. A 2.4 GHz receiver next to four switching power stages: ground plane and antenna placement are untested.
  • Open board issues. The LED strip stage inverts, the ESC MCUs run from USB without gate drive power, and SBUS on SH-6 shares a net with the ELRS TX: firmware/ISSUES.md.

In the line

What pairs with what, and what is available: opendrone.be.

Contributing

KiCad files cannot be merged, so say what you intend to change before you do, on Discord. How everything works: CONTRIBUTING.md.

A repository holds design files only. Sourcing (suppliers, prices, quotes, RFQs, contacts) is handled by Incutec and never lives in OpenDrone repositories.

License

Hardware licensed under CERN-OHL-S-2.0, see LICENSE.

Parts

343
QtyValueFootprintReferences
4010klib:R_0201_0603MetricR2, R25, R34, R37, R38, R45, R102, R104, R105, R107, R108, R110, R111, R112, R113, R114 +24
365Vlib:small_padJ15, J16, J17, J18, J20, J21, J23, J24, J25, J26, J27, J28, J29, J30, J31, J32 +20
24100nFlib:C_0201_0603MetricC37, C38, C39, C43, C44, C45, C46, C50, C51, C52, C53, C57, C58, C59, C60, C104 +8
2415Rlib:R_0201_0603MetricR35, R36, R41, R42, R43, R44, R54, R55, R60, R61, R62, R63, R73, R74, R100, R101 +8
24DOY180N03Tlib:Diodes_PowerDI3333-8Q10, Q11, Q12, Q13, Q14, Q15, Q16, Q17, Q18, Q19, Q20, Q21, Q22, Q23, Q24, Q25 +8
22100nlib:C_0201_0603MetricC1, C2, C11, C12, C13, C14, C20, C21, C26, C29, C30, C32, C34, C35, C107, C108 +6
151klib:R_0201_0603MetricR5, R6, R46, R49, R52, R65, R68, R71, R84, R87, R90, R103, R106, R109, R115
14Clib:C_0805_2012MetricC90, C91, C92, C93, C94, C95, C96, C97, C98, C99, C100, C101, C102, C103
12100nFlib:C_0402_WIDEC40, C41, C42, C47, C48, C49, C54, C55, C56, C61, C62, C63
8TestPointlib:TestPoint_Pad_D1.0mmTP1, TP2, TP3, TP4, TP5, TP6, TP7, TP8
61uFlib:C_0201_0603MetricC77, C81, C83, C84, C85, C86
54.7uFlib:C_0402_1005MetricC3, C15, C16, C17, C25
4100klib:R_0201_0603MetricR1, R13, R17, R19
410Rlib:R_0201_0603MetricR40, R59, R78, R97
4220Rlib:R_0201_0603MetricR39, R58, R77, R96
45.1klib:R_0201_0603MetricR3, R4, R11, R12
475Rlib:R_0201_0603MetricR15, R16, R26, R33
4AT32F421G8U7lib:QFN-28_L4.0-W4.0-P0.40-TL-EP2.4U13, U15, U17, U19
4LED_1_Greenlib:LED_0402_1005MetricD4, D5, D6, D7
4NSG2065Qlib:QFN-24_L4.0-W4.0-P0.50-TL-EP2.8U14, U16, U18, U20
310nFlib:C_0201_0603MetricC67, C73, C80
310uFlib:C_0402_1005MetricC75, C82, C88
330Rlib:R_0201_0603MetricR8, R9, R10
3510Rlib:R_0201_0603MetricR24, R31, R32
21.2pFlib:C_0201_0603MetricC87, C89
215pFlib:C_0201_0603MetricC72, C74
22.4klib:R_0201_0603MetricR14, R22
220plib:C_0201_0603MetricC4, C10
222uFlib:C_0603_1608MetricC23, C24
222uFlib:C_0402_1005MetricC27, C28
24.7uF 50vlib:C_0805_2012MetricC18, C19
26.49klib:R_0201_0603MetricR18, R23
2AP1606lib:DFN-3L_L1.0-W0.6-P0.65-BRQ1, Q2
2Clib:C_1206_3216MetricC105, C106
2DSK24lib:SOD-123_L2.8-W1.8-LS3.7-RDD2, D3
2LMR51430YFDDCRlib:SOT-23-6_L2.9-W1.6-P0.95-LS2.9-BLU3, U4
2XRTC303020D4R7MBCAlib:IND-SMD_L3.0-W3.0_AFE303020SL2, L3
10.2mRlib:R_2512_6332MetricRsense2
11.4klib:R_0201_0603MetricR29
112klib:R_0201_0603MetricR28
113.7klib:R_0201_0603MetricR20
115uHlib:L_0805_2012MetricL4
11nFlib:C_0201_0603MetricC69
11uFlib:C_0402_1005MetricC33
12.0nHlib:L_0201_0603MetricL6
12.5nHlib:L_0201_0603MetricL7
12450AT18A100Elib:ANT-SMD_L3.2-W1.6AE2
12450FM07D0034Tlib:FILTER-SMD_4P-L1.0-W0.5-LFL1
124nHlib:L_0201_0603MetricL5
13.9klib:R_0201_0603MetricR27
1470nFlib:C_0201_0603MetricC68
1470plib:C_0201_0603MetricC31
1680Rlib:R_0201_0603MetricR30
17.5klib:R_0201_0603MetricR21
1AIO_outlinelib:AIO_outlineU24
1AOTA-B201610S3R3-101-Tlib:IND-SMD_L2.0-W1.6_AOTA-B201610S3R3-101-TL1
1BMI270lib:LGA-14_L3.0-W2.5-P0.50-BRU8
1BMP580lib:LGA-10_L2.0-W2.0-P0.50-TL_BMP580U26
1BOOTlib:SolderPad_1.2x2.0mmTP9
1CJ17-400001010B20lib:CRYSTAL-SMD_4P-L1.6-W1.2-BLX2
1COS8051SOTlib:SOT-23-5_L3.0-W1.7-P0.95-LS2.8-BRU10
1ELRS OFFlib:SolderJumper-2_P0.65mm_Tiny_OpenJP2
1ESP32-C3lib:QFN-32-1EP_5x5mm_P0.5mm_EP3.7x3.7mmU22
1INA186A3IDCKRlib:SOT-363_SC-70-6U25
1LED_1_Bluelib:LED_0402_1005MetricD1
1LP5912-1.8DRVRlib:WSON-6-1EP_2x2mm_P0.65mm_EP1x1.6mm_ThermalViasU6
1OW7EL89CENUNFAYLC-52Mlib:OSC-SMD_4P-L2.0-W1.6-BL_TXC_7ZOSC1
1RP2354Alib:QFN-60_L7.0-W7.0-P0.40-TL-EP3.4U2
1SDM02U30LP3-7Blib:X3-DFN0603-2_L0.6-W0.3-RDD8
1SM06B-SRSS-TB(LF)(SN)lib:CONN-SMD_SM06B-SRSS-TB-LF-SNU12
1SN74LVC1G3157DTBRlib:X2SON-6_L1.0-W0.8-BLU9
1SX1281IMLTRTlib:QFN-24_L4.0-W4.0-P0.50-TL-EP2.6U21
1TF-021B-H265lib:TF-SMD_TF-021B-H265Card1
1TLV7031DPWRlib:X2SON-4_L0.8-W0.8-P0.48-TL-AU11
1TLV76733DRVRlib:WSON-6-1EP_2x2mm_P0.65mm_EP1x1.6mmU7
1TS2306A 240GF MSM 9_C2976675lib:SW-SMD_4P-L3.0-W2.0-P0.85-LS3.5U1
1TYPE-C 16P QTWTlib:USB-TYPE-C-SMD_TYPE-C-16P-QTWTUSB1
1U.FL-R-SMT-1(80)lib:RF-SMD_FRF05002-JSS103MJP1
1XL-1010RGBC-WS2812Blib:LED-SMD_4P-L1.0-W1.0-TL_XL-1010RGBC-WS2812BD9
1XTM25012000JT00351001lib:CRYSTAL-SMD_4P-L2.5-W2.0-BL-AX1

Similar boards

  • 6 layers26.9 × 26.9 mmOpenFC, the printed circuit board in 3D

    OpenFC

    OpenDrone-hw/OpenFC-Lite-Mini

    Open-source Betaflight flight controller. RP2354A, 20x20 mm, 6-layer, 3-6S, CERN-OHL-S-2.0.

    131 parts147CERN-OHL-S-2.0
  • 6 layers37.9 × 37.9 mmOpenFC, the printed circuit board in 3D

    OpenFC

    OpenDrone-hw/OpenFC-Lite

    Open-source Betaflight flight controller. RP2354B, 30.5x30.5 mm, 6-layer, 3-8S, CERN-OHL-S-2.0.

    164 parts85CERN-OHL-S-2.0
  • 8 layers35 × 35 mmOpenAIO, the printed circuit board in 3D

    OpenAIO

    tetraethylmethane/NIDAR-RescueSwarm

    Three autonomous drones that search a flood zone, find survivors, geotag them, and drop medical kits — with no network, no pilot, and one operator who only presses start.

    285 parts1
  • 6 layers31.2 × 33 mm4in1-mini, the printed circuit board in 3D

    4in1-mini

    OpenDrone-hw/OpenESC-20x20

    Open-source 4-in-1 AM32 ESC for FPV drones. 20x20 mm, 2-6S, one MCU per motor, CERN-OHL-S-2.0.

    191 parts279CERN-OHL-S-2.0
  • 6 layers41.6 × 42.5 mm4in1, the printed circuit board in 3D

    4in1

    OpenDrone-hw/OpenESC-30x30

    Open-source 4-in-1 AM32 ESC for FPV drones. 30.5x30.5 mm, 2-8S, one MCU per motor, CERN-OHL-S-2.0.

    222 parts85CERN-OHL-S-2.0
  • 6 layers32 × 35 mmDreamscape F405-2020, the printed circuit board in 3D

    Dreamscape F405-2020

    sneakylizard123-4/Dreamscape-F405-2020

    a 20x20mm flight controller for 3" fpv drone

    122 parts
  • 8 layers230 × 145.3 mmOptiLogic-16-Pro, the printed circuit board in 3D

    OptiLogic-16-Pro

    HexFud/OptiLogic-16-Pro

    A logic analyzer with 16 channels that can also watch two fiber network links at the same time

    342 parts
  • 8 layersRound pendant, the printed circuit board in 3D

    Round pendant

    sequoia-hope/ultraroute

    PCB autorouting experiments around copperroute: route jobs, leaderboards, board morphing

    342 parts1MIT

Questions

How big is the OpenAIO PCB?

It measures 35 × 35 mm and has 8 copper layers, 1 mm thick.

What parts does the OpenAIO use?

343 parts, built around the AT32F421G8U7, ESP32-C3, RP2354A and SX1281IMLTRT. 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 OpenAIO KiCad files?

From the OpenDrone-hw/OpenAIO repository on GitHub, at the commit this page was made from: the board is hardware/OpenAIO.kicad_pcb and its schematic hardware/OpenAIO.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the OpenAIO 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).