Selecting a task
The task was designing a 2.45 GHz ISM band antenna for a telemetry link that reaches more than 50m on a standard circuit board. The deliverables are a PCB layout ready to fabricate and verified against the spec, and a test plan ready for the bench. In the universe of hardware engineering tasks, it sits within electrical engineering, under the subdomain of RF, EM and Optical, in the Design and Simulate stage. See how we map that universe in our methodology.
Breaking the task down into steps
- Input data: system requirements, FCC and EU regulations, chip datasheets, a library of past designs, and the board factory's manufacturing rules.
- Tools: an EM simulator like HFSS, a PCB layout tool like KiCad, and Python scripts to drive the test instruments.
Here are the six steps:
One hardware job is six steps across four tools
88 engineer-hours end to end, including one retune loop from E5 back to E3.
Sources
Steps, tools, roles and hours from the task breakdown in Introducing HW-Bench. Best model and score per step from the same paper's results: mean accuracy over five runs, same harness.
Few tasks in hardware engineering are linear, including this one. For example, once the board is drawn, the RF engineer re-simulates it. If it slightly misses spec, this task returns to the layout design stage. If it significantly misses, this task returns to the simulator step for retuning.
Building the eval
Each step gets a prompt, input files in their native formats, the workbench tools an engineer would use, a golden answer produced by an engineer, and a rubric. Here's what that looks like for one step (E3) from the RF antenna job:
- Prompt: Retuning the design chosen from the IP library in the EM simulator to meet the specs.
- Input files: the design picked from the IP library in the previous step, as an HFSS project and build script, with its KiCad board and measured S11 file. Also the spec sheet, and the range each dimension is allowed to move within. In the step before this one, the model picks a starting point from an IP library we built in-house, by taking existing antenna designs, such as an open-source MIFA, and retuning them to different specs.
- Workbench applications: Ansys HFSS to retune the design and Python interface to analyze results from the retuning and simulation.
- Golden answer: Yang retuned the design in HFSS himself, solving for the feed position and sweeping the dimensions until it met every spec line.
- Rubric: there's no single right geometry, so any design that meets every spec line with all dimensions in range passes. First, a pass/fail check that every dimension stayed inside its range. Then each spec line is checked against the model's own simulation results. The model also has to show how it got there, for example that it solved for the feed position rather than copying it across.
Grading
The rubric is scored with deterministic checks where there is a right answer, and a calibrated LLM judge where it takes judgment. Here's how the E3 rubric is graded:
- Range check (deterministic): did every dimension stay inside its allowed range? If not, the design fails, however good it looks.
- Spec lines (deterministic): centre frequency, bandwidth, return loss and gain are read from the model's own simulation results and checked against the spec.
- How it got there (judge): did the model solve for the feed position rather than copy it across, and are its claims backed by its own solves?
Running the models
Every model runs in the same harness, with the same tools, prompt and input files, five times per atomic step.
For the RF antenna, we ran both SOTA and open-weight models on each of the six atomic steps. Each model (at high effort level) ran each step five times, in the same harness, with HFSS, KiCad and Python connected the same way for every model. Every run was scored separately, and we recorded its cost and time alongside its score.
Results
An ensemble approach for models is useful for long horizon, hardware workflows. Four different models topped the six steps. GPT-6 Astra wrote the best spec (0.77), Grok 4.6 picked the best reference design (0.88), Claude Opus 5 did the best retune (0.80), and Claude Opus 5.5 was best at the board (0.86), verification (0.89) and the test plan (0.78). Routing each step to the cheapest model within 5% of that step's best matches Claude Opus 5.5's accuracy at 17% lower cost, in the same time.
No single model topped every step
Opus 5.5 was most accurate on 3 of 6 steps; 4 different models won at least one.
Sources
Every step is run 5 times per model in the same harness. Cost and latency are min-max scaled per step, so the edge is the cheapest or fastest model on that step.
Approximate: the per-model values on each axis were read off the draft figure in the PDF, not taken from the run data, and are good to about two points on the 0 to 1 scale. They will be replaced with the run data before launch.
Model reliability is stochastic, one good run is not a capability. Claude Opus 5.5 has the best mean score on the test plan, but its five runs, from identical inputs, ranged from 0.60 to 0.90. Every one of the 13 models swung by more than 20 points on at least one step. The widest was Kimi K3 on verification, from 0.23 to 0.88 (SD 0.23).
Five identical runs can give very different scores
Re-import & verify is the most variable step, with a median spread of 0.10; choose a reference is the steadiest, at 0.03.
Sources
Every step is run 5 times per model in the same harness. Standard deviation of each model's five run accuracy scores on a step, on the 0 to 1 scale; the orange tick is the median across all models.
Approximate: each dot's position and the medians were read off the draft figure in the PDF, not taken from the run data, and are good to about two points on the 0 to 1 scale. They will be replaced with the run data before launch.
Model performance is most variable for tasks with workbench integrations. On the three text and code steps, every model except GPT-6 Sol scores within 12 points of the others, and 8 of 13 are within 10 points of the best. On the three steps that drive HFSS and KiCad, the same spread is 17 points, and only 5 models are within 10 points of the best.
The frontier spreads out once simulators and EDA come in
Mean score, 0 to 1, against the time one pass takes. Best to worst on the frontier is 9 points on text and code steps, 20 once tools are involved.
Sources
Every step is run 5 times per model in the same harness. Each point is one model's mean accuracy over the three steps in its group, against the time one pass over those steps took.
Approximate: scores and times were read off the draft figure in the PDF, not taken from the run data, and are good to about two points on the 0 to 1 scale. They will be replaced with the run data before launch.
Open-weight models come close to frontier performance for some tasks, at a fraction of the cost. On choosing a reference design, Kimi K3 scored 97% of the best model, Grok 4.6, which came out 30 days later. Kimi K3 did that at about a quarter of the cost (27%) and an eighth of the time. On the retune, Kimi K3 reached 98% of the best model, Claude Opus 5, released 8 days after it, at the same cost. On drawing the board, GLM-5.3 reached 88% of Claude Opus 5.5. On the spec, verification and the test plan, no open model is within 10% of the top score yet (66 to 77%).
Open-weight models are close on some steps, far behind on others
The best open-weight model is within 10% of the top model on 2 of 6 steps.
Sources
Every step is run 5 times per model in the same harness. Model pairs are the highest average accuracy score among SOTA models vs highest average accuracy score among open weight models. % of top and the gap between release dates as published.
The open-weight model's score is the top score times its published % of top, so it is good to that percentage's rounding.
The model with the highest average accuracy score isn't always the model you can trust. A high average tells you how often a model is right, not what it does when it can't be. In an enterprise, a wrong answer that looks right is worse than one that's clearly flagged: an unsourced number can end up in a test limit and ship. So we took the test plan's inputs and changed one value it has to gate on, in three ways.
- Moved: the value is in a different file.
- Conflict: the spec gives two figures for it.
- Gone: it's deleted everywhere.
Every model caught the conflict. When the value was moved, Opus 5.5 and GPT-6 Sol found it every time; Kimi K3 made one up twice, and GLM-5.3 and Grok 4.7 once each. When the value was gone, no model got it fully right; GPT-6 Sol and GLM-5.3 made one up in 4 of 5 runs, and Kimi K3 in all 5. Only Opus 5.5, Fable 5.1 and GPT-6 Astra never hid a problem from the reader.
When a value went missing, four of seven models made one up
Step 6, the test plan. Only three never hid it; Kimi K3 invented a number with no warning in 7 of 15 runs.
Sources
Every ablation set up is run 5 times per model in the same harness. The three ablation setups include (1) value moved to another file (2) two conflicting values in the spec (3) value deleted. Silent = the judge found a number with no stated source, or no mention of the missing value.
Percentages are of 15 runs per model and are rounded, so a bar can sum to 101%. Two of the 105 runs were still awaiting the judge at publication; their tier comes from reading the output.