PcbBot
BerkeleyHCI·PolymorphicBlocks·examples/PcbBot/PcbBot.kicad_pcb
About the PcbBot PCB
PcbBot is an open source ESP32 PCB design by BerkeleyHCI, published on GitHub under the BSD-3-Clause license. It is a 2-layer board measuring 110 × 97.2 mm, with 107 components from 42 distinct parts.
Its main chip is the ESP32-S3-WROOM-1-N16R8, from the ESP32 family. Other key parts include the LDL1117S33R, MCP73831T-2ACI/OT, PESD5V0X1BT, LSM6DS3TR-C and QMC5883L. By type, the board carries 26 capacitors, 25 diodes, 18 resistors, 13 connectors, 10 ICs and 5 test points.
It belongs with the keyboards and iot & wireless designs in this gallery.
From the project
A Python-based hardware description language for PCBs for higher-level (block-diagram / system-architecture level) PCB design through libraries of directly reusable subcircuit generators.
subcircuit generator library based hardware description language for circuit board design
Polymorphic Blocks is an open-source, Python-based hardware description language (HDL) for schematic-equivalent design of printed circuit boards (PCBs). Its library of components provide a high-level abstraction for circuit design while subcircuit generators automate the calculation of fine details. Abstract component interfaces enable these libraries to be general across applications and component vendors.

Main components on the PcbBot
PcbBot bill of materials (BOM)
107 components, 42 distinct parts.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | LDL1117S33R | SOT-223-3_TabPin2 | U1 |
| 1 | MCP73831T-2ACI/OT | SOT-23-5 | U2 |
| 1 | ESP32-S3-WROOM-1-N16R8 | ESP32-S3-WROOM-1 | U3 |
| 1 | PESD5V0X1BT | SOT-23 | U4 |
| 1 | LSM6DS3TR-C | Bosch_LGA-14_3x2.5mm_P0.5mm | U5 |
| 1 | QMC5883L | LGA-16_3x3mm_P0.5mm | U6 |
| 1 | PCA9554APW,118 | TSSOP-16_4.4x5mm_P0.65mm | U7 |
| 1 | ER-OLED-0.96-1.1 | Lcd_Er_Oled0.96_1.1_Outline | U8 |
| 1 | XC6206P252MR | SOT-23 | U9 |
| 1 | XC6206P122MR-G | SOT-23 | U10 |
| 1 | 20V 3.1A 860mW 112m?@4.5V,2.8A 1V@250?A P Channel SOT-23(SOT-23-3) MOSFETs ROHS | SOT-23 | Q1 |
| 1 | 60V 115mA 200mW 7.5?@10V,500mA 2.5V@250?A N Channel SOT-23(SOT-23-3) MOSFETs ROHS | SOT-23 | Q2 |
| 1 | 30V 4A 44m?@10V,4.3A 1.4W 1.3V@250?A P Channel SOT-23-3L MOSFETs ROHS | SOT-23 | Q3 |
| 1 | COM-15111 | USB_C_Receptacle_XKB_U262-16XN-4BVC11 | J1 |
| 1 | B2B-PH-K | JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical | J2 |
| 1 | PinHeader2.54 1x4 | PinHeader_1x04_P2.54mm_Vertical | J3 |
| 4 | PinSocket2.54 1x6 | PinSocket_1x06_P2.54mm_Vertical | J4, J5, J6, J7 |
| 1 | AFC01-S30FCA-00 | Hirose_FH12-30S-0.5SH_1x30-1MP_P0.50mm_Horizontal | J8 |
| 4 | PinHeader2.54 1x3 | PinHeader_1x03_P2.54mm_Vertical | J9, J10, J11, J12 |
| 1 | AFC01-S24FCA-00 | Hirose_FH12-24S-0.5SH_1x24-1MP_P0.50mm_Horizontal | J13 |
Show 22 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | 6V 2A 100A 4A 1206 Resettable Fuses ROHS | R_1206_3216Metric | F1 |
| 3 | — | JlcToolingHole_1.152mm | H1, H2, H3 |
| 2 | 5.1mm switch | SW_SPST_SKQG_WithoutStem | SW1, SW2 |
| 1 | PG151101S11 | SW_Hotswap_Kailh_MX | SW3 |
| 1 | gnd | TestPoint_TE_RCT_0805 | TP1 |
| 1 | vbatt | TestPoint_TE_RCT_0805 | TP2 |
| 1 | v3v3 | TestPoint_TE_RCT_0805 | TP3 |
| 1 | i2c_chain_0.scl | TestPoint_TE_RCT_0805 | TP4 |
| 1 | i2c_tp._io_sda_link | TestPoint_TE_RCT_0805 | TP5 |
| 2 | 30V 370mV@1mA 30mA SOD-323 Schottky Barrier Diodes (SBD) ROHS | D_SOD-323 | D1, D2 |
| 1 | 10?A@2V 5? Single 5.32V~5.92V 1W 5.6V SMAF Zener Diodes ROHS | D_SMA | D3 |
| 1 | 40V 600mV@1A 1A SOD-323 Schottky Barrier Diodes (SBD) ROHS | D_SOD-323 | D4 |
| 1 | 5?A@1V 90? Single 3.6V~3.8V 350mW 3.4V SOD-123 Zener Diodes ROHS | D_SOD-123 | D5 |
| 1 | — | LED_0603_1608Metric | D6 |
| 1 | Red 615~630nm 1.9~2.2V 0603 Light Emitting Diodes (LED) RoHS | LED_0603_1608Metric | D7 |
| 1 | COM-09264 | LED_D5.0mm-4_RGB_Staggered_Pins | D8 |
| 16 | WS2812B | LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm | D9, D10, D11, D12, D13, D14, D15, D16 +8 |
| 1 | SK6812MINI-E | LED_SK6812MINI-E | D25 |
| 19 | — | C_0603_1608Metric | C1, C6, C7, C8, C9, C10, C11, C13 +11 |
| 6 | — | C_0805_2012Metric | C2, C3, C4, C12, C16, C19 |
| 1 | — | C_1206_3216Metric | C5 |
| 18 | — | R_0603_1608Metric | R1, R2, R3, R4, R5, R6, R7, R8 +10 |
PcbBot design files
The KiCad project lives in the BerkeleyHCI/PolymorphicBlocks repository on GitHub; these links point at the commit this page was built from.
PcbBot: common questions
What microcontroller does the PcbBot use?
The PcbBot is built around the ESP32-S3-WROOM-1-N16R8, from the ESP32 family.
How big is the PcbBot PCB?
The PcbBot measures 110 × 97.2 mm, has 2 copper layers and is 1.6 mm thick.
How many components are on the PcbBot?
107 components, from 42 distinct parts. The full bill of materials is listed on this page.
Where can I download the PcbBot design files?
From the BerkeleyHCI/PolymorphicBlocks repository on GitHub, which has the KiCad layout; the links under Design files point to each one.
Can I use the PcbBot design in my own project?
Yes, under the terms of its BSD-3-Clause license, which BerkeleyHCI chose for the repository.
Can I test firmware for the PcbBot without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug ESP32 firmware against it before you order a PCB.
More boards in PolymorphicBlocks
ESP32
UsbSourceMeasure
BerkeleyHCI
168 × 52 mm310 parts4LBSD-3-Clause91RP2040/RP2350
FcmlPanel
BerkeleyHCI
115 × 72 mm240 parts2LBSD-3-Clause91RP2040/RP2350
Fcml
BerkeleyHCI
78 × 72 mm179 parts2LBSD-3-Clause91ESP32
IotThermalCamera
BerkeleyHCI
30 × 95 mm119 parts2LBSD-3-Clause91ESP32
SevenSegment
BerkeleyHCI
226 × 74.4 mm114 parts2LBSD-3-Clause91RP2040/RP2350
RobotCrawler
BerkeleyHCI
60 × 80 mm112 parts2LBSD-3-Clause91ESP32
EspLora
BerkeleyHCI
63 × 81 mm104 parts2LBSD-3-Clause91ESP32
IotIron
BerkeleyHCI
100 × 36 mm93 parts2LBSD-3-Clause91ESP32
RobotDriver
BerkeleyHCI
116.5 × 82.3 mm86 parts2LBSD-3-Clause91Keyboard
BerkeleyHCI
64.1 × 103.2 mm80 parts2LBSD-3-Clause91IotFan
BerkeleyHCI
24 × 70 mm56 parts2LBSD-3-Clause91
Similar boards
ESP32
Open Book Abridged Edition
joeycastillo
85 × 115 mm65 parts2LCC-BY-SA-4.08.1kESP32
Esp32 minimal
atopile
36.2 × 26.8 mm20 parts2LMIT4.0kESP32
Badge
atopile
56.3 × 39 mm239 parts4LMIT4.0kESP32
Controller
StuckAtPrototype
29 × 74 mm58 parts4LApache-2.03.8kESP32
Racer
StuckAtPrototype
36 × 50.2 mm70 parts4LApache-2.03.8kESP32
Bitaxe
skot
56.5 × 99.8 mm86 parts4LCERN-OHL-S-2.01.4k