Vibe-Coding a PCB: Surprising Results from AI Design

Sunday, July 13, 2025

Join Chris Greening in this exploration of vibe-coding a PCB, where AI tackles hardware design and delivers surprisingly good results.

Vibe-Coding a PCB: Surprising Results from AI Design 🎉

I was expecting this to be pretty bad - but it actually came out quite nicely! Let’s dive into my latest adventure of vibe-coding a PCB. 🚀

The Inspiring Spark 🔥

After "vibe coding" a software-based vibing button in my last video, I decided to take things one step further: vibe-coding the actual hardware. The challenge? Let AI design a working ESP32-S3 development board from scratch.

Tools of the Trade 🛠️

For this experiment, I grabbed Atopile—a nifty tool that converts hardware project code into a KiCad PCB. And to assist me, I enlisted Claude, an AI coding assistant that really performed better than the usual suspects like Cursor for this task!

The AI Prompt 📜

Now, onto the fun part: the prompt. I needed the basics: an ESP32-S3 module, USB-C power and data lines, a 3.3V regulator, reset and boot buttons, status LEDs, a quick connector, and the usual passives.

Here’s the juicy bit of the prompt I tossed Claude's way:

I want to make an ESP32-S3 dev board.

We will need:
- ESP32-S3 module
- USB-C connector with 5.1K resistor on the CC lines
- 3.3V voltage regulator
- A red LED showing 5V is connected
- A green LED showing 3V3 is available
- A blue LED connected to a GPIO pin
- A QWIIC connector for peripherals
- Reset button
- Boot button
- Any additional passive components needed for the above
- An RC circuit for the enable pin on the ESP32-S3 module

The USB-C should provide 5V power and the data lines should directly connect to the ESP32-S3. GPIO19 and GPIO20 will handle USB D- and D+ respectively. All components must use LCSC part numbers and 0603 sizes.

The AI took this prompt and started generating components and wiring instructions. In the spirit of vibe coding, I didn’t peek at the code—just kept saying, “yes,” and watched what unfolded.

The AI Journey (aka, Chaos Ensues) 🌪️

At first, everything looked great! The build succeeded, all components were located and logged. But upon opening KiCad… nothing was wired up. 😱

Where are the wires?

With a quick nudge back to Claude, saying, “you forgot to connect anything,” we were back on track. After another build—success! Everything was wired, just as it should be.

Wiring Success

The Result 🎯

So, what did we cook up? Surprisingly functional:

  • AMS1117 regulator
  • Proper USB-C with CC resistors
  • Differential USB routing
  • Status LEDs
  • Decoupling caps galore
  • Reset and boot buttons
  • A functional RC circuit on EN

While it’s not perfect (no schematic output unless you downgrade to KiCad 5), as a first pass from an AI? Not bad at all! 👏

Final Thoughts 💭

Vibe-coding a PCB feels like we're stepping into the future. We’re on the brink of describing hardware in natural language and letting AI do the nitty-gritty work. While it's not ready to replace a seasoned engineer, it’s definitely poised to be your enthusiastic (if slightly forgetful) assistant.

Next step? Should I send it off to PCBWay and see if it actually works? 🤔

Bill of Materials (BOM) 📝

Here's the BOM for those interested in diving into the components that were selected:

Designator,Footprint,Quantity,Value,Manufacturer,Partnumber,LCSC Part #
"C1, C2, C3",C0603,3,,Samsung Electro-Mechanics,CL10A106MQ8NNNC,C1691
"C4, C5, C6",C0603,3,,YAGEO,CC0603KRX7R9BB104,C14663
CN1,CONN-SMD_4P-P1.00_SM04B-SRSS-TB-LF-SN,1,,JST Sales America,SM04B-SRSS-TB(LF)(SN),C160404
LED1,LED0603-RD,1,,Hubei KENTO Elec,Blue light 0603,C2288
LED2,LED0603-RD,1,,Foshan NationStar Optoelectronics,NCD0603C1,C84264
LED3,LED0603-RD,1,,Hubei KENTO Elec,KT-0603R,C2286
"R1, R2",R0603,2,,UNI-ROYAL,0603WAF5101T5E,C23186
R3,R0603,1,,TyoHM,RMC060310KFN,C269701
"R4, R5, R6",R0603,3,,UNI-ROYAL,0603WAF3300T5E,C23138
"SW1, SW2",SW-SMD_4P-L5.1-W5.1-P3.70-LS6.5-TL_H1.5,2,,XKB Connectivity,TS-1187A-B-A-B,C318884
U1,WIRELM-SMD_ESP32-S3-WROOM-1,1,,Espressif Systems,ESP32-S3-WROOM-1-N16R8,C2913202
U2,SOT-223-3_L6.5-W3.4-P2.30-LS7.0-BR,1,,Advanced Monolithic Systems,AMS1117-3.3,C6186
USB1,TYPE-C-SMD_TYPE-C-24P-QCHT,1,,SHOU HAN,TYPE-C 24P QCHT,C456013
Source: Substack