Skip to the content
PCBKitNew board
2 layers102.9 × 103.7 mmDrone ESP32, the printed circuit board in 3D

Rev 2 fixes the issues found while assembling the first board:

Size
102.9 × 103.7 mm
Copper layers
2
Thickness
1.6 mm
Parts
80
Nets
72
Pads
299
Tracks, vias
660, 90
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
22 Sep 2026
Updated
2 Nov 2026

Overview

Drone ESP32 is an open-source printed circuit board by Asaf66, from the Asaf66/Drone_ESP32 repository on GitHub. It is a 2-layer board of 102.9 × 103.7 mm with 80 parts on 72 nets, routed with 660 tracks and 90 vias.

It is built around the ESP32-WROOM-32E, CH340K and LPS22HB, with the AP2112K-3.3, LSM6DS3 and TP4056-42-ESOP8 among its other parts. Its parts include 27 resistors, 19 capacitors, 10 diodes, 7 transistors and 6 ICs. It belongs with the robots and motor control boards and the ESP32 boards of this library.

Main components

12

README

README.md

🚁 ESP32 Drone Controller Board

A Wi-Fi/Bluetooth micro-drone where the PCB is the airframe. Flight controller, motor drivers, sensors, and LiPo charging all sit on one 2-layer board.

KiCad MCU Layers Revision Fab

3D render of the drone board

✨ Highlights

  • PCB airframe: four arms with integrated motor mounts and slot-in landing legs, ~103 × 104 mm, so no separate frame is needed.
  • ESP32-WROOM-32E with an on-board antenna keep-out, for Wi-Fi / BLE control.
  • Four brushed-motor channels: logic-level MOSFETs with flyback diodes, gate resistors, and gate pull-downs on every channel.
  • Flight sensors: a 6-axis IMU and a barometric pressure sensor for altitude hold.
  • USB-C: programming through a CH340K USB-UART bridge with auto-reset, plus single-cell LiPo charging.
  • Manufacturing ready: Gerbers, drill files, BOM, and CPL.

🧩 Block Diagram

mermaid
flowchart LR
    USB[USB-C] --> UART[CH340K<br/>USB-UART]
    USB --> CHG[TP4056<br/>LiPo Charger]
    CHG --> BAT[(1S LiPo)]
    BAT --> LDO[AP2112K<br/>3.3V LDO]
    LDO --> MCU[ESP32-WROOM-32E]
    UART -- auto-reset --> MCU
    MCU -- SPI --> IMU[LSM6DS3<br/>6-axis IMU]
    MCU -- I2C --> BARO[LPS22HB<br/>Barometer]
    MCU -- PWM x4 --> DRV[4x SI2302<br/>MOSFET drivers]
    BAT --> DRV
    DRV --> M[4x Brushed motors]

🔧 Key Components

FunctionPartNotes
MCUESP32-WROOM-32EWi-Fi + BLE, dual-core
USB-UARTCH340KBC817 auto-reset / boot circuit
ChargerTP40561S LiPo charging with CHG / STDBY LEDs
RegulatorAP2112K-3.3600 mA low-dropout 3.3 V rail
Power pathAO3401A, SS34P-MOSFET USB/battery switching, Schottky protection
Motor driversSI2302 ×4 + 1N4148W ×4Low-side switches with flyback diodes
IMULSM6DS33-axis accelerometer + 3-axis gyroscope (SPI)
BarometerLPS22HBAbsolute pressure sensor for altitude (I2C)
ConnectorsUSB-C 16P, JST-PH 2P (battery), 4× JST-GH 2P (motors)
Power switchNidec CAS-120ASPDT slide switch

Motor PWM pin map (for firmware)

MotorPositionGPIO
M1Front rightIO13
M2Front leftIO12
M3Rear leftIO26
M4Rear rightIO27

🖼️ Gallery

PCB Layout (F.Cu / B.Cu)3D View (Bottom)
📐 Schematics (click to expand)
SheetPreview
Top level
01 – ESP32 Core & Connectivity
02 – Power Management & LiPo
03 – Motor Drivers & EMI Protection
04 – Autonomous Flight Sensors

📊 Board Stats

LayersSizeThicknessPartsPadsViasUnroutedDRC
2102.9 × 103.7 mm1.6 mm76299900 ✅0 errors ✅

🔁 Revision 2

Rev 2 fixes the issues found while assembling the first board:

  • USB-C: both D+ pins (A6/B6) and both D− pins (A7/B7) are now tied, so USB works in either cable orientation.
  • CH340K:
    • UD+/UD− corrected.
    • TX/RX now crossed to the ESP32.
    • V3 tied to VCC (required at 3.3 V).
  • Motors:
    • Drain traces widened to 0.8 mm.
    • M2 moved from IO14 (which outputs PWM at boot) to IO12, which the gate pull-down holds low at boot.
  • Power:
    • 10 µF input capacitor at the LDO (C18, bottom side).
    • 100 nF filter on the battery-sense ADC (C19, bottom side).
    • Footprint for an optional 100 µF bulk capacitor on the battery (C17, not fitted).
  • Mechanical: arm slots and leg notches widened from 1.33 mm to 1.80 mm, so the 1.6 mm landing legs fit.
  • DRC: board-edge clearance check re-enabled. A custom rule exempts only the joint solder pads.

All top-side footprints are unchanged from Rev 1, so the original paste stencil can be reused. Full review: docs/Rev2_Design_Review.md.

📁 Repository Structure

text
Drone_ESP32/
├── Drone_ESP32.kicad_pro / .kicad_sch / .kicad_pcb   # KiCad project (top level + PCB)
├── Drone_ESP32.kicad_dru        # Custom DRC rules
├── ESP32_Core.kicad_sch         # Sheet 01 – MCU, USB-UART, auto-reset
├── Power_Management.kicad_sch   # Sheet 02 – USB-C, LiPo charger, LDO, power switch
├── Motor_Drivers.kicad_sch      # Sheet 03 – 4x MOSFET motor drivers
├── Sensors_Suite.kicad_sch      # Sheet 04 – IMU + barometer
├── Drone_Custom.3dshapes/       # 3D model for the USB-C connector
├── Gerbers/                     # Gerbers, drill files, JLCPCB zip
├── BOM.csv · CPL.csv            # Bill of materials and placement (JLCPCB format)
├── docs/                        # Design review
├── DATA SHEET/                  # Component datasheets
└── images/                      # Renders & schematic exports

🏭 Manufacturing

Bare PCB:

  1. Upload Gerbers/Drone_ESP32_JLCPCB.zip to JLCPCB.
  2. Order with these options: 2 layers, FR-4, 1.6 mm, HASL.

Assembly (optional):

  1. Enable PCB Assembly and upload BOM.csv and CPL.csv.
  2. Review part placement and rotation in the preview before ordering.
  3. C18 and C19 are on the bottom side, and C17 is not fitted.

Designed by Asaf Aharon · GitHub · LinkedIn

Parts

80
QtyValueFootprintReferences
910KResistor_SMD:R_0805_2012MetricR1, R2, R12, R13, R17, R18, R19, R20, R25
70.1uCapacitor_SMD:C_0603_1608MetricC3, C4, C5, C10, C11, C12, C13
510uCapacitor_SMD:C_0603_1608MetricC2, C7, C8, C9, C18
4100KResistor_SMD:R_0805_2012MetricR5, R14, R15, R16
4100nCapacitor_SMD:C_0603_1608MetricC14, C15, C16, C19
41N4148WDiode_SMD:Nexperia_CFP3_SOD-123WD2, D3, D4, D5
447RResistor_SMD:R_0805_2012MetricR21, R22, R23, R24
4Conn_01x02_SocketConnector_JST:JST_GH_SM02B-GHS-TB_1x02-1MP_P1.25mm_HorizontalJ4, J5, J6, J7
4SI2302Package_TO_SOT_SMD:SOT-23Q4, Q5, Q6, Q7
3470RResistor_SMD:R_0805_2012MetricR6, R7, R8
2,
2220RResistor_SMD:R_0805_2012MetricR10, R11
24K7Resistor_SMD:R_0805_2012MetricR26, R27
25K1Resistor_SMD:R_0805_2012MetricR3, R4
2BC817Package_TO_SOT_SMD:SOT-23Q1, Q2
1100u DNPCapacitor_SMD:C_1210_3225MetricC17
11uCapacitor_SMD:C_0603_1608MetricC1
12.2KResistor_SMD:R_0805_2012MetricR9
12.2uCapacitor_SMD:C_0603_1608MetricC6
1AO3401APackage_TO_SOT_SMD:SOT-23Q3
1AP2112K-3.3Package_TO_SOT_SMD:SOT-23-5U3
1CAS-120A1Button_Switch_SMD:Nidec_Copal_CAS-120ASW1
1CH340KPackage_SO:SSOP-10-1EP_3.9x4.9mm_P1mm_EP2.1x3.3mmU2
1CHGLED_SMD:LED_0603_1608MetricLED4
1Conn_01x02Connector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_VerticalJ2
1D_RXLED_SMD:LED_0603_1608MetricLED2
1D_TXLED_SMD:LED_0603_1608MetricLED1
1ESP32-WROOM-32ERF_Module:ESP32-WROOM-32EU1
1LPS22HBPackage_LGA:ST_HLGA-10_2x2mm_P0.5mm_LayoutBorder3x2yU6
1LSM6DS3Package_LGA:LGA-14_3x2.5mm_P0.5mm_LayoutBorder3x4yU5
1POW_LEDLED_SMD:LED_0603_1608MetricLED3
1SS34Diode_SMD:D_SMAD1
1STDLED_SMD:LED_0603_1608MetricLED5
1TP4056-42-ESOP8Package_SO:SOIC-8-1EP_3.9x4.9mm_P1.27mm_EP2.41x3.3mm_ThermalViasU4
1USB_C_Receptacle_USB2.0_16PConnector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12J1

The 78 most common of 80 parts.

Questions

How big is the Drone ESP32 PCB?

It measures 102.9 × 103.7 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Drone ESP32 use?

80 parts, built around the ESP32-WROOM-32E, CH340K, LPS22HB and AP2112K-3.3. 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 Drone ESP32 KiCad files?

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

Can I use the Drone ESP32 design in my own project?

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

Similar boards

  • 2 layersWatch, the printed circuit board in 3D

    Watch

    KIIT-Robotic-Society/Dharma_RoboFest4.0

    Dharma Bot is a quadruped robotic dog featuring 12-DOF locomotion, real-time sensing, and a modular subsystem design.

    80 parts4MIT
  • 4 layers125 × 100 mmRC controller, the printed circuit board in 3D

    RC controller

    tyke01/bonk

    An open source RC controller.

    72 parts
  • 4 layers102.7 × 77.6 mmEspcam, the printed circuit board in 3D

    Espcam

    mazyacin/espcam-breakout-board

    high end espcam breackout board for IOT and monetering

    64 partsMIT
  • 2 layers19.2 × 94 mmFinal PCB, the printed circuit board in 3D

    Final PCB

    T0mmy312/Breaklight

    84 parts2
  • 4 layers68 × 75 mmDeltaRhoRobot, the printed circuit board in 3D

    DeltaRhoRobot

    valleyquail/DeltaRhoPCB

    PCB files for the robot

    119 parts1
  • 4 layers15 × 20 mmMillimobile circuit, the printed circuit board in 3D

    Millimobile circuit

    zenglhardt/millimobile-platform

    This repo contains the KiCad PCB design files for the development board verison of the MilliMobile. For more information on the platform, see the project page

    38 parts
  • 2 layers52.8 × 71.8 mmESPBoosted, the printed circuit board in 3D

    ESPBoosted

    schoolllex/ESPBoosted

    A custom, feature-rich ESP32-WROOM-32 development board featuring built-in environmental sensors, power management, and expansion interfaces.

    51 parts
  • 2 layers46.4 × 50 mmDesai Mochi V2, the printed circuit board in 3D

    Desai Mochi V2

    voidthecryptic/voidthecryptic.github.io

    My own portfolio website

    46 partsMIT