DEV Community

Cover image for I asked Claude to design a PCB. Here's exactly where it stopped working.
Dibyaprakash Pradhan
Dibyaprakash Pradhan

Posted on Originally published at pcbeditor.com AI-assisted

I asked Claude to design a PCB. Here's exactly where it stopped working.

I have been building an AI-native PCB editor for a few months. Before I wrote a line of it, I did the obvious thing: I opened Claude and asked it to design a board.

The result taught me more about where AI belongs in hardware than any amount of planning would have.

What went well, and it genuinely did

I asked for a 5V to 3.3V regulator circuit for an ESP32 sensor node.

Claude gave me a sensible answer. It picked an AMS1117-3.3, explained why an LDO was fine here rather than a buck converter given the current draw, and told me to put a 10µF on the input and 22µF on the output. When I asked why the output capacitor was larger, it explained the LDO's stability requirement properly.

Then I asked for the netlist. It gave me one, in text, and it was structurally reasonable:

VIN  -> U1.3, C1.1
GND  -> U1.1, C1.2, C2.2, U2.GND
3V3  -> U1.2, C2.1, U2.VDD
Enter fullscreen mode Exit fullscreen mode

If you are learning electronics, this is genuinely useful. It is a competent engineer talking you through a decision.

Then I asked for the board

This is where it stopped, and the way it stopped is the interesting part.

I asked Claude to place the components on a 20x20mm board and route the traces. It produced coordinates. They looked plausible. They were not.

Two components overlapped. A trace ran through a pad it had nothing to do with. The board outline did not enclose everything. And there was no way for it to know any of that, because it was generating text that described a board, not operating on a board.

That distinction is the whole thing.

Why it is structural, not a model problem

My first instinct was that a better model would do better. That is wrong, and understanding why saved me from building the wrong product.

Routing a PCB is a search problem over physical space with hard constraints. You need to know that this trace is 0.2mm from that pad, that the clearance rule says 0.15mm, and therefore this route is illegal. That is a geometry query against a spatial index. A language model has no spatial index. It has never measured anything.

The same applies to design rule checking. DRC is not an opinion about whether a board looks right. It is a set of measurements against a set of thresholds. A board either has 0.15mm clearance everywhere or it does not, and the answer must be computed, not recalled.

And fabrication output makes it concrete. Gerber and Excellon are exact formats. A fab does not accept a plausible drill file.

So the limit is not "Claude is not smart enough yet." The limit is that these are the wrong kind of problem for a text generator, in the same way that a calculator is the wrong tool for writing a poem.

What I built instead

The split I landed on in PCBEditor:

AI decides. Algorithms verify.

  • Part selection: AI. Which regulator, which sensor, what topology. Genuine judgement, and a model is good at it.
  • Footprints: library first, AI only as fallback. A footprint is a fact defined by IPC-7351, not an opinion. When we do have to generate one, it is badged unverified so nobody mistakes a guess for a datasheet.
  • Placement: constrained AI. The thermal and signal-integrity rules are code. The model picks among candidates that already satisfy them. Judgement inside a fence.
  • Routing: zero AI. A router written from scratch in Rust, doing multi-layer A* with rip-up-and-reroute, and producing a graph-based connectivity proof. It proves its output rather than asserting it.
  • DRC: zero AI. A rule engine with deterministic self-heal.

The test I hold it to: if I swap the model tomorrow, the boards must still be correct. That is only true if correctness lives in code, not in the model.

The counter-intuitive part

Constraining the AI made it more useful, not less.

When I let the model place components freely, I got plausible nonsense. When I gave it a set of pre-validated candidate placements and asked it to choose, I got good boards. Same model. The difference was that the second version could only produce valid answers.

I think this generalises. The interesting question for most AI products is not "how do we get the model to do more" but "what is the smallest set of decisions we can hand it, where being wrong is recoverable."

So: is Claude useless for PCB design?

No, and I would be lying if I said so. I still use it as a design partner. It is excellent for talking through a topology, sanity-checking a power budget, or explaining why my decoupling is in the wrong place.

It just cannot hand you a board. Nothing that generates text can, and that is fine, because that was never the hard part.

If you want to see the split running on a real board, the editor is free and needs no install: pcbeditor.com.


Where would you draw the line? If you have built something with a similar probabilistic/deterministic split, I would like to know where you put the boundary, and whether you got it right the first time. I did not.

Top comments (0)