> Initially, everything looked great. The build succeeded, all components were found and added. But when I opened KiCad… nothing was wired up. Maybe this is pedantic, but I thought that the core point of "Vibe Coding" is that you do not look at the code . You "give in to the 'vibes'". I don't know how to translate it into a physical hardware product exactly, but I think it would be manufacturing it without looking at…
Vibe-Coding a PCB – surprisingly good
41–50 of 72 posts
Re: Vibe-Coding a PCB – surprisingly good
#42Earlier quoted context omitted.
> 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 and min clearance to components is a classic mistake of people (or LLMs?) that have zero understanding of PCB layout techniques beyond “draw lines until everything is connected” Is it rea…
No, but at that point, why even leverage a stochastic text generator? Placing hard constraints on a generative algorithm is just regular programming with more steps and greater instability. Edit: Also, one could just look to the world of decision tree and route-finding algorithms that could probably do this task better than a language model.
It's like how pairing a coding agent that can run unit tests and iterate is way more powerful than code gen alone.
Re: Vibe-Coding a PCB – surprisingly good
#43> Initially, everything looked great. The build succeeded, all components were found and added. But when I opened KiCad… nothing was wired up. Maybe this is pedantic, but I thought that the core point of "Vibe Coding" is that you do not look at the code . You "give in to the 'vibes'". I don't know how to translate it into a physical hardware product exactly, but I think it would be manufacturing it without looking at…
Re: Vibe-Coding a PCB – surprisingly good
#44It's been my direct and many-times-repeated experience that o3 is an incredible electronics engineering wingman, so long as you follow good LLM hygiene; basically, verify all important assumptions, actually read the datasheets, err on the side of too much detail.
The time spent crafting prompts is the time I would spend planning and iterating on designs anyhow. Unlike a human, I don't have to pay them by the hour to patiently explain the nuances of different diodes or suggest alternative parts. o3 is remarkably good at rapidly grokking intent and making suggestions that have unblocked me.
For the camp of armchair quarterbacks on this site who demand specific "evidence" that we're not all just hallucinating the value of these tools, here are two things that happened just this week:
I was blowing my brains out troubleshooting a touch IC, IS31SE5117A. No matter how good my reflow or how many units I tried, I could not bring up an I2C connection. Based only on the fact that Cref refused to rise above ~0.1V when it's supposed to be about 0.7V, it suggested that it seemed likely that I had units from a batch that had no firmware. After going back and forth with their lead engineer for a week, I ordered a few IS32SE5117A - automotive/medical spec, same chip - and it worked immediately, prompting a product recall.
I'd managed to implement galvanic isolation on my USB connection to eliminate audio hum, but it turns out that touching a capacitive pad on a device that has no outside ground connection means that static has nowhere to go but to reboot the microcontroller. I'd been chasing my tail on this for a while, but o3 suggested that instead of isolating my whole device, I could just isolate my MIDI OUT circuit. This is one of those facepalm moments that only seems obvious in hindsight. I told my partner that abandoning weeks of effort was first very hard, and then very easy.
Finally, last night I had Cursor generate both sides of an SPI connection between two ESP32-S3s, something I had never done before. I obviously could have figured it out in 2020, but it would have taken me 1-2 weeks and it wouldn't be nearly as clean or cover as many edge cases.
My hottest take is that LLMs are already (far?) more valuable for engineering tasks than coding. That's kind of unfair because by definition, these tasks involve coding. The speed at which I've been able to iterate has been kind of nuts.
Also: any claims that people who tackle complex domains from a cold start somehow aren't learning fundamentals from a mentor with infinite patience and awareness of every part and circuit design pattern are simply wrong.
Re: Vibe-Coding a PCB – surprisingly good
#45Can’t wait for cheap vibe coded electronics to flood Amazon and burn houses down.
The traces for the power lines are extremely thin, this device may suffer issues related to that. These devices pull a lot of power when Wifi is on, and too-thin traces aren't going to help that. Depending on the device, those traces might act like a fuse (and go poof), and I can imagine there could be plenty of other issues that could lead to fires from a "vibe coded" PCB.
Re: Vibe-Coding a PCB – surprisingly good
#46> Initially, everything looked great. The build succeeded, all components were found and added. But when I opened KiCad… nothing was wired up. Maybe this is pedantic, but I thought that the core point of "Vibe Coding" is that you do not look at the code . You "give in to the 'vibes'". I don't know how to translate it into a physical hardware product exactly, but I think it would be manufacturing it without looking at…
Yet I have to say that if you are correct, the term is no different than eating tide pods or dry swallowing cinnamon. Why tf would anyone impose such an absurd artificial constraint on themselves, on the tool, or on whatever they are trying to build? Good faith question, I promise.
Constructing detailed prompts to ultimately pair program impressive, complex outcomes is what I assumed vibe coding was. After 35 years of not being able to tell a computer to write the code for me, even getting an 80% coherent first pass of a sophisticated refactor was already radical enough.
If that's what vibe coding is, then nobody should be using that term because it might be the perfect example of "just because you can, doesn't mean you should".
Re: Vibe-Coding a PCB – surprisingly good
#47The 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…
I could be wrong, but that looks like autoroute to me just based on the aesthetics of it, autoroute has a bit of a "smell" that you can recognize if you pay attention. For example see the via and traces to the left of SW2. No human I know, even a total noob designing their first ever PCB, would do that. Also, it certainly wasn't the LLM; atopile doesn't allow you to specify routing as far as I'm aware, their docs see…
As said noob, do you have any resources for basic PCB design/routing? Along the lines of a simple list of things to look out for?
I've only ever done one, and for routing I basically did the "make two ground pours, then keep clicking until everything is connected" process that others have described in this thread. Probably about the same as I'd imagine an autorouter would have. And it seems like it worked fine in the end. But I'm wondering what obvious things I probably missed, and what the consequences are to missing them? PCB layout articles online seem to quickly get into topics like differential pair length matching, high-frequency / RF circuits, optimizing current return paths, controlled impedance, and so on... none of which I imagine will ever be relevant to me as a hobbyist.
Re: Vibe-Coding a PCB – surprisingly good
#48> Initially, everything looked great. The build succeeded, all components were found and added. But when I opened KiCad… nothing was wired up. Maybe this is pedantic, but I thought that the core point of "Vibe Coding" is that you do not look at the code . You "give in to the 'vibes'". I don't know how to translate it into a physical hardware product exactly, but I think it would be manufacturing it without looking at…
I'm not saying you're wrong, or that I know better. Yet I have to say that if you are correct, the term is no different than eating tide pods or dry swallowing cinnamon. Why tf would anyone impose such an absurd artificial constraint on themselves, on the tool, or on whatever they are trying to build? Good faith question, I promise. Constructing detailed prompts to ultimately pair program impressive, complex outcomes…
IDK! I don't think Vibe Coding, with the definition that I understand, is a good idea.
But the term comes from here: https://x.com/karpathy/status/1886192184808149383
And the key parts are:
> "forget that the code even exists"
> "I don't read the diffs anymore"
I myself am unclear on what the "vibes" that one is giving into actually are. But terms should have meanings and my understanding from reading the original tweet is that "Vibe Coding" means something distinct from "coding using some AI to help".
Re: Vibe-Coding a PCB – surprisingly good
#49Re: Vibe-Coding a PCB – surprisingly good
#50Earlier quoted context omitted.
> 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).
Forget about the article. Try it yourself. Set aside 5 or 10 minutes to ask any LLM of your choice to generate a LLM prompt to generate PCBs. Iterate over your prompt before using it to generate your PCB. See the result for yourself.