"AI PCB design" demos tend to stop at a nice render. I wanted to know what happens after it: does the board actually work? So on 17 October 2026 I typed six one-paragraph prompts into PCBEditor (the browser EDA tool I work on), let it generate each board end to end, and then reviewed every one the boring way: exported KiCad board, BOM and datasheets side by side, pin by pin.
Short version: five of the six finished fully routed with zero DRC errors and exported Gerbers. Only one of those five was right the first time. The sixth, a 4-layer RP2040 board, didn't finish routing at all.
Update, 19 October: I re-ran the same six prompts on the next release. Four of the six came out right the first time. The results are near the end.
The six prompts
Each was one paragraph, with the parts and numbers I cared about spelled out. Here's the LiPo charger's, word for word:
Single-cell LiPo charger board: USB-C 5 V input, MCP73831 charger set to 500 mA, a charge status LED, a JST-PH 2-pin battery connector, and an AP2112K 3.3 V regulator output on a 3-pin header. 2-layer board.
The others: an ESP32-C3-MINI-1 board with a BME280 over I²C, USB-C, an LDO, a status LED and reset/boot buttons; an NE555 flasher alternating two LEDs at about 1 Hz from a 9 V battery; an Arduino Nano socket driving two DC motors through a DRV8833; an RP2040 with QSPI flash, a 12 MHz crystal and two 20-pin headers on four layers; and an ATtiny85 driving an SSD1306 OLED, with an ISP header and USB micro-B power.
A run takes a few minutes and goes through part research, netlist, placement, routing and a DRC pass, with a log of what it decided at each stage.

The LiPo charger, the one board that was right as generated: 2 kΩ on PROG for 500 mA, the charge LED on STAT, the regulator fed from the battery, 5.1 kΩ on both CC pins.
What the review found
None of these would have been caught by a design-rule check. All four boards passed one.
ESP32-C3: the reset button wasn't a reset button. I asked for "reset and boot buttons". BOOT was right, on GPIO9. "Reset" came out as a user button on GPIO4, with nothing on EN except its pull-up and capacitor. The planner read "reset button" as "a button".
555 flasher: one LED could never flash. The 555 itself was wired correctly (TRIG and THR tied, DIS between the timing resistors, RESET high). But the second LED had its cathode on ground and its resistor to 9 V, so it was simply always on. The timing was also off: 10 kΩ, 100 kΩ and 10 µF give 1.44 / (210 kΩ × 10 µF) = 0.69 Hz, not "about 1 Hz".
Nano motor driver: the Nano had no power. The prompt said "the Nano powered from the motor supply through its VIN pin". The VIN contact on the socket was unconnected, and the board's 5 V net hung off the Nano's +5V pin, which nothing on the board fed. Unplug the USB cable and the whole thing goes dark. The DRV8833 side was textbook, except VINT had 1 µF where the datasheet asks for 2.2 µF.
ATtiny85 OLED: wrong clock pin, no power, a duplicate header. The ATtiny85's I²C hardware (USI) uses PB0 for SDA and PB2 for SCL. SCL landed on PB1 and the push button on PB2. The USB micro-B connector was on the board but not wired to anything, and a second 4-pin header duplicated the OLED socket.
And one that wasn't the AI's mistake but it didn't catch: I asked for a 6-12 V motor supply on a DRV8833, which is rated for 10.8 V on VM (11.8 V absolute max). Nothing flagged it. That's on me as the designer, and it's exactly the kind of thing a tool should warn about.
Fixing by chat
Every fix was one plain-English message that named pins. For the 555:
D2 never flashes: its cathode is on GND, so it is always on. Connect D2's cathode to the 555 output (U1 pin 3, net LED1_CTL) instead of GND, keeping R4 from 9V to D2's anode. Also change R2 from 100k to 68k so the rate is about 1 Hz. Then reroute.
The editor rewired only the three affected nets and kept the other 58 traces where they were. 68 kΩ gives 1.44 / (146 kΩ × 10 µF) = 0.99 Hz. A second message added the 10 nF on pin 5.

The fix request on the right, with the edit log underneath: "Detecting D2 cathode tied to GND", then a reroute of only the nets that changed.
The lesson I didn't expect: re-check after every edit. On the ATtiny85 board, the message that moved SCL to PB2 and the button to PB3 also dragged the ISP header's MISO contact along with the button net, so the chip could no longer be programmed. It took a second message to put MISO back on PB1. The edit did what I asked; it also did something I didn't.
A layout problem the netlist can't show
The ESP32-C3 board had a correct netlist and a clean DRC, and a bad layout. The ESP32-C3-MINI-1's PCB antenna is the end of the module beyond its top row of pads, and Espressif wants it at the board edge with no copper underneath. The first layout put the module in the middle of the board, antenna over a resistor, the regulator and a ground pour covering the whole bottom layer.

Before: module mid-board, antenna end over parts and the bottom-layer ground pour. DRC: clean.
One message ("move U1 to the top board edge with the antenna end facing out, no copper under it") fixed it. The root cause was in the footprint data: its courtyard covered only the pad field, not the antenna, so placement treated the antenna as free board. That's been reported.

After: the antenna overhangs the top edge. 21 parts, 32.6 × 44.1 mm, two layers, all nets routed.
The one that failed
The RP2040 board was the stress test: a 7 × 7 mm QFN-56 at 0.4 mm pitch, QSPI flash, crystal, USB-C, a regulator and two 20-pin headers on four layers. Where it was wired, it was right: SD0-SD3 mapped correctly to the W25Q16, BOOTSEL through 1 kΩ on the flash chip-select like the Pico, 27 Ω USB series resistors. But:
- GPIO26 to GPIO29 were left unconnected. The part check didn't recognise the RP2040's pin names
GPIO26_ADC0toGPIO29_ADC3and concluded the chip has no GPIO26 to 29. - 9 of 47 nets didn't route, and 2 DRC errors remained.
- When I asked it to connect the four ADC pins, it refused the change rather than break existing routes, and the export held back the Gerbers.
Honestly, that's the behaviour I want from a tool when it can't do something: say so, name the nets, and don't hand me files that look finished.
Scorecard
| Board | Parts | Chat edits | Result |
|---|---|---|---|
| LiPo charger | 14 | 0 | Routed, 0 DRC errors |
| ESP32-C3 sensor | 21 | 2 | Routed, 0 DRC errors |
| Nano motor driver | 18 | 1 | Routed, 0 DRC errors |
| ATtiny85 OLED | 10 | 2 | Routed, 0 DRC errors |
| 555 flasher | 11 | 2 | Routed, 0 DRC errors |
| RP2040 (4-layer) | 33 | 2, both refused or timed out | 9 nets unrouted, 2 DRC errors |
Re-run on the next release
The fixes for these went into PCBEditor 1.3.5. On 19 October I ran the same six prompts again, word for word, with no chat edits, and reviewed the exports the same way.
| Board | 17 October | 19 October |
|---|---|---|
| LiPo charger | Right as generated | Right as generated |
| ESP32-C3 sensor | Reset button on GPIO4; antenna mid-board | Right as generated |
| 555 flasher | One LED always on; 0.69 Hz | Right as generated |
| ATtiny85 OLED | SCL on PB1; USB not wired; duplicate header | Right as generated |
| Nano motor driver | Nano's VIN not wired | Nano's VIN still not wired |
| RP2040 (4-layer) | GPIO26-29 missing; 9 nets unrouted; 2 DRC errors | GPIO26-29 wired; 11 nets unrouted; 0 DRC errors |
Four of six were right the first time, up from one. Checked against the datasheets:
- ESP32-C3: the reset button is on EN, with the 10 kΩ pull-up and the capacitor, and BOOT is on GPIO9. The module sits at the top edge with a no-tracks, no-vias keep-out under the antenna.
- 555: the LEDs alternate. 10 kΩ, 68 kΩ and 10 µF give 0.99 Hz, and there's 10 nF on CONT.
- ATtiny85: SDA is on PB0, SCL on PB2, the button on PB3 and MISO on PB1. The micro-B is wired (pin 1 to 5 V, pin 5 to GND, ID open), and there's only one OLED socket.
- Nano: the DRV8833 now has 2.2 µF on VINT, and the run log caught the rating I'd missed: "U1 pin 12 (VM) is on VIN (11.6 V), above the 10.8 V recommended maximum". But the Nano's VIN contact was still unconnected, again with no message. It also added 1 kΩ pull-downs on the four driver inputs. They work, but they draw 5 mA from each Nano pin that's high, and the DRV8833 already has internal pull-downs.
-
RP2040: the part check now reads the
GPIO26_ADC0toGPIO29_ADC3names. All four pins reach the header, along with GND, 3V3, VBUS, RESET and SWD. Routing is still the problem: 11 nets (13 connections) are unrouted on four layers. And this time the export didn't hold the Gerbers back. Open connections count as DRC warnings, not errors, and nothing in the exported files mentions them; only the run log does. The log also claimed there was no header contact left for GPIO26-29, which were already wired.
Two small mismatches remain. The 555's 10 nF control-pin capacitor sits on an electrolytic footprint. And the ATtiny85 board's BOM names a TE micro-B connector on a different maker's land pattern. Neither would stop the board working, but either would trip up an assembler.
So: better, and still not a replacement for the review. Every one of these turned up by working through the checklist below.
What I'd tell anyone trying AI PCB tools
- Put the numbers in the prompt: part numbers, currents, frequencies, which pin does what. Anything you leave out gets decided for you.
- Read the run log. It tells you what it left unconnected and why.
- Review the schematic against the datasheets before you look at the copper. Power path, every reset/boot/enable strap, every special-function pin (I²C, ADC, USB, crystal, programming header), every rating against your supply.
- Look at the layout for things DRC doesn't know about: antennas, connector orientation, decoupling distance.
- After each chat edit, export and re-check, not just the pins you asked about.
- Open the Gerbers in a viewer before you order.
The AI saved me the drafting on all six boards: parts lookup, symbols, footprints, placement, routing. It didn't save me the engineering. Every mistake above was found by reading a datasheet, and every fix was a sentence I wrote.
The full walkthrough, with the routed boards, 3D views, the DRC result and the export options, is at pcbeditor.com/ai-pcb-design.
Top comments (0)