Designing a 2.45 GHz Antenna: Evaluating 15 Models on HW-Bench’s First Job

How 15 frontier and open-weight models performed on a full antenna design, from spec to test plan.

Decomposing the job

The first job we evaluated in HW-Bench was designing a 2.45 GHz ISM band antenna for a telemetry link that reaches more than 50 m on a standard circuit board. It’s a relatively simple job, involving a single-band antenna on a 2-layer FR4 board, but a useful first evaluation because it (1) covers design, simulation, layout, and test planning, (2) requires driving tools like HFSS and KiCad, and (3) can be graded both by verifiable checks and by LLM judges for decisions that take engineering judgment.

The first step in building a job is breaking it down into the tasks an engineer would complete. Three RF engineers decomposed this job, built its golden answers, and calibrated the judges:

  • Yang Su: RF engineer with over a decade of experience across Qualcomm and Meta. At Qualcomm, he delivered multiple generations of cellular reference designs from 3G to 5G, including one of the first commercially deployed phased-array antenna modules for 5G mmWave small cells.
  • Nhat Tran: RF engineer who previously worked on mmWave systems-in-package at Keysight Technologies, with a Ph.D. from UC Davis on integrated circuits and antennas for mmWave and sub-terahertz transmitters.
  • Zhaoji Fang: RF engineer with a Ph.D. from Brown in electrical and computer engineering, where his research focused on mmWave and terahertz wireless links, beam-steerable antennas, and programmable wavefront control.

With guidance from:

  • Harish Krishnaswamy: Chief Scientist at Arena Physica. Harish is one of the world’s leading researchers in RF and mmWave phased arrays. He is also a professor at Columbia and co-founded mixComm, which Sivers Semiconductors acquired for its beamforming silicon. He holds a B.Tech. in Electrical Engineering from IIT Madras and a Ph.D. in Electrical Engineering from USC.
  • Arun Natarajan: Distinguished Electrical Engineer at Arena Physica. Arun is the former CTO of Sivers Semiconductors and a professor at Yale. He built the first integrated phased-array transmitter and transceiver in silicon and has led several DARPA programs as principal investigator. He holds a B.Tech. in Electrical Engineering from IIT Madras and an M.S. and a Ph.D. in Electrical Engineering from Caltech.
Fig. 01 / One job, six tasks

One job, six tasks

No tool integrationsSimulatorEDAslight miss, retune neededTask 1Derive specTask 2Select reference designTask 3Retune reference designTask 4Translate to layoutTask 5Re-simulate & checkTask 6Write test planTest bench
Task 1Derive specTask 2Select reference designTask 3Ansys HFSSRetune reference designTask 4KiCad, Ansys HFSSTranslate to layoutTask 5Ansys HFSS, KiCadRe-simulate & checkTask 6Write test planTest bench
Each task is the smallest piece of the job an engineer hands off as finished, with the tools used for the task.

It’s worth noting that hardware work is rarely linear. Once the board is laid out, an RF engineer re-simulates it. If it slightly misses spec, the engineer adjusts the layout. If it significantly misses, the engineer goes back to the simulator to retune the design. Our engineers estimate they typically iterate 3 to 15 times on a job like this. For this evaluation, each task runs separately and starts from the golden answer from the previous task, so the models aren’t tested on these loops. End-to-end jobs, where models work through the full job and have to catch and fix their own misses, are next on our roadmap.

Building the evaluation

Each task has five parts: a prompt, input files, tools, a golden answer, and a rubric. Here’s what they look like for Task 4, where the model turns a simulated antenna into a board a factory can build.

Prompt

Like every prompt in HW-Bench, our engineers wrote this one the way they would assign a task to a colleague. In about 200 words, it covers the requirements and where to save the output, and trusts the model, as they would a colleague, to choose the approach and tools. See our methodology for more on how we write prompts.

Create a fabrication-ready PCB layout in KiCad for the antenna in T3_project_output/: a 2-layer board on standard 1.6 mm FR4 that meets fabrication_capability_rev4p2.pdf. Where a fabrication rule conflicts with the antenna model, modify only the conflicting dimensions with the minimum changes needed to meet the rule. Configure the fabrication constraints as design rules in KiCad, and check the final board with DRC.

Deliver an outputs/ folder containing:

  1. cad/: the complete KiCad project, including its design rules, that opens with nothing added.
  2. fab/: Gerber X2 and Excellon drill files exported from the final board.
  3. drc/: the DRC report (JSON) from the final board.
  4. T4_output.md: a short summary stating whether the board is ready for fabrication, with any remaining DRC errors and warnings and each DRC exclusion with its reason, or that the task is inconclusive.

Input Files

Similar to the prompt, the input files are what our engineers would hand a colleague to start the task: the native project files and documents the work depends on. For Task 4, that’s:

  • The retuned antenna from Task 3: This is the golden answer for Task 3, an HFSS project of a meandered inverted-F antenna (MIFA) retuned to 2.45 GHz on FR4, with its return loss and far-field data and plots. The board is 30.3 mm x 50.68 mm, with a 25 mm ground, the antenna 1.0 mm from the left edge, and four vias with a 0.400 mm drill.
  • The fab house’s capability statement (fabrication_capability_rev4p2.pdf): the factory’s rules for conductors, drills, solder mask and silkscreen, laminate, board outline, and file formats.

Tools

The model also works directly in the same tools our engineers would use for the task. For Task 4, that’s KiCad, to lay out the board and set the fab house’s rules as design rules, with kicad-cli to run the design-rule check and export the Gerber and drill files, and Ansys HFSS, to check the layout against the original antenna design. Every model connects to these tools through the same integrations in Atlas, our harness, so differences in results come from the model, not the tool setup.

Golden Answer

To set the standard each model is graded against, our engineers completed every task themselves, with the same input files and tools the model gets. For Task 4, they laid out the Task 3 antenna on a 2-layer, 1.6 mm FR4 board.

For Task 4, the input antenna from Task 3 breaks two of the factory’s rules. Finding and fixing these is part of Task 4. In their golden answer, our engineers made the following adjustments:

  • Copper to board edge: the copper runs right to the edge on the left, right, and bottom, where the fab house requires 0.250 mm. Our engineers extended the board outline by 0.250 mm on those three sides, to 30.8 mm x 50.93 mm, and left the copper and the top edge unchanged.
  • Via annular ring: the rings are 0.050 mm, against a 0.075 mm minimum.

Apart from these two fixes, the golden answer matches the Task 3 model within ±50 µm, allowing for small rounding differences when moving the design from HFSS to KiCad. To pass, a model has to find both conflicts and fix each with the smallest change that meets the rule, without touching copper that would change how the antenna performs. The golden answer includes the board’s Gerber and drill files and a clean design-rule check report.

Rubric

Each task has a rubric written by our engineers to score accuracy. Each criterion is weighted by importance and graded either by a verifiable check in code or by an LLM judge (see our methodology for how criteria are weighted and how the judges are calibrated).

Task 4’s rubric has ten accuracy criteria:

#CriteriaWeightCheck Type
A1The delivered KiCad project opens with no errors, and every delivered Gerber and drill file matches the same layer re-exported from the delivered board. If this fails, the step fails and A2 to A10 are ungradeable.CriticalVerify
A2fab/ has Gerber X2 files for both copper layers, both masks, silkscreen and outline, and one Excellon 2 drill file in metric units.CriticalVerify
A3The stackup has 2 copper layers of 1 oz (0.035 mm) copper on FR4, with a 1.6 mm dielectric and a total thickness within 1.6 mm ±10%.CriticalVerify
A4The board’s design rules are at least as strict as the PDF: track width 0.100 mm, clearance 0.100 mm, copper to board outline 0.250 mm, drill 0.200 mm, annular ring 0.075 mm. Each of these checks is set to error.CriticalVerify This is a verifiable check because each rule is a number in the project file that can be compared directly with the fab house’s limit, so the check runs in code.
A5drc/ holds a KiCad DRC report of the delivered board, with zero violations and zero unconnected items.CriticalVerify
A6Via aspect ratio ≤ 8:1 (board thickness ÷ smallest plated drill).CriticalVerify
A7Legend line width ≥ 0.150 mm, legend-to-pad clearance ≥ 0.150 mm, mask clearance ≥ 0.050 mm, mask dam ≥ 0.100 mm.CriticalVerify
A8Outside the conflict regions, board copper, vias, and outline match the Task 3 golden answer within ±50 µm: no copper added or missing, nothing mirrored or shifted, and every via at the model’s drill.CriticalJudge After SME calibration, threshold stayed at 0.7
A9Every conflict between the model and a rule in the PDF is fixed by the smallest change that meets the rule. No unnecessary changes that would affect electrical properties are made (e.g., shaving off copper).CriticalJudge After SME calibration, threshold moved to 0.95 We use an ensemble of LLM judges calibrated by human engineers here because whether a change is the smallest reasonable fix, and whether it could affect the antenna, takes engineering judgment.
A10T4_output.md says the board is ready for fabrication only if it passes A2 to A7, and otherwise says not ready or inconclusive. It lists any remaining DRC errors and warnings, and each DRC exclusion with a valid reason (e.g., the intentional radiator-to-ground short).CriticalJudge After SME calibration, threshold moved to 0.95

The rubric also includes diagnostic criteria, which are reviewed in each run’s trace but don’t count toward the accuracy score. A few examples and why they matter:

  • Reasoning (graded by a judge): the model reads every constraint in the fab house’s rules with its limit, and where the rules give more than one value, picks the one for this board: standard class, a routed edge (0.250 mm, not 0.300 mm for V-scored), and 1 oz copper (0.100 mm trace, not 0.150 mm). Clearances are applied as drawn, without stacking the ±0.150 mm routing tolerance on top. This shows whether a model read the rules for this specific board or applied a generic value, which the accuracy score alone wouldn’t reveal.
  • Tool use (graded by a verifiable check): the design-rule check ran to completion on the final board. This separates a model that couldn’t operate KiCad from one that could operate it but produced a flawed layout.

Evaluating the models

Setup

Every model ran each task five times in the same harness, Atlas, with HFSS, KiCad, and Python connected the same way for every model. Each run was scored separately, and its cost and time were recorded alongside its accuracy. Costs are publicly listed prices on October 29, 2026. All runs used the following configuration:

  • Reasoning effort: High
  • Model call limit: 600 calls per run
  • Timeout: 3 hours per run
  • Inactivity timeout: 45 minutes with no activity from model or tool call
  • Context limit: runs that fill their context window are compacted and continue, with no scoring penalty
  • Retries: runs stopped by an infrastructure issue, such as a license failure, are re-run; runs that hit a limit because of the model’s own behavior are scored as is

Grading

As mentioned above, verifiable criteria were checked in code against each run’s output files. Judgment-based criteria were scored by an ensemble of three LLM judges: Claude Opus 5.5, GPT-6 Sol, and Grok 4.7. For this job, our engineers independently graded a sample of runs without seeing the judges’ scores, and we tuned the judges’ thresholds until they agreed with the engineers at least 90% of the time.

Analyzing the results

  • No single model is best across a job. Routing each task to its best-performing model delivers higher accuracy at lower cost. The most accurate model varied by task: six different models each achieved the highest mean accuracy on at least one of the six tasks. If you used the single most accurate model, GPT-6 Astra, for all six tasks, the job would score 0.805 and take 88 minutes per run, at a cost of $50.49. We compared three routing strategies against it:
    • Model with top accuracy score per task: 0.875 accuracy at $13.66, 73% less than Astra, in 98 minutes, 12% more than Astra
    • Cheapest model within 5% of each task’s top accuracy score: 0.867 accuracy at $12.40, 75% less than Astra, also in 98 minutes
    • Fastest model within 5% of each task’s top accuracy score: 0.862 accuracy in 82 minutes, 7% faster than Astra, at $26.80, 47% less than Astra
Fig. 02 / Best model per task

No single model topped every task

Accuracy, cost and latency per task for 15 models. 6 different models were most accurate on at least one task.

Mean accuracy (outward = higher)Task 1Task 2Task 3Task 4Task 5Task 6Mean cost (outward = cheaper)Task 1Task 2Task 3Task 4Task 5Task 6Mean latency (outward = faster)Task 1Task 2Task 3Task 4Task 5Task 6

Anthropic

Claude Opus 5.5Claude Opus 5Claude Fable 5.1Claude Opus 4.8Claude Sonnet 5.5

OpenAI

GPT-6 AstraGPT-6.1 SolGPT-5.6 SolGPT-6 SolGPT-6 Luna

xAI

Grok 4.7Grok 4.6Grok 4.5

Moonshot (open weight)

Kimi K3

Z.ai (open weight)

GLM-5.3

Select a model in the key to highlight it on all three radars.

Notes

Each axis is one task. Accuracy: mean score of the model’s 5 runs (0 to 1). Cost: mean list-price cost per run (USD, prices as of Oct 29, 2026). Latency: mean wall-clock time per run. Cost and latency axes point outward = cheaper / faster.

  • By mean accuracy, GPT-6 Astra and GPT-6 Sol were the only two models on both the cost and latency Pareto frontiers. GPT-6 Astra had the highest mean accuracy (0.805) and GPT-6 Sol was the fastest of all models (53 minutes). GPT-6.1 Sol, which is only on the cost frontier, came closest to Astra, as its 95% confidence interval for accuracy overlaps with Astra’s, so the difference is not statistically significant, at 17% of the cost ($8.42 vs. $50.49 per job run), though it took about 17 minutes longer.
    • Claude Opus 5.5 sits just off both frontiers. On cost, GPT-6.1 Sol has a higher mean accuracy (0.781) at half the price ($8.42). On time, GPT-5.6 Sol has a slightly higher mean accuracy (0.734) and finishes faster (67 minutes).
    • When run-to-run variation is taken into account, GPT-6.1 Sol, Opus 5.5, Fable 5.1, and Sonnet 5.5 could also be on the latency frontier, and GPT-5.6 Sol, Opus 5.5, and Opus 5 could also be on the cost frontier.
Fig. 03 / Cost and latency frontiers

Accuracy vs cost and latency

Frontier: no model is both more accurate and cheaper (or faster) Error bar reaches the 95% CI band Other models
Tap a dot for its model
Notes

Each dot is one model. Accuracy: mean of the six task means (0 to 1). Cost: sum of the six per-task mean costs per run, at list prices as of Oct 29, 2026. Time: sum of the six per-task mean wall-clock times. Frontier: models that no other model beats on both accuracy and cost (or time). Error bars and shaded band: 95% bootstrap intervals, resampling each model’s 5 runs per task 1,000 times. Blue dots: error bar reaches the band. Cost and time axes are log scale.

  • Mean accuracy overstates reliability. Passk (the probability that k random runs of a task pass every critical criterion) averaged across tasks is a better measure. Pass5 is 0% for 11 of 15 models. Only four models had at least one task where all five runs passed. GPT-6 Astra is the highest at 67%, with all five runs passing on four of the six tasks. GPT-6.1 Sol achieved this on two tasks (33%) while Opus 4.8 and GPT-6 Luna only managed it on one task each (17%).
    • Three of the six models on the cost or latency frontier, GPT-6 Sol, GPT-5.6 Sol, and Sonnet 5.5, never passed every critical criterion on all five runs of any task. GPT-6 Sol is on both frontiers, yet only 37% of its runs passed every critical criterion.
    • Passing runs came from only a few models. On Task 3, GPT-6 Astra and GPT-6.1 Sol passed all five of their runs. Together they account for nearly half of the task’s 21 passing runs. On Tasks 4 and 5, every passing run came from an Anthropic model, and OpenAI models passed none of their 50 runs.
Fig. 04 / Reliability

Mean accuracy overstates reliability

Pass1 to pass5 for each model, averaged over Tasks 1 to 6 with 5 runs per task. Pass5 stays above 0% for 4 of 15 models.

pass5 > 0%pass5 = 0%
Passk0%20%40%60%80%12345Runs that must all pass (k)GPT-6 Astra 67%GPT-6.1 Sol 57%Opus 4.8 30%GPT-6 Luna 30%67% GPT-6 Astra33% GPT-6.1 Sol17% Opus 4.8,GPT-6 Luna0% 11 models

Anthropic

Claude Opus 5.5Claude Opus 5Claude Fable 5.1Claude Opus 4.8Claude Sonnet 5.5

OpenAI

GPT-6 AstraGPT-6.1 SolGPT-5.6 SolGPT-6 SolGPT-6 Luna

xAI

Grok 4.7Grok 4.6Grok 4.5

Moonshot (open weight)

Kimi K3

Z.ai (open weight)

GLM-5.3

Select a line or a name for its pass1 to pass5.

Notes

Every task is run 5 times per model in the same harness. A run passes if it passes every critical criterion. Passk: the chance that k random runs (of 5) of a task all pass every critical criterion. Lines average passk over Tasks 1 to 6. Blue: pass5 above 0%.

  • Models are not yet reliable on tasks that require driving simulation and EDA tools. On the three tasks that required them (Tasks 3, 4, and 5), only 30 of 225 runs (13%) passed every critical criterion, compared with 92 of 225 (41%) on the text- and code-based tasks. On Task 4 (Translate to layout), only 3 of 75 runs passed every critical criterion. Most runs set the wrong board stackup: only 11 of 75 used the specified two layers of 1 oz copper on 1.6 mm FR4, and 8 of those 11 still failed another critical criterion. On Task 5 (Re-simulate & check), only 6 of 75 runs passed.
Fig. 05 / Simulation and EDA tools
Tasks 1, 2, 6Tasks 3, 4, 5
Tasks 1, 2, 6Tasks 3, 4, 5

Pass1 to pass5 for each task

Averaged over 15 models, 5 runs each.

Passk0%20%40%60%12345Runs that must all pass (k)7%20%13%0%0%13%

Task 2 Select reference design 55% → 20%Task 3 Retune reference design | Ansys HFSS 28% → 13%Task 6 Write test plan 32% → 13%Task 1 Derive spec 36% → 7%Task 4 Translate to layout | KiCad, Ansys HFSS 4% → 0%Task 5 Re-simulate & check | Ansys HFSS, KiCad 8% → 0%

Passk per task, averaged over 15 models
Taskpass1pass2pass3pass4pass5
Task 1 Derive spec36%19%13%9%7%
Task 2 Select reference design55%40%31%25%20%
Task 3 Retune reference design (Ansys HFSS)28%17%14%13%13%
Task 4 Translate to layout (KiCad, Ansys HFSS)4%1%0%0%0%
Task 5 Re-simulate & check (Ansys HFSS, KiCad)8%3%1%0%0%
Task 6 Write test plan32%20%15%13%13%
Notes

Passk: the chance that k random runs (of 5) of a task all pass every critical criterion, averaged over the 15 models. Blue: Tasks 1, 2 and 6. Orange: Tasks 3, 4 and 5 (Ansys HFSS, KiCad).

  • Runs that make more tool calls don’t necessarily yield better results on tool-driven tasks. A tool call is one action the agent takes in its environment, such as reading a file, running code, or a step in HFSS or KiCad. On two of the writing tasks (Tasks 1 and 6), more tool calls were associated with higher accuracy: each doubling of tool calls came with a 0.11 (p<0.001***) to 0.12 higher accuracy score (p=0.003**). On Task 4 (Translate to layout) and Task 5 (Re-simulate and check), runs with more tool calls took longer, cost more, and were less accurate.
Fig. 06 / Tool calls per run

Each dot is one run

Tool calls (log scale) against accuracy, one dot per run.

tool calls per run (log scale)Task 1Derive specslope +0.11r = +0.49, p < 0.001accuracy0.00.51.01030100300Task 6Write test planslope +0.12r = +0.34, p = 0.0030.00.51.01030100300Task 2Select reference designslope −0.06r = −0.10, p = 0.400.00.51.01030100300tool calls per run (log scale)Task 4Translate to layoutKiCad, Ansys HFSSslope −0.06r = −0.29, p = 0.01accuracy0.00.51.01030100300Task 5Re-simulate & checkAnsys HFSS, KiCadslope −0.11r = −0.35, p = 0.0020.00.51.01030100300Task 3Retune reference designAnsys HFSSslope +0.07r = +0.23, p = 0.050.00.51.01030100300
Notes

Each dot is one run: x = tool calls in the run (log scale), y = run accuracy (0 to 1). A tool call is one action the agent takes, such as reading a file, running code, or a step in HFSS or KiCad. Line: least-squares fit of accuracy on log₂(tool calls). Slope: the change in accuracy each time tool calls double. r: Pearson correlation coefficient between accuracy and log₂(tool calls) (0 = no linear relationship, ±1 = every dot on the line). p: two-sided p-value for the slope, i.e. the chance of a slope at least this steep if accuracy did not depend on tool calls.

  • Open-weight models still trailed closed models on accuracy and cost. GLM-5.3 and Kimi K3 ranked 12th and 15th of 15 by mean accuracy, yet cost $18.16 and $26.18 per job run, respectively. That’s more than twice the $8.42 of GPT-6.1 Sol, which had the second-highest accuracy at 0.781. Part of the gap may reflect age, since the open-weight models were released first, but GLM-5.3, which came out 25 days after Claude Opus 5 and cost about the same per Task 5 run ($4.87 vs. $5.24), reached only 89% of Opus 5’s accuracy on Task 5 and passed none of its runs, while Opus 5 passed three of five.
    • Open-weight models also rarely passed every critical criterion. GLM-5.3 passed 5 of its 30 runs and Kimi K3 passed 2, compared with 17 for GPT-6.1 Sol. Neither open-weight model passed a single run on Tasks 1, 4, 5, or 6, or passed all five runs of any task.
Fig. 07 / Open-weight gap
Open weight Top model
Open weight Top model

Best open-weight model vs the top frontier model on each task

Mean accuracy, pass1 and days between releases, 5 runs per task.

MeanaccuracyPass1Days betweenreleasesTask 1 Derive specGLM-5.3 vs GPT-6 Astra0% vs 100%−16Task 2 Select reference designGLM-5.3 vs GPT-6 Luna80% vs 100%−35Task 3 Retune reference designGLM-5.3 vs GPT-6.1 Sol20% vs 100%−42Task 4 Translate to layoutGLM-5.3 vs Opus 5.50% vs 40%−35Task 5 Re-simulate & checkGLM-5.3 vs Opus 50% vs 60%+25Task 6 Write test planGLM-5.3 vs GPT-6.1 Sol0% vs 100%−420.30.61.00%50%100%−450+30
MeanaccuracyPass1Days betweenreleasesTask 1 Derive specGLM-5.3 vs GPT-6 Astra0% vs 100%−16Task 2 Select reference designGLM-5.3 vs GPT-6 Luna80% vs 100%−35Task 3 Retune reference designGLM-5.3 vs GPT-6.1 Sol20% vs 100%−42Task 4 Translate to layoutGLM-5.3 vs Opus 5.50% vs 40%−35Task 5 Re-simulate & checkGLM-5.3 vs Opus 50% vs 60%+25Task 6 Write test planGLM-5.3 vs GPT-6.1 Sol0% vs 100%−420.30.61.00%50%100%−450+30
Notes

For each task: the best open-weight model (by mean accuracy) against the top model, the model with the highest mean accuracy on the task. Mean accuracy: mean of the model’s 5 runs (0 to 1). Pass1: share of the 5 runs that passed every critical criterion. Days between releases: the open-weight model’s release date minus the top model’s; below 0, the open-weight model came out first. Colored dot: open-weight model, in its lab’s color. White dot: top model.

Note on Task 3 run times

Our retune task asks the model to run only the narrowband sweep, which tunes the antenna’s resonant frequency. It sets up the wideband sweep, which checks for additional resonances, but doesn’t run it. A full retune with both sweeps takes longer (mostly solver time), so the times we report for Task 3 are not representative of the real work done by an engineer.

Acknowledgements

Thank you to Pratap Ranade for conceiving HW-Bench; Heidi Kim and Shyama Dave for leading the program; Arya Hezarkhani for technical advisory; Claire Pan and Christopher Bryant for writing; the Arena Physica RF engineering team for their expertise; and the Arena Physica engineering team for building the evaluation infrastructure that HW-Bench runs on.