
ESP drone
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

Flight controller and airframe on one ESP32-S3 board. Fly it from any phone over its own Wi-Fi. Motor traces sized to IPC-2221 for about 3 A.
CopperPilotDrone is an open-source printed circuit board by CopperPilot, from the CopperPilot/CopperPilotDronePCB repository on GitHub. It is a 2-layer board of 100 × 100 mm with 109 parts on 68 nets, routed with 473 tracks and 134 vias.
It is built around the ESP32-S3-WROOM-1-N8R8, AO3401 and AP2112K-3.3TRG1, with the MPU-6500, 1N5819WS and TS-1187A-B-A-B among its other parts. Its parts include 25 resistors, 16 capacitors, 8 diodes, 6 connectors and 5 ICs. It belongs with the robots and motor control boards and the ESP32 boards of this library.
This directory contains the complete electronic design files, manufacturing rules, test suites, and component specifications for the CopperPilot 2-layer micro quadcopter flight controller and airframe.
| Parameter | Specification | Details / Notes |
|---|---|---|
| Dimensions | 100.64 mm x 100.00 mm | Outer bounding box including arm motor pods |
| Layer Count | 2 Copper Layers | Layer 1: Top (F.Cu), Layer 2: Bottom (B.Cu) |
| Finished Thickness | 1.60 mm $\pm 10%$ | Standard rigid FR-4 core |
| Copper Weight | 1 oz finished (35 µm) | Top and bottom copper |
| Airframe Geometry | Quad-X Symmetrical | 45° diagonal arms, 118.79 mm motor-to-motor wheelbase |
| Motor Mounts | 4x Integrated C-Clamps | 8.80 mm inside diameter cutouts on Edge.Cuts for 8520 coreless motors |
| Battery Bay | 17.0 mm x 19.5 mm cutout | Sized for standard 1S 300–600 mAh LiPo pouch cells |
| Battery Strap Slot | 16.5 mm x 4.0 mm | Integrated slot for micro velcro or silicone retention strap |
| RF Keepout Zone | 22.0 mm x 18.5 mm | Zero copper on both layers beneath ESP32-S3 PCB antenna |
| Routing Status | 100% Routed (36/36 Nets) | 0 airwires, 0 DRC errors, 444 traces, 77 vias |
The board has been engineered from the ground up to match JLCPCB Standard 2-Layer PCB & SMT Assembly processes with high yield and zero manufacturing fee penalties.
Layer Name Material Thickness Copper Weight Dielectric Constant
--------------------------------------------------------------------------------------
Top Solder Mask LPI Green 10 - 25 µm - -
Layer 1 (F.Cu) Copper (Signal) 35 µm (1 oz) 1.0 oz/ft² -
Dielectric Core FR-4 Core 1.50 mm - εr ≈ 4.5 @ 1 MHz
Layer 2 (B.Cu) Copper (GND/PWR)35 µm (1 oz) 1.0 oz/ft² -
Bottom Solder Mask LPI Green 10 - 25 µm - -
--------------------------------------------------------------------------------------
Total Finished Thickness: 1.60 mm ± 10%| Feature | JLCPCB Standard Limit | Drone PCB Design | Safety Margin | Status |
|---|---|---|---|---|
| Min Trace Width | 0.127 mm (5.0 mil) | 0.200 mm (7.87 mil) | +57% | Verified |
| Min Trace Spacing | 0.127 mm (5.0 mil) | 0.1524 mm (6.00 mil) | +20% | Verified |
| Signal Via Drill | 0.300 mm (11.8 mil) | 0.300 mm (11.8 mil) | Standard fab limit | Verified |
| Signal Via Diameter | 0.500 mm (19.7 mil) | 0.600 mm (23.6 mil) | +20% (0.15mm ring) | Verified |
| Power Via Drill | 0.300 mm | 0.400 mm (15.7 mil) | +33% | Verified |
| Power Via Diameter | 0.500 mm | 0.800 mm (31.5 mil) | +60% (0.20mm ring) | Verified |
| Board Edge Clearance | 0.200 mm (7.9 mil) | 0.300 mm min functional | +50% (tracks >0.62mm) | Verified |
| Solder Mask Dam | 0.100 mm (3.9 mil) | 0.150 mm min web | +50% (QFN & USB-C) | Verified |
| Silkscreen Stroke | 0.150 mm (5.9 mil) | 0.150 mm min line | Compliant | Verified |
| Silkscreen Height | 0.800 mm (31.5 mil) | 1.000 mm standard | +25% | Verified |
| Surface Finish | Lead-Free HASL / ENIG | ENIG recommended | Required for 0.5mm QFN | Selected |
Standard 8520 brushed coreless DC motors (8.5 mm x 20 mm) operate at:
+BATT)TPS79633DCQR / ME6211C33M5G-N provides 3.3V regulated output with 51 µF of distributed ceramic decoupling (C3, C4, C9, C10, C14) to buffer 500 mA ESP32-S3 Wi-Fi calibration bursts.MCP73833T-AMI/UN standalone linear charger in MSOP-10 set to 303 mA constant-current rate via $3.3\text{ k}\Omega$ Rprog1 and $10\text{ k}\Omega$ R33 THERM bias resistor, with dedicated +5V input decoupling (C6 100 nF + C7 10 µF), ensuring safe charging for 300–600 mAh 1S cells with minimal thermal dissipation ($\sim 242\text{ mW}$ peak).AO3401A P-channel MOSFET ideal diode circuit automatically disconnects the battery from the load rail when USB-C 5V is plugged in, preventing reverse charging into the cell.All 69 components (29 unique BOM lines) use surface-mount packages compatible with LionCircuits Turnkey PCBA and JLCPCB SMT Assembly.
| Item | Reference | Qty | Value | Package | LCSC Part # | MPN | Description |
|---|---|---|---|---|---|---|---|
| 1 | U8 | 1 | ESP32-S3-WROOM-1-N8R8 | SMD-41 | C2913201 | ESP32-S3-WROOM-1-N8R8 | Dual-Core 240MHz MCU, 8MB Flash, 8MB PSRAM, Wi-Fi/BLE |
| 2 | U9 | 1 | MPU-6500 | QFN-24 3x3mm | C112979 | MPU-6500 | 6-Axis I2C Gyroscope + Accelerometer IMU Sensor |
| 3 | IC1 | 1 | MCP73833T-AMI/UN | MSOP-10 3x3mm | C47182 | MCP73833T-AMI/UN | Standalone Linear Li-Po Battery Charger (303mA) |
| 4 | U2 | 1 | AO3401A | SOT-23 | C15127 | AO3401A | -30V -4.2A P-Channel MOSFET Ideal Diode Power Mux |
| 5 | U3 | 1 | TPS79633DCQR | SOT-23-5 | C82942 | TPS79633DCQR | 3.3V Ultra-Low-Noise LDO Regulator |
| 6 | T1..T4 | 4 | SI2302CDS-T1-GE3 | SOT-23 | C351401 | SI2302CDS-T1-GE3 | 20V 2.8A N-Channel Low-Side Motor Drive MOSFETs |
| 7 | D1 | 1 | SS34 | SMA DO-214AC | C8678 | SS34 | 40V 3A Schottky Rectifier for VBUS Reverse Protection |
| 8 | D2..D5 | 4 | PMEG4010EJ,115 | SOD-323 | C191023 | PMEG4010EJ,115 | 40V 1A Schottky Motor Flyback Inductive Clamps |
| 9 | ESD1 | 1 | USBLC6-2SC6 | SOT-23-6 | C7519 | USBLC6-2SC6 | Low-Capacitance USB Type-C TVS ESD Diode Array |
| 10 | J1 | 1 | USB4105-GF-A | USB-C 16-Pin SMT | C165948 | USB4105-GF-A | USB 2.0 Type-C Receptacle (Power & Native USB D+/D-) |
| 11 | J2,J4,J5,J6 | 4 | SM02B-GHS-TB(LF)(SN) | JST-GH 1.25mm SMT | C189893 | SM02B-GHS-TB(LF)(SN) | 2-Pin Shrouded Motor Connectors |
| 12 | J3 | 1 | B2B-PH-SM4-TB(LF)(SN) | JST-PH 2.0mm SMT | C160352 | B2B-PH-SM4-TB(LF)(SN) | 2-Pin 1S Battery Input Connector |
| 13 | SW1 | 1 | PCM12SMTR | SPDT SMT Slide | C221841 | PCM12SMTR | System Main Power Slide Switch |
| 14 | SW2,SW3 | 2 | PTS526SM15SMTR2LFS | 5.1x5.1mm SMT | C318884 | PTS526SM15SMTR2LFS | Momentary Tactile Switches (RESET & BOOT) |
| 15 | LED1 | 1 | LTST-C190TBKT | 0603 SMD | C72041 | LTST-C190TBKT | 3.3V System Power Indicator LED |
| 16 | LED2 | 1 | LTST-C190KRKT | 0603 SMD | C2286 | LTST-C190KRKT | Battery Charging Status Indicator |
| 17 | LED3 | 1 | KPT-1608CGCK | 0603 SMD | C72043 | KPT-1608CGCK | Full Charge / Standby Status Indicator |
| 18 | R1 | 1 | 470R 1% | 0603 SMD | C23179 | RC0603FR-07470RL | Blue Power LED Current Limiter |
| 19 | R2,R26..R28 | 4 | 100k 1% | 0603 SMD | C25803 | RC0603FR-07100KL | Power Mux Gate Pulldown & Battery ADC Divider |
| 20 | R3,R4 | 2 | 1.2k 1% | 0603 SMD | C22765 | RC0603FR-071K2L | Charger Status LED Current Limiters |
| 21 | R10,R11,R18..R21,R33 | 7 | 10k 1% | 0603 SMD | C25804 | RC0603FR-0710KL | EN/IO0 Pull-Ups, Motor Gate Pulldowns & THERM Bias |
| 22 | R12,R13,R14 | 3 | 4.7k 1% | 0603 SMD | C23162 | RC0603FR-074K7L | I2C SDA/SCL Pull-Ups & IMU AD0 Address Select |
| 23 | R22,R23 | 2 | 22R 1% | 0603 SMD | C23345 | RC0603FR-0722RL | USB 2.0 Full-Speed D+/D- Series Damping Resistors |
| 24 | R24,R25 | 2 | 5.1k 1% | 0603 SMD | C23186 | RC0603FR-075K1L | USB-C Configuration Channel CC1/CC2 5.1k Pulldowns |
| 25 | R29..R32 | 4 | 10R 1% | 0603 SMD | C22859 | RC0603FR-0710RL | Motor RC Snubber Series Damping Resistors |
| 26 | Rprog1 | 1 | 3.3k 1% | 0603 SMD | C22978 | RC0603FR-073K3L | Sets MCP73833 Charge Current to 303 mA |
| 27 | C1,C3,C4,C5,C7,C9,C14 | 7 | 10µF 10V X5R | 0603 SMD | C19702 | CL10A106MP8NNNC | Bulk Decoupling & LDO/Charger Reservoirs |
| 28 | C6,C12,C13 | 3 | 0.1µF 50V X7R | 0603 SMD | C14663 | CC0603KRX7R9BB104 | High-Frequency IC Power & IMU REGOUT Decoupling |
| 29 | C10,C11 | 2 | 1µF 50V X5R | 0603 SMD | C15849 | CL10A105KB8NNNC | EN Pin Startup RC Filter & ESP32 VDD Bypass |
| 30 | C15..C18 | 4 | 22nF 50V X7R | 0603 SMD | C302021 | CC0603KRX7R9BB223 | Motor Brush RF Noise Commutation Snubbers |
BOM Sourcing Metrics:
When ordering PCBs and PCBA through the JLCPCB online portal:
100.64 mm x 100.00 mm2 Layers1.6 mmGreen (or desired color)ENIG (strongly recommended due to 0.50 mm pitch QFN-24 MPU-6050 and USB-C pads; Lead-Free HASL is acceptable)1 ozF.Cu).build/CopperPilotDrone-cpl.csv) and BOM file (build/CopperPilotDrone-bom.csv).All PCB verification checks, rule validation, and fabrication exports are automated via make inside pcb/:
# Run automated 32-point hardware test suite (PyTest)
make test
# Run KiCad CLI Electrical Rule Check (asserts 0 errors)
make erc
# Run KiCad CLI Design Rule Check with zone refill & parity (asserts 0 errors, 0 unconnected)
make drc
# Generate complete JLCPCB manufacturing release bundle (Gerbers, Drill, CPL, BOM, PDFs, Release Zip)
make fab
# Generate individual manufacturing deliverables
make gerbers # RS-274X Gerbers for top/bottom copper, mask, silk, and Edge.Cuts
make drill # Excellon NC drill files (metric, PTH + NPTH)
make cpl # SMT pick-and-place component centroid file (CPL)
make bom # Manufacturing BOM with 100% LCSC part mappings
make pdf # Full schematic and PCB layer documentation PDFs
make d356 # IPC-D-356 electrical test netlist
# Clean intermediate build outputs and caches
make clean| Qty | Value | Footprint | References |
|---|---|---|---|
| 40 | NPTH | MountingHole:MountingHole_0.5mm | H1, H2, H3, H4, H5, H10, H11, H12, H13, H14, H15, H16, H17, H18, H19, H20 +24 |
| 7 | 10uF | Capacitor_SMD:C_0603_1608Metric | C1, C3, C4, C5, C7, C9, C14 |
| 6 | 10k | Resistor_SMD:R_0603_1608Metric | R10, R11, R18, R19, R20, R21 |
| 6 | 22R | Resistor_SMD:R_0603_1608Metric | R22, R23, R29, R30, R31, R32 |
| 4 | 100k | Resistor_SMD:R_0603_1608Metric | R2, R26, R27, R28 |
| 4 | 1N5819WS | Diode_SMD:D_SOD-323 | D2, D3, D4, D5 |
| 4 | 22nF | Capacitor_SMD:C_0603_1608Metric | C15, C16, C17, C18 |
| 4 | Conn_01x02_Female | Connector_JST:JST_GH_SM02B-GHS-TB_1x02-1MP_P1.25mm_Horizontal | J2, J4, J5, J6 |
| 4 | SI2302DS-T1 | SI2302DS-T1:SOT95P237X112-3N | T1, T2, T3, T4 |
| 3 | 0.1uf | Capacitor_SMD:C_0603_1608Metric | C6, C12, C13 |
| 3 | 4.7k | Resistor_SMD:R_0603_1608Metric | R12, R13, R14 |
| 2 | 1.2k | Resistor_SMD:R_0603_1608Metric | R3, R4 |
| 2 | 1uf | Capacitor_SMD:C_0603_1608Metric | C10, C11 |
| 2 | 5.1k | Resistor_SMD:R_0603_1608Metric | R24, R25 |
| 2 | TS-1187A | Button_Switch_SMD:SW_Push_1P1T_XKB_TS-1187A | SW2, SW3 |
| 1 | 10k | R_0603_1608Metric | R33 |
| 1 | 3.3k | Resistor_SMD:R_0603_1608Metric | Rprog1 |
| 1 | 470R | Resistor_SMD:R_0603_1608Metric | R1 |
| 1 | AO3401 | Package_TO_SOT_SMD:SOT-23 | U2 |
| 1 | AP2112K-3.3TRG1 | Package_TO_SOT_SMD:SOT-23-5 | U3 |
| 1 | B2B-PH-SM4-TB(LF)(SN) | easyeda2kicad:CONN-SMD_B2B-PH-SM4-TB-LF-SN | J3 |
| 1 | CHG | LED_SMD:LED_0603_1608Metric | LED2 |
| 1 | ESP32-S3-WROOM-1-N8R8 | RF_Module:ESP32-S3-WROOM-1 | U8 |
| 1 | MCP73833T-AMI/UN | MSOP-10_3x3mm_P0.5mm | IC1 |
| 1 | MPU-6500 | QFN-24-1EP_3x3mm_P0.4mm_EP1.75x1.6mm | U9 |
| 1 | PCM12SMTR | ESP32_TouchDown_lib:slide switch spdt | SW1 |
| 1 | POW_LED | LED_SMD:LED_0603_1608Metric | LED1 |
| 1 | SS34 | Diode_SMD:D_SMA | D1 |
| 1 | STDBY | LED_SMD:LED_0603_1608Metric | LED3 |
| 1 | USBLC6-2SC6 | Package_TO_SOT_SMD:SOT-23-6 | ESD1 |
| 1 | USB_C_Receptacle_USB2.0 | Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12 | J1 |
It measures 100 × 100 mm and has 2 copper layers, 1.6 mm thick.
109 parts, built around the ESP32-S3-WROOM-1-N8R8, AO3401, AP2112K-3.3TRG1 and MPU-6500. 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.
From the CopperPilot/CopperPilotDronePCB repository on GitHub, at the commit this page was made from: the board is pcb/CopperPilotDrone.kicad_pcb and its schematic pcb/CopperPilotDrone.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask CopperPilot before reusing the design.

hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!


Tinkerbug-Robotics/TinkerRocket
Model rocket flight computer, ground station, iOS app, and simulation

eshelton328/forge
Hardware design monorepo with software-grade CI/CD. KiCad PCB projects with automated ERC/DRC, multi-fab rule validation, schematic & BOM checks, and auto-generated board documentation.

ilomon10/embedded-totalizer-hour-meter
ESP32 engine hour meter & totalizer: firmware, SensorFrame protocol, Node host tools, KiCad PCB and a Deno device simulator

enkhbold470/iron-node
ESP32-S3 industrial gateway: W5500 Ethernet, isolated RS-485 (ADM2587E), CAN, 9-36 V input. 4-layer KiCad 10 board.

donaldbell/productspeedrun
Let's see how quickly we can get a product idea off the ground.

enkhbold470/kicad-projects
Five KiCad 10 boards (4- and 6-layer): ESP32-S3 industrial gateway, USB-C PD bench supply, RP2040 logic analyzer, FOC motor controller, iCE40 FPGA board.