Live data from Hacker News

Vibe-Coding a PCB – surprisingly good

atomic14.substack.com

11–20 of 72 posts

Re: Vibe-Coding a PCB – surprisingly good

#11
post #4

That's a very generic PCB, of which there are already hundreds on the internet, and in the datasheet of the manufacturer of the MCU ...

Similarly to how most web dev isn't exactly on the frontiers of computer science, a lot of day-to-day PCB design isn't about cutting-edge analog or radio stuff. It's just putting the same MCU or SoC on differently-shaped boards over and over again.

If you can reliably automate that, it's still a pretty big deal.

Re: Vibe-Coding a PCB – surprisingly good

#12
post #9

While I think that AI tools can be quite useful for coding, PCB design, and other tasks like that, the setup of this experiment makes it really hard for the LLM to fail. The author's prompt is basically already a meticulous specification of the PCB, even proactively telling the LLM to avoid certain pitfalls ("GPIO19 and GPIO20 on the ESP32-S3 module are USB D- and D+ respectively. Make sure these nets are labeled cor…

> If you had no prior experience building that exact thing, writing that spec would be 95% of the work. Nowadays most mainstream LLMs support pre-bundled prompts. GitHub Copilot even made it a major feature and tools like Visual Studio Code have integrated support for prompt files. https://docs.github.com/en/github-models/use-github-models/s... Also, LLMs can generate prompt files too. I recommend you set aside 10 mi…

> Also, LLMs can generate prompt files too.

Sure, but the utility of that for PCB design wasn't demonstrated in the article. This is an expert going out of his way to give the LLM a task it can't fumble (and still does, a bit).

Re: Vibe-Coding a PCB – surprisingly good

#13
post #4

That's a very generic PCB, of which there are already hundreds on the internet, and in the datasheet of the manufacturer of the MCU ...

Similarly to how most web dev isn't exactly on the frontiers of computer science, a lot of day-to-day PCB design isn't about cutting-edge analog or radio stuff. It's just putting the same MCU or SoC on differently-shaped boards over and over again. If you can reliably automate that, it's still a pretty big deal.

But this is more copy+paste than automating a design process.

Re: Vibe-Coding a PCB – surprisingly good

#14
post #10
post #7

The blog post isn’t clear: Did the LLM actually do the routing? The only screenshot showing connected traces comes after the author says they added ground fills and “tidied up the layout” It’s amazing that this worked at all, but to be clear this layout is actually very bad. Just look at that minimum width trace used to carry power across the entire board and into the ESP32. Using min width traces and wrapping them a…

> Did the LLM actually do the routing? Good question. KiCAD once had a router, built in, or sort of built in, but it was taken out for licensing reasons. So who's doing that?

freerouting plugin is available as a standalone program. It's pretty good. You export DSN from kicad and use freerouting. Not as simple as button click though.

Re: Vibe-Coding a PCB – surprisingly good

#19
post #16

Don't you need a bypass cap on AMS1117 LDO output for stability? Reference design uses two caps each on input and output..

There are numerous serious problems with this PCB. Even skimming the data sheets or design guides for the ESP32 or LDO would reveal them.

I’m puzzled why the post calls it “surprisingly good” when it’s so bad and missing basic requirements for different parts. I guess it’s surprising that anything at all was produced, but it’s weird that the author can’t identify the basic problems with the design.

This is similar to situations where someone uses an LLM to vibe code an app until it kind of works, but then an experienced developer takes one look at the codebase and can immediately see it was not developed with any understanding of the code.

Re: Vibe-Coding a PCB – surprisingly good

#20
post #7

The blog post isn’t clear: Did the LLM actually do the routing? The only screenshot showing connected traces comes after the author says they added ground fills and “tidied up the layout” It’s amazing that this worked at all, but to be clear this layout is actually very bad. Just look at that minimum width trace used to carry power across the entire board and into the ESP32. Using min width traces and wrapping them a…

The video seems more clear. The LLM generated the BOM and netlist using atopile, a tool for specifying the equivalent of a schematic in code. He did the placement and routing in KiCad in the usual way, presumably by hand.

ETA: Other commenters suspect a traditional autorouter based on the poor layout quality. I agree that's also possible, and nothing in the video excludes that. It definitely wasn't the LLM, though.

Post reply on HN