← POLYSTAGE.AI

> polybench

The AI designs the hardware now. You hold the probe.

Schematic, layout, firmware, BOM. Very impressive. Now someone has to build the board, probe it, and notice the diode is in backwards. Polybench is where your AI agent calls the shots and you do the legwork.

Copies an install prompt for your local coding agent. macOS, Python 3.12.


Open source · alpha 0.1

Board bring-up as a controlled process.


KiCad and Fusion: tested live

Your design and your test plan, in one place.

Polybench reads your KiCad or Fusion project. You write the test plan with your AI agent over MCP, and it's a markdown file: steps, limits, and where each limit came from. You review the diff and approve it.

The test plan in Polybench: tests, limits and the source of each limit

Real build, 4 boards

Scan the part. See where it goes.

Scan the reel label. Polybench finds the BOM line, highlights the part in your ECAD and shows which way round pin 1 goes on every board. It also counts what has been placed.

Assembly aid: a scanned part highlighted in the ECAD, with placement per board

Experimental · real build

AOI compares each board with the others.

Take a photo of each board with your phone and upload it. AOI checks every joint and part against the same spot on the other boards and flags what looks different: a missing part, a bridge, a lifted pad. You decide on each one. Nothing passes just because AOI didn't flag it.

AOI review: a missing R7 flagged against the other boards
AOI review: a missing C3 flagged against the other boards

Simulator · bench hardware partly validated

Plug-ins run the instruments. The journal keeps every result.

Power-up, flashing, serial and CAN run as plug-ins. Every value is written to an append-only journal before the screen says it's saved. A guessed limit sends a reading to review and never fails a board on its own.

Powered testing with the power interlock

ESP32-S3 example

Flash test firmware. Run the function tests.

Your AI agent writes test firmware to match the plan. Polybench flashes it, runs the function tests and asks you anything only a person at the bench can see or hear.

A function test asking the operator a question

Tested with Claude Code

Your AI agent at the bench.

Over MCP, your local agent reads the plan, the results, the AOI findings and the ECAD. It suggests causes for a failure and the next measurement to take, and it drafts changes to the plan. You approve. Polybench sends nothing to the cloud itself.

The AI connector card

Built from the journal

The test report writes itself.

When the batch is done, Polybench generates the validation report from the journal: every board, every reading, its limit and where that limit came from, with each pass, fail and review decision. Nothing is typed up by hand, and the report says plainly which data came from the simulator. When your agent says "it works", you have the receipts.

The validation report, built from the journal

macOS · alpha · MIT

Try it.

One prompt for your local coding agent. It installs Polybench and runs the ESP32-S3 example, KiCad files included, in the simulator. Needs Python 3.12.

Prompt for your AI agent
Install Polybench from https://github.com/ems-poly/polybench-pcb-validation.
Ask me before each step that changes my machine.
Clone it into ./polybench, create a Python 3.12 virtual environment in .venv,
and install it with pip install -e .
Then run the ESP32-S3 example in simulate mode:
  .venv/bin/polybench --simulate --protocol examples/esp32-s3-board/yd-esp32-s3.pcbv.yaml
Tell me when the window is open. Then run .venv/bin/polybench ai setup and
show me the MCP commands it prints. Do not run them until I say so.

Source and docs: https://github.com/ems-poly/polybench-pcb-validation


Polybench is made by Polystage. So is APEXLAP, a lap timer built the same way: AI does the work, and a person who can check it makes the calls.