
Layouts
Shmcandi/esp32-devkit-hardware
Production-grade ESP32-WROOM-32E and ESP32-S3 (N16R8) Dual USB-C development board PCB designs created with Atopile & KiCad 10

Production-grade ESP32-WROOM-32E and ESP32-S3 (N16R8) Dual USB-C development board PCB designs created with Atopile & KiCad 10
Test routed is an open-source printed circuit board by Shmcandi, from the Shmcandi/esp32-devkit-hardware repository on GitHub. It is a 2-layer board of 30 × 60 mm with 26 parts on 46 nets, routed with 473 tracks and 32 vias.
It is built around the CH340C, ESP32-WROOM-32E and AMS1117-3.3, with the MMBT3904 among its other parts. Its parts include 8 capacitors, 7 resistors, 3 ICs, 3 connectors and 2 transistors. It belongs with the microcontroller boards boards and the ESP32 boards of this library.
This repository contains production-ready, breadboard-compatible hardware designs for Espressif microcontroller development boards, architected using Atopile (code-defined electronics) and automated layout/routing with KiCad 10 and Freerouting:
pcb2: ESP32-WROOM-32E DevKit (CP2102/CH340 USB-to-UART bridge, auto-programming circuit, dual 19-pin DIP headers).esp32c6: ESP32-S3 (N16R8) DevKit (Dual USB-C ports: Native USB OTG + Hardware UART via CH340C, Addressable SK6812MINI / WS2812B RGB LED on GPIO48, 16MB Flash, 8MB Octal PSRAM, dual 22-pin DIP headers, dedicated antenna keepout).Both boards are designed to fit standard solderless breadboards (25.4 mm / 1.0" header row pitch) with 100% routed dual-layer copper and full manufacturing Gerber packages.
| Feature | ESP32-WROOM-32E DevKit (pcb2) | ESP32-S3 (N16R8) DevKit (esp32c6) |
|---|---|---|
| Microcontroller | ESP32-WROOM-32E (Xtensa Dual LX6 @ 240 MHz) | ESP32-S3-WROOM-1-N16R8 (Xtensa Dual LX7 @ 240 MHz) |
| SRAM / PSRAM | 520 KB SRAM / None | 512 KB SRAM / 8 MB Octal PSRAM |
| Flash Memory | 4 MB Quad SPI Flash | 16 MB Quad SPI Flash |
| AI / Vector Ext. | No | Yes (Vector instructions for TinyML/Edge AI) |
| USB Interfaces | Single USB Type-C (UART Bridge) | Dual USB Type-C (Port 1: Native OTG/JTAG, Port 2: UART Bridge) |
| RGB LED | None (Discrete user LED) | On-Board Addressable RGB LED (SK6812MINI / WS2812B on GPIO48) |
| Power Delivery | AMS1117-3.3 (800 mA) | AMS1117-3.3 (800 mA) from either USB-C port |
| Form Factor | 28.0 mm × 55.0 mm | 30.0 mm × 76.0 mm |
| Breakout Pitch | Dual 19-pin (25.4 mm / 1.0" row pitch) | Dual 22-pin (25.4 mm / 1.0" row pitch) |
| Routing Status | 100% Routed (0 unrouted nets) | 100% Routed (0 unrouted nets, 26 vias) |
| DRC Verification | 0 Violations | 0 Violations |
| Detailed Doc | pcb2 Design Guide | esp32c6 Design Guide |
esp32c6)Designed for advanced Edge AI, computer vision, and high-performance IoT applications requiring large RAM, dual USB-C ports, and addressable RGB lighting.
| Top View (F.Cu) | Bottom View (B.Cu) |
|---|---|
![]() | ![]() |
J3): Native USB OTG, USB-Serial, and on-chip JTAG directly connected to GPIO19 (D-) and GPIO20 (D+).J4): Hardware serial console and automated bootloader flashing via on-board CH340C bridge.esp32c6/gerbers/.pcb2)The classic workhorse ESP32 development board, complete with an onboard CP2102 bridge and automatic reset/boot sequencing for effortless programming via the Arduino IDE, ESP-IDF, or PlatformIO.
| Top View (F.Cu) | Bottom View (B.Cu) |
|---|---|
![]() | ![]() |
EN and IO0 through DTR and RTS signals.pcb2/gerbers/.├── docs/
│ ├── images/
│ │ ├── esp32c6_top.png
│ │ ├── esp32c6_bottom.png
│ │ ├── pcb2_top.png
│ │ └── pcb2_bottom.png
│ ├── esp32c6_design_guide.md
│ └── pcb2_design_guide.md
├── esp32c6/
│ ├── main.ato # Atopile schematic definition
│ ├── ato.yaml # Atopile project config
│ ├── layout.py # Automated KiCad placement & rule setup
│ ├── route.py # DSN export, Freerouting, SES import pipeline
│ ├── layouts/default/ # KiCad 10 board files & routing files
│ └── gerbers/ # Production Gerbers, drill & pick-and-place files
├── pcb2/
│ ├── main.ato # Atopile schematic definition
│ ├── ato.yaml # Atopile project config
│ ├── layout.py # Automated KiCad placement & rule setup
│ ├── layouts/default/ # KiCad 10 board files & routing files
│ └── gerbers/ # Production Gerbers, drill & pick-and-place files
└── README.mdpip install atopile)python.exe and kicad-cli.exe)# Validate Atopile files
ato validate esp32c6/main.ato
ato validate pcb2/main.ato
# Compile to KiCad netlists & footprints
ato build esp32c6/main.ato
ato build pcb2/main.ato# ESP32-S3 Board
& "C:\Program Files\KiCad\10.0\bin\python.exe" esp32c6/layout.py --refresh
& "C:\Program Files\KiCad\10.0\bin\python.exe" esp32c6/route.py
# Check DRC violations
& "C:\Program Files\KiCad\10.0\bin\python.exe" esp32c6/drc_summary.py# Export Gerbers, NC Drills, and Positions
& "C:\Program Files\KiCad\10.0\bin\kicad-cli.exe" pcb export gerbers --layers F.Cu,B.Cu,F.SilkS,B.SilkS,F.Mask,B.Mask,Edge.Cuts,F.Paste,B.Paste -o esp32c6/gerbers esp32c6/layouts/default/default.kicad_pcb
& "C:\Program Files\KiCad\10.0\bin\kicad-cli.exe" pcb export drill --excellon-units mm --excellon-separate-th -o esp32c6/gerbers esp32c6/layouts/default/default.kicad_pcb
& "C:\Program Files\KiCad\10.0\bin\kicad-cli.exe" pcb export pos --format csv --units mm -o esp32c6/gerbers/positions.csv esp32c6/layouts/default/default.kicad_pcbMIT License. Open hardware design — free to manufacture, modify, and distribute.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | 100nF | Capacitor_SMD:C_0603_1608Metric | C3, C5, C7, C8 |
| 4 | 10k | Resistor_SMD:R_0603_1608Metric | R1, R4, R5, R7 |
| 2 | 10uF | Capacitor_SMD:C_0603_1608Metric | C2, C4 |
| 2 | 5.1k | Resistor_SMD:R_0603_1608Metric | R2, R3 |
| 2 | MMBT3904 | Package_TO_SOT_SMD:SOT-23 | Q1, Q2 |
| 1 | 1k | Resistor_SMD:R_0603_1608Metric | R6 |
| 1 | 1uF | Capacitor_SMD:C_0603_1608Metric | C1 |
| 1 | 22uF | Capacitor_SMD:C_0603_1608Metric | C6 |
| 1 | AMS1117-3.3 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U1 |
| 1 | BOOT | Button_Switch_SMD:SW_Push_SPST_NO_Alps_SKRK | SW1 |
| 1 | CH340C | Package_SO:SOP-16_4.4x10.4mm_P1.27mm | U3 |
| 1 | EN | Button_Switch_SMD:SW_Push_SPST_NO_Alps_SKRK | SW2 |
| 1 | ESP32-WROOM-32E | RF_Module:ESP32-WROOM-32 | U2 |
| 1 | HDR-L | Connector_PinHeader_2.54mm:PinHeader_1x19_P2.54mm_Vertical | J1 |
| 1 | HDR-R | Connector_PinHeader_2.54mm:PinHeader_1x19_P2.54mm_Vertical | J2 |
| 1 | RED | LED_SMD:LED_0603_1608Metric | D1 |
| 1 | USB-C | Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12 | J3 |
It measures 30 × 60 mm and has 2 copper layers, 1.6 mm thick.
26 parts, built around the CH340C, ESP32-WROOM-32E, AMS1117-3.3 and MMBT3904. 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 Shmcandi/esp32-devkit-hardware repository on GitHub, at the commit this page was made from: the board is pcb2/layouts/default/test_routed.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask Shmcandi before reusing the design.

Shmcandi/esp32-devkit-hardware
Production-grade ESP32-WROOM-32E and ESP32-S3 (N16R8) Dual USB-C development board PCB designs created with Atopile & KiCad 10



hinewboy/pomodoro-timer
番茄钟 PCB 项目(KiCad):原理图、布局布线自动化脚本、JLCPCB 打样生产文件

OpenSmell/smell-monitor
The enclosure is the simple one a builder can hold in their head: an open tray, a board on four standoffs, modules plugged into eight headers, a flat lid with four M3 screws, a filter pad that drops into the front, and…

blazjerman/ESP32-Based-Sensor-PCB
For updates or additional library formats, visit SnapEDA.

albertoboffi-PERSONAL/fra-clock
A one-off gift PCB designed in KiCad 10: an ESP32 clock with a ring of 180 WS2812B‑2020 LEDs, a photo printed in exposed copper on the front, two Makerverse 8 Ω / 5 W speakers driven by two MAX98357A I²S amplifiers…

KazimGL/ESP32-PowerIoT-DevBoard
ESP32 battery-powered IoT dev board with Li-ion charging, protection, and sensor support — designed in KiCad

nguyenduchan/fiberboard
Fiberboard là bo mạch điều khiển logic tích hợp (AIO), không có driver stepper Nema. Cùng chức năng module ESP32 công nghiệp thông dụng: 4 ngõ vào cách ly + 4 relay + RS485.