Hacker News new | ask | show | jobs
by mapontosevenths 26 days ago
I don't think people have realized it yet, but AI can do hardware too. That's what I had hoped this was about.

I had Claude design an entire 4 layer rp2040 based PCB from scratch and PCBWay build it. It worked on the first go, other than some silkscreen overlapped, which doesn't hurt anything. That was before Fable.

Then I had it design a case for the new pcb to 3d print. Also worked the first go, but with minor cosmetic issues.

People have yet to even BEGIN to appreciate what these things can do with the right harness.

11 comments

Witness. I've built three small projects from idea to pilot runs with Ai. Some parts of the process I had some solid experience with, and other parts I was holding the hand of my Ai and hoping he was sober and benevolent. I often had laughing fits of glee when things worked AND I understood them. As good as Ai is at just doing stuff, it's better at explaining and teaching. The back and forth made all the projects better, cheaper, tougher, and ultimately more usable.
For small stuff, sure. For something with more components I don't think it's ever gonna be useful. Routing a pcb is an np-hard problem and, imho, no AI has enough actual thinking capability to make a good job out of it.
The human brain hasn't solved NP-hardness, either. We make it work using heuristics and automation tools, which in turn use heuristics themselves. I see no reason why AI wouldn't be able to take the same approach.
What exactly do you mean by "solved NP-hardness"?
I mean we already have seen this happen with AlphaDev. Not sure why AI would fail at working on NP-hard problems if our current way is to basically guess and keep trying until something clicks (something that is not difficult for an AI system that can just keep running).
An AI that can thrash a Go grandmaster can route a PCB.

There's no reason to think a conventional LLM is the right approach, of course. But the LLM could delegate the task to a program it wrote, given the right prompting and the right feedback loop(s).

What confidence would you have in AI's ability to do 20-40GHz signal routing with good integrity? HDMI + USB4 + USB-C DP AltMode and a bunch of USB4 routing/switching fabric stuff?
Hook it up so it can experiment away by itself with tools, provide a end goal and ask it to iterate until it reached it. What the "AI can do vs not" becomes more about how long you can let it do inference in such loop, with local hardware it gets really cheap (granted you have the hardware already), with remote inference cost is probably the limiter.
> Hook it up so it can experiment away by itself with tools, provide a end goal and ask it to iterate until it reached it

Those "tools" you throw out so cavalierly cost around $50,000 to $300,000 per annual seat license with all the optional packages needed for 40GHz signals (like Cadence Allegro + Sigrity X Speed / SystemSI). Even if AI could do it it'd be much cheaper ($3-8k) to get someone in China to use their license and knowledge to do it.

But how is cost related to "AI's ability to do X"? Of course if you can't afford the required tools, or inference for that part, remote or local, then you can't do any of that stuff. The same if you don't speak/know the language the specifications/manuals/guides are done in, and you can't afford a translator, but kind of besides the point when we're trying to discuss AI's ability to do something.
For hobby stuff, I'd like to create some boards that involve a bit more than the usual MCU. Things like PCIe or USB4 or HDMI. If AI can't do those things for <$2,000 it doesn't make a difference to my life.

At some point the cost makes it irrelevant. If you drive a Bugatti Chiron, you don't care about the price of petrol. Humans or AI, there's not really a difference if the capital costs vastly outweigh the labor costs.

What's special about it, other than more constraints, more things to take into account, and having to simulate/test more - so the need for some specialized SW?

They are different constraints than the ones in SW development, but is there some fundamental difference that prevents replacing the human in the loop with AI in the loop?

Experienced humans can do basic high speed layout without expensive simulation using rules of thumb that worked for them in the past. It’ll be overconstrained and overbuilt, but it will work.

I’m curious if AI’s know enough to do some useful high frequency / data rate layouts without paying for $50,000+ simulation tools.

You can certainly make it produce a lot of design rules of thumb. You can make it do the research for each of those based on the literature. And you can then make the machine sort out the rules of thumb by effect and quantify them meaningfully.

Then you can make it process existing good designs and make it propose a general design/routing methodology (and it's own scripts/tools for calculating/optimizing the "thumb" rules that would be used throughout) for initial placement/routing of key components based on all the collected data.

Then you may have enough context and tools to have it make use of them during design.

Right. Okay - so you have no idea if it does or not. Thank you.
I actually tried a few of the steps, but whatever.
That's mildly surprising to me, given what I've seen when I ask current models to make an SVG of something.

Would I be on the right track if I guessed there's a DSL for designing PCBs that would help enforce functional correctness?

A lot of human PCB errors could be caught by analyzing the netlist against requirements and knowledge of the datasheet. Schematic and board formats are usually plaintext, so you can generate those directly even. Or kicad + python?

That’s probably enough for an LLM to check if you’ve mis-wired something, missed a part or chose the wrong resistor to set a regulator voltage. Plus good old DRC/ERC. If you pass all of those, there’s a good chance things will work unless your placement is really bad, but you could manually lay out and autoroute a lot of simple boards. Not to belittle the parent but a 4 layer board is actually simpler in some ways because you have a power plane which is one less net to worry about.

For analog work you can even run a SPICE simulation.

You got it. It was kicad and python, with the builtin DRC/ERC. It had to iterate quite a lot to get it to pass, but once it did the board was solid, if not elegant. I almost feel like kicad was the real hero.

A human would have done a better job, and maybe used half the PCB... but it got it done and at the end of the day the board is 100% functional, and 100% machine designed.

Maybe there’s more PCB designs on the internet than there are pelicans riding bikes? ;)
Could well be, but my case was "illustrate this orbit" rather than copying Simon Willson.

After a few rounds, I gave up on asking the LLM and just drew my SVG in BBEdit.

My attempt at VHDL was a failure but at least it helped me to get a modern build on a Sockit.

But that was a few months ago, getting high hope with fable and seeing killed before I could even try it for that project killed all my motivations.

I tried my hand at making a pcb for a project in high power rocketry but I gave up in frustration. Maybe I’ll try again and see if claudecode can help me get over the hump.
Yeah lets just take the human out of the loop in regards to the DIY missile. Sure.
haha not really, so in larger model rockets they go so high that you use two parachutes. The first is deployed at apogee but it's very small so the rocket descends fast and doesn't float (miles in some cases) away, the second is larger and deployed at a pre-set altitude to slow the rocket enough to hit the ground without causing damage to itself or whatever it lands on. To do this you have an onboard altimeter and small blackpowder charges that are used to "pop" out the parachutes.

The altimeters are available OTC but i wanted to use my pi-zero and an IMU with a barometer. What I was designing was an i2c pyro board that could ignite up to 4 e-matches that sets off the blackpowder charges.

I've met the guy that made this altimeter, it's pretty amazing. The hobby is filled with engineers so some of the stuff they come up with is impressive. https://www.featherweightaltimeters.com/blue-raven-altimeter...

Im surprised by how bad LLMs are with SVGs but somehow are oke-ish with CAD and other weird files.
An SVG is like a cartoon, and throws away a lot of information, a "good SVG" of some subject chosen to be familiar to both animals and humans might look good to one but not the other. The cycling flamingo is a kind of art curation test.

Functional PCB "artwork" is actually not intended for visual consumption, it must meet constraints and advice scattered in documentation, prior "art" in the training corpus, etc.

It doesn't need to be surprising at all

A good static SVG cartoon can be viewed as a multispectral photographic video, with a lot of information thrown away and distorted or oversimplified. Different species will disagree about what information should have been kept vs thrown away. A bee would "complain" it can't see any of the plant's UV markers when presented with plant imagery. Many animals depend on motion or movement to identify predator or prey.

At a certain point culture and personal life experiences start conflicting even within the human subgroup, and we see people argue why this or that flamingo is better than the other.

For circuits then can be simulated. They have a of constraints that might make the problem space a lot smaller. Maybe there are also a lot of text on what makes a good design.

I also believe most design related to a physical object have documentation justifying the choices.

What do you to get the case? I use build123d with Python and the results are pretty good!
> Then I had it design a case for the new pcb to 3d print.

Can you elaborate on this? What did you use to "design" it?

Im thinking of getting a 3d printer and would love to explore this intersection a bit more.

What harness have you been using for EDA/CAD stuff?
In so far as AI can do hardware reliably you can bet your bottom dollar the big chip fabs have already been doing that. They don’t call it AI though and the models aren’t language based, surprisingly enough /s
EDA tools have been using ML techniques for >10yrs afaik
Yes they don’t call it AI