Case Study

DeepPCB on PCBWorld-Bench: the top one-attempt score on both test sets

Default Avatar
Alain-Sam Cohen

LG AI Research’s PCBWorld-Bench scores routers on real KiCad boards. With one attempt per board on its standard routing model, DeepPCB comes back clean on 92 of 99 small boards and 24 of 30 medium-board attempts, ahead of every method in the paper’s one-attempt results. Every attempt counts, failures included: no cherry-picking.

In short

  • D3-A, 99 small boards: 0.929, 92 of 99 on one attempt each. Best other method: 0.81.
  • D3-B, 10 medium boards: 0.800, 24 of 30 attempts (three per board, all counted). Best other method: 0.64.
  • Fast: the first clean board arrives after a median 38 s (D3-A) and 46 s (D3-B) of engine time.
  • Fewer vias, no detours: 0.59x and 0.50x the reference boards’ vias, at 0.94x and 0.95x the track length.
  • Standard model, nothing tuned: these scores come from our standard routing model, not our most powerful one. We did not train, tune or configure anything for this benchmark, and every board reaches us with its copper stripped: it scores only if the copper our engine puts back passes KiCad’s own check on the benchmark’s rules.

A board is a Clean Pass when it is fully connected with zero error-level violations in KiCad’s own design-rule check. One missing connection scores zero.

The published field, with time

Every method the paper reports with one attempt per board (its Tables 21 and 22), as published, with our row added (source: arXiv 2607.05915v4).

MethodD3-A, one attemptTime per attemptD3-B, one attemptTime per attempt
Reference (the benchmark’s reference boards)1.00not reported1.00not reported
DeepPCB0.9293 min; first Clean Pass 38 s (median)0.8003 min; first Clean Pass 46 s (median)
PPO (w/o finish)0.813.05 s0.2214.44 s
Freerouting0.757.09 s0.649.94 s
KiCadRoutingTools0.740.65 s0.203.27 s
PPO0.681.83 s0.2110.77 s
PPO (terminal)0.652.58 s0.1512.60 s
GRPO0.643.54 s0.0711.20 s
GPT-5.40.42231.15 s0.00865.83 s
Qwen3.5-397B0.1981.82 s0.00222.29 s
GPT-5.4-nano0.15100.76 s0.00510.25 s
GPT-5.4-mini0.1356.85 s0.00422.06 s
OrthoRoute0.022.20 s0.009.30 s

Their times are per attempt; ours is the 3 minutes each attempt is scored at, plus the median time to the first clean board. The paper also reports a best-of-five score, where each method gets five attempts per board and the paper’s own scoring function keeps one. A single DeepPCB attempt is level with the best of those on D3-B (0.800 against 0.78) and just below on D3-A (0.929 against 0.94). 95% intervals: D3-A [0.861, 0.965]; D3-B [0.627, 0.905], which still includes 0.64: ten boards is too few to separate the two.

Clean Pass against time

Share of attempts whose board at each moment is a Clean Pass, from 0 to 3 minutes of engine time, one panel per test set, with the best other method's score marked

By 1 min both test sets are above the best other method’s score: D3-A at 90% against 81% and D3-B at 77% against 64%. A later revision can occasionally break a rule an earlier one met, so the curve can dip.

How we ran it

  • The task: each test board keeps its placement and loses its copper; the router puts the copper back. We ran the two test sets the paper scores, D3-A (99 boards) and D3-B (10), from the public PCBWorld and PCBench repositories.
  • The score: every attempt is scored on the board it held after 3 minutes of engine time, with KiCad’s own check on the benchmark’s rules and the benchmark’s own Clean Pass rule. Our scorer reproduces the paper’s 100% on the reference boards, and an independent re-score agrees on every attempt.
  • Our choices, stated: the benchmark sets no time limit, so we picked 3 minutes after seeing the curve (at 5 minutes: 0.919 on D3-A and 0.800 on D3-B). Our board format rounds 6-mil tracks to 0.152 mm, so the KiCad write-back restores the rule width and changes nothing else; without it, 7 passing attempts would fail by 0.4 µm (0.889 on D3-A and 0.700 on D3-B).
  • Every attempt counts: the denominators are the benchmark’s own lists of 99 and 10 boards, including one board our service refused, which counts as a miss. Jobs that never started, and one early D3-B batch built from an outdated preparation of the boards, were run again.

Where it fails

13 of 129 attempts miss, on 11 boards: 9 on copper our KiCad importer never passes to the router (pads with no pad number, labels drawn in copper), 2 on a clearance miss of under 10 µm, 1 where the engine counts connections KiCad does not see and 1 board our service refused at submission. Every one counts as a miss.

Vias and track against the reference board

The benchmark’s data cleaning re-routes every copper-pour net with an autorouter (PCBench notes), so we compare with the reference only on nets without a pour in the author’s original file, and add those nets up over every board compared.

Test setBoards comparedTotal vias, DeepPCB vs referenceTotal track length, DeepPCB vs reference
D3-A9045 vs 76 (0.59x)10,300 mm vs 11,011 mm (0.94x)
D3-B916 vs 32 (0.50x)3,774 mm vs 3,957 mm (0.95x)

Fewer vias and shorter track: the savings are not bought with detours.

Limits

  • Two-layer boards: every D3-B board and 98 of the 99 D3-A boards. This says nothing yet about dense multilayer work.
  • D3-B is small: 10 boards, each tried three times. The three rounds came back clean on 6, 9 and 9 of the 10 boards, and one attempt more or less moves its score by about 0.03.

FAQ

Is there a public benchmark for AI PCB routers? Yes. PCBWorld-Bench scores routers on real KiCad boards with KiCad’s own design-rule check, against reinforcement-learning agents, LLM agents and classical autorouters.

Why one attempt and not the paper’s best of five? Best of five needs five attempts per board and the paper’s own scoring function to pick which one counts. We have not reproduced that function exactly, so our number would not be comparable. One attempt needs no picking, so it matches the paper exactly. On D3-B we ran three attempts per board and report their average, not the best.

Did you use a special model, or tune anything? No. Every attempt ran on our standard routing model, not our most powerful one, and we did not train, tune or configure anything for this benchmark.

Can I reproduce it? Yes. The boards, the lists of test boards and the scorer are public, in the PCBWorld and PCBench repositories.

Eight of the boards

Eight of the largest boards by number of connections, among the designs with a permissive license: the ones in the image at the top. The scores above count every attempt on all 109 boards. Each card shows the board one attempt held after 3 minutes, copper only.

D3-A

NavigationThingBacklight (D3-A, board 0034)

NavigationThingBacklight routed by DeepPCB

Clean Pass 1 of 1 · first clean board 36 s · 0 vias, 48 mm of track (reference: 0 vias, 52 mm) · 2 layers, 14 airwires, 22.1 x 8.2 mm

Design by Jan Mrázek, github.com/yaqwsx/NavigationThing, MIT. Copyright (c) 2016 Jan Mrázek. License text. Image: DeepPCB’s modified version (re-routed copper only, silkscreen omitted), September 2026.

esp8266 wi07 3 adapter esp (D3-A, board 0072)

esp8266 wi07 3 adapter esp routed by DeepPCB

Clean Pass 1 of 1 · first clean board 33 s · 1 via, 126 mm of track (reference: 6 vias, 116 mm) · 2 layers, 15 airwires, 22.2 x 21.6 mm

Design by Marcin Białoń, github.com/mbialon/esp8266_wi07_3_adapter, MIT. Copyright (c) 2015 Marcin Białoń. License text. Image: DeepPCB’s modified version (re-routed copper only, silkscreen omitted), September 2026.

z2amiller sensorboard programmer (D3-A, board 0073)

z2amiller sensorboard programmer routed by DeepPCB

Clean Pass 1 of 1 · first clean board 36 s · 0 vias, 142 mm of track (reference: 0 vias, 152 mm) · 2 layers, 15 airwires, 26.2 x 18.6 mm

Design by z2amiller (Andy Miller), github.com/z2amiller/sensorboard, MIT. Copyright (c) 2015 z2amiller. License text. Image: DeepPCB’s modified version (re-routed copper only, silkscreen omitted), September 2026.

breakout boards usb-5v-3v3 (D3-A, board 0076)

breakout boards usb-5v-3v3 routed by DeepPCB

Clean Pass 1 of 1 · first clean board 32 s · 0 vias, 94 mm of track (reference: 0 vias, 29 mm) · 2 layers, 22 airwires, 25.1 x 18.1 mm

Design by Phillip Pearson, github.com/myelin/breakout-boards, MIT. Copyright (c) 2015 Phillip Pearson. License text. Image: DeepPCB’s modified version (re-routed copper only, silkscreen omitted), September 2026.

BB-PWR-8009 revA (D3-A, board 0086)

BB-PWR-8009 revA routed by DeepPCB

Clean Pass 1 of 1 · first clean board 44 s · 2 vias, 71 mm of track (reference: 2 vias, 42 mm) · 2 layers, 22 airwires, 11.7 x 11.7 mm

Design by OLIMEX Ltd, github.com/OLIMEX/BB-PWR-8009, Apache-2.0. License text. Image: DeepPCB’s modified version (re-routed copper only, silkscreen omitted), September 2026.

rufs dra818v breakout board (D3-A, board 0091)

rufs dra818v breakout board routed by DeepPCB

Clean Pass 1 of 1 · first clean board 38 s · 3 vias, 291 mm of track (reference: 3 vias, 228 mm) · 2 layers, 18 airwires, 48.5 x 30.9 mm

Design by Mikael Andersson (mik4el), github.com/mik4el/rufs, Apache-2.0. Credit on the board: “DRA818 breakout board v0.1, by @mik4el4ndersson, 2016”. License text. Image: DeepPCB’s modified version (re-routed copper only, silkscreen omitted), September 2026.

D3-B

MOD MPU9150 (D3-B, board 0203)

MOD MPU9150 routed by DeepPCB

Clean Pass 2 of 3 · first clean board 48 s · 3 vias, 205 mm of track (reference: 7 vias, 142 mm) · 2 layers, 38 airwires, 22.5 x 16.8 mm

Design by OLIMEX Ltd, github.com/OLIMEX/MOD-MPU9150, Apache-2.0. License text. Image: DeepPCB’s modified version (re-routed copper only, silkscreen omitted), September 2026.

cat trainer teensy base pcb (D3-B, board 0376)

cat trainer teensy base pcb routed by DeepPCB

Clean Pass 3 of 3 · first clean board 46 s · 0 vias, 1,052 mm of track (reference: 3 vias, 832 mm) · 2 layers, 67 airwires, 70.0 x 52.2 mm

Design by James Watts, github.com/james481/cat-trainer, BSD-3-Clause-Clear. Copyright (c) 2016 – 2017, James Watts. All rights reserved. License text. Image: DeepPCB’s modified version (re-routed copper only, silkscreen omitted), September 2026.


Sources: PCBWorld, arXiv 2607.05915v4 | PCBWorld code | PCBench. Board images are DeepPCB’s modified versions of each design (re-routed copper only, silkscreen omitted), published under that design’s own license with attribution on every card; the DeepPCB mark is not covered by those licenses. Hero image, left to right and top to bottom: cat trainer teensy base pcb, James Watts, github.com/james481/cat-trainer, BSD-3-Clause-Clear, Copyright (c) 2016 – 2017, James Watts. All rights reserved (license); MOD MPU9150, OLIMEX Ltd, github.com/OLIMEX/MOD-MPU9150, Apache-2.0 (license); breakout boards usb-5v-3v3, Phillip Pearson, github.com/myelin/breakout-boards, MIT, Copyright (c) 2015 Phillip Pearson (license); BB-PWR-8009 revA, OLIMEX Ltd, github.com/OLIMEX/BB-PWR-8009, Apache-2.0 (license); rufs dra818v breakout board, Mikael Andersson (mik4el), github.com/mik4el/rufs, Apache-2.0, Credit on the board: “DRA818 breakout board v0.1, by @mik4el4ndersson, 2016” (license); esp8266 wi07 3 adapter esp, Marcin Białoń, github.com/mbialon/esp8266_wi07_3_adapter, MIT, Copyright (c) 2015 Marcin Białoń (license); z2amiller sensorboard programmer, z2amiller (Andy Miller), github.com/z2amiller/sensorboard, MIT, Copyright (c) 2015 z2amiller (license); NavigationThingBacklight, Jan Mrázek, github.com/yaqwsx/NavigationThing, MIT, Copyright (c) 2016 Jan Mrázek (license). No endorsement by the designers is implied.