Describe a board. Get one you can argue with.
TestCoupon turns a written description into a block diagram you correct, chooses a part for each block with every candidate checked by code, and solves the passives around each part from its own datasheet, so the bill of materials names the source of every value. Then it checks a KiCad revision you upload and tells you what it could not check. The generating is the easy half. Everything here exists to make the generating trustworthy.
That is a real result on a real board, and it is clean. The board still had nine defects and would not have powered on. This is why the pipeline is shaped the way it is.
Every line below is a part fitted the wrong way round, wired to a pin that does not exist, or ordered as a description rather than a part you can actually buy. None of it is exotic. All of it came from someone trusting what they remembered about a component instead of opening its datasheet.
- U1
- TPS61023 boost converter. Not one pin of six matched the real SOT563 pinout, and the package was wrong too.
- U3
- REF3312 reference. GND and OUT transposed.
- D2
- Monitor photodiode reversed. Forward biased, so VMON reads high in the dark and the laser never turns on.
- D3
- BAT54 clamp wired to a pin the part does not have. The independent overdrive protection went nowhere.
- D4
- TVS reversed across the emitter, shunting it.
- D3
- Two‑pad footprint on a three‑lead package. Unbuildable as drawn.
- BOM
- A part stamped discontinued, already carrying the watermark when it was chosen.
- BOM
- A placeholder value where an orderable part number belongs.
- R3 R4
- Enable divider at 1.0 V against a 1.2 V guaranteed minimum. Cuts out near end of battery life, and only then.
Every one of those came from a part interface being assumed instead of retrieved. None of them were findable by ERC, DRC, schematic parity, or the house rules, because all of those check the capture against itself. Nothing in them knows what pin 3 of a real part does.
TestCoupon is what got built after that board. It is in private alpha behind an invite gate.
How it works
Two halves, in the order you meet them: first it generates, then it verifies. Each step refuses to run until the one before it holds up. That refusal is the product. The second half also stands on its own: it takes a KiCad revision you already have.
-
Generation
Say what you are building, in a sentence
“A 940nm illuminator for night vision, battery powered, has to reach 300m.” What comes back is a block diagram and a draft spec: every value tagged with where it came from, and everything the model could not support marked as a guess rather than quietly presented as an answer. It also lists what it should have asked you and did not.
-
Argue with it until it is right
“You never picked switching versus continuous drive, the battery will die fast.” It revises and tries again, for as many rounds as you want. Every round is kept, so the wrong first draft survives next to the corrected one and the reasoning is recoverable later.
-
Parts are chosen one block at a time, by code
One catalog search per block. Every candidate is checked against the block’s requirements by code, a tick or a cross per requirement and the reason for every cross. The passives around the chosen chip are solved from that chip’s own datasheet, not from a typical circuit. What comes out is a bill of materials with the source of every value on it.
-
Verification
Then it checks the board, and says what it skipped
Upload a KiCad revision. The checks are deterministic: spec gates G0 to G2, KiCad’s own electrical and design rule checks, house rules for what those two do not look at, and each part that ships a pin map compared against the pin table in its manufacturer’s datasheet, with the parts that could not be compared named in the report. Every finding is tied to a part, a net and a position on the board. Alongside the findings: what the run did not examine, so a short list can never be mistaken for a clean board.
Why the gate matters more than the generator
Generating a plausible circuit is not hard, and that is the problem. Across 115 failed machine-synthesized designs, error rate rose with circuit size at r = 0.863: the bigger the thing you ask for in one go, the more of it is wrong. A generator that answers confidently at any size is not a feature.
So nothing here is synthesized a whole board at a time, nothing is built from a spec that has not cleared its gate, and no part reaches a netlist without its pin numbers having been read out of the manufacturer’s own datasheet and recorded. The board at the top of this page is what the alternative looks like.
What the product shows
Drawn from the same parts the app is built from, with fixed values. It is a specimen, not a record of any project: it shows what the checks look like, not what they found.
| Result | Requirement | Detail |
|---|---|---|
| passed | voltage_out | |
| passed | package | |
| failed | current_max at least 0.5A | got 300mA |
- 1 error finding
- 1 warning
What a finding looks like
Findings are graded, and the grades mean specific things. An error is something that will not work. A warning is something worth an argument. The checker also reports whether it finished at all, separately from what it found, so a run that broke halfway through says so instead of quietly reporting nothing wrong.
U1 pad 2 is on power net ‘VDDA’ which has no cap within 2.00 mm
Eight of the rules in the house pack, chosen for this page:
- decoupling-proximityA cap on the net is not a cap near the pin.
- pin-map-conformanceSymbol pins against the datasheet's own pin table.
- regulator-capsInput and output caps present on each rail.
- floating-pinsStrap and mode pins left to float.
- i2c-pullupsA bus with no pullups on it.
- diff-pairsLength mismatch across a pair.
- power-budgetDraw against what the source can supply.
- footprint-polarity-markThe footprint’s silkscreen polarity mark against the schematic pin name.
Where defects actually are
Shares of 115 failed LLM‑synthesized designs, by category. This is the order the review checklist is worked in, most common first, rather than top‑to‑bottom through the schematic. It is also an honest map of what the rule pack does and does not reach.
| Share | Category | Reached by |
|---|---|---|
| 59% | Wrong supporting components | rules |
| 40% | Wrong interfaces | pin maps |
| 34% | Wrong values | human read |
| 27% | Wrong local topology | human read |
| 23% | Wrong configuration | human read |
Provenance, per part
A pin map is only worth what the document behind it is worth. Every part carries the document number, revision, and hash of the file the pins were read from, fetched from the manufacturer's own domain. Aggregator and reseller mirrors are refused, because a mirror cannot tell you authoritatively which revision you are reading. This document was reissued by the manufacturer under the same revision letter; only the hash changed, which is why the hash is recorded.
- mpn
- TPS61023
- manufacturer
- Texas Instruments
- document
- SLVSF14B rev B revised 2020-08
- url
- ti.com/lit/ds/symlink/tps61023.pdf
- sha256
- 1750450d5e3d7e41a3f6c59be09fa28ccd92d9b47c36fffcc2126298b7f48a52
- retrieved
- 2026-08-31
- pins from
- page 3, “Pin Functions”
What it does not do
A gate that passes everything manufactures false confidence, and so does a page that only lists what a gate catches. These are the limits a first user meets. The service keeps its own limits file, updated in the same change that adds a skip or a waiver, and the checker names what it did not examine at the head of every report.
- It does not simulate. No SPICE, no thermal, no signal integrity. It reads the capture, not the physics.
- A drafted spec is a proposal, not an answer. The first draft of a spec is usually wrong in places, which is why correcting it is a step rather than a courtesy. Nothing is built from it until you have.
- Archive contents are validated inside the job container, not before the queue. A structurally bad upload surfaces as a failed job rather than a specific rejection reason.
- A skip is a claim about where defects are not. Skipping reference prefix D once hid three miswired diodes on the board above. Every exclusion is now stated in the output, so “no findings” cannot be read as “everything was checked.”
Why it is called that
A test coupon is a real thing. Board fabricators carry a small extra strip along the edge of every panel, built in the same run as the boards themselves. It gets cut off, sliced through, and measured, so the plating and the drilling can be checked without destroying anything anyone paid for.
It is the part of the panel that exists to be tested instead of trusted. That is the mark above, and it is the whole idea.
Private alpha
Creating an account joins the waitlist. There is no trial to start and nothing to configure yet; access is granted by invite while the rule pack is still being built out.