Skip to the content
PCBKitNew board
2 layers44.9 × 34.9 mmWorkspace, the printed circuit board in 3D

RealityCheck: executable hardware design sandboxes, peripheral emulators and an unsaturated benchmark for hardware agents

Size
44.9 × 34.9 mm
Copper layers
2
Thickness
1.6 mm
Parts
14
Nets
10
Pads
45
Tracks, vias
1,461, 295
Pours
2
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
17 Oct 2026
Updated
17 Oct 2026

Overview

Workspace is an open-source printed circuit board by anton-pt, from the anton-pt/hwdevsbx repository on GitHub. It is a 2-layer board of 44.9 × 34.9 mm with 14 parts on 10 nets, routed with 1,461 tracks and 295 vias.

It is built around the DAC80501ZDQFR. Its parts include 6 resistors, 5 capacitors, 2 ICs and 1 connector.

Main components

1

README

README.md

RealityCheck · hardware design sandboxes

An open testing ladder for hardware agents. RealityCheck combines portable C peripheral drivers, independent digital emulators, ngspice analogue simulation and KiCad connectivity/layout checks. Agents can design a board, write firmware, observe failures and iterate before fabrication.

This is an early, unsaturated development benchmark, not a silicon-validated leaderboard. Budgeted pilot runs expose substantial headroom in producing routed, electrically valid designs. Passing reference designs exist within declared model families; restricted, versioned evaluators cover subsets of the full tasks. A passing emulator test does not prove analogue performance or PCB connectivity.

Presentation · Challenge definitions · Reference designs · Architecture

Three challenges

ChallengeDesign objectiveRequired behaviour
01 · sensor monitorMinimise BOM costFour 0–12 V inputs; accuracy, filtering, settling and fresh samples
02 · programmable outputMaximise contiguous passing bandwidth under a cost capDAC output accuracy, loading, startup, shutdown and real firmware cadence
03 · modular monitorMinimise BOM costEight inputs across equal-address ADC banks; isolation and fault recovery

Read the challenge README and its versioned criteria before starting. Cost uses benchmark credits, not market prices. All mandatory gates must pass before a positive restricted reward is earned; unsupported coverage is reported separately from demonstrated failure. These three families and a small pilot do not establish statistical model rankings.

Build the portable library

sh
cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug
cmake --build build
ctest --test-dir build --output-on-failure

C11, CMake and a host compiler are sufficient for the core library. The hw_drivers target has no emulator, allocator or OS dependency. Components: ADS7924, DAC80501Z, TCA9548A, TCA9535, MCP3204 and MCP4921. Models expose bus transactions, pins and virtual time; firmware uses injected callbacks. examples/baremetal-smoke.sh additionally requires arm-none-eabi-gcc and performs compilation, not target execution.

Build the local sandbox

sh
python3 sandbox/build.py
# Offline smoke: native C, peripheral models, SPICE and headless KiCad
docker run --rm --network none hardware-bench:dev

The build wrapper downloads official hash-pinned datasheets locally, then builds the toolchain image. No datasheet PDFs are stored in this repository. Cached documents remain ignored build inputs; evaluation has no vendor-network dependency. --offline skips acquisition when the cache is already populated. Toolchain/package sources are pinned in the Dockerfile and source locks. Documents and package assets retain their own licences; this workflow assembles a local image, not a redistributable vendor-document bundle.

The independent Codex runner currently targets linux/arm64:

sh
python3 sandbox/agent/build.py --acquire --training-base hardware-bench:dev
python3 sandbox/agent/login.py login
python3 sandbox/agent/runner.py --challenge 01 --model MODEL_ID \
  --auth chatgpt --output runs/my-first-attempt

Each invocation creates an independent session/container with a challenge-specific README. Candidate network access is disabled; a bounded broker outside the container provides inference access. Credentials stay outside candidate mounts and exports. ChatGPT login and explicit API-key mode are separate choices; follow the sandbox runbook and official Codex authentication guidance. Model availability depends on the account and pinned CLI. The default attempt budget is 900 seconds; configure it explicitly for comparisons.

Evaluate and iterate

sh
./bench list
./bench init sensor-monitor --output /tmp/my-design
./bench check /tmp/my-design
./bench evaluate /tmp/my-design --seed 42 --output /tmp/my-result

bench is the public preflight interface: templates are incomplete, and missing simulation/firmware adapters fail closed. It is not the authoritative restricted ranker. design.yaml uses the JSON subset of YAML. For scored development use the trusted, versioned evaluator outside the submission:

Historical qualification receipts, waveforms, candidate runs and transcripts are deliberately excluded. A fresh image has a new local identity: regenerate qualification and freeze reviewed source/evidence locks before enabling a release. Missing evidence must fail closed. Some private-fixture comparison tools cannot run from this source-only checkout. Publication and reproduction notes explain these boundaries.

Reproduce a reference with a locally built image:

sh
python3 tools/reproduce_reference.py --challenge 02 \
  --image hardware-bench:dev --output /tmp/reference-02

This regenerates results and records the actual image identity; it does not transfer authority from a historical qualification. References are available for study and therefore must be excluded from held-out agent images, along with private evaluator tools and hidden scenarios. The public agent image excludes these directories.

What is here

include/ and src/: portable firmware · emulator/: digital models/runtime · catalog/: costs, packages and analogue models · challenges/: tasks/criteria · reference/: editable CAD and C solutions · evaluator/: trusted grading source · sandbox/: pinned environment and isolated runner.

See fidelity contracts, evaluation boundary and third-party notices. Simulation scores describe the declared models. Board fabrication, measured hardware conformance, EMC and a broad generalisation study remain future work.

Team RealityCheck, AI for the Physical World hackathon, October 2026.

Parts

14
QtyValueFootprintReferences
2100nCapacitor_SMD:C_0603_1608MetricC1, C6
24.7kResistor_SMD:R_0603_1608MetricR3, R4
11.2kResistor_SMD:R_0603_1608MetricR5
1100kResistor_SMD:R_0603_1608MetricR2
110kResistor_SMD:R_0603_1608MetricR6
110uCapacitor_SMD:C_0603_1608MetricC2
11nCapacitor_SMD:C_0603_1608MetricC7
11uCapacitor_SMD:C_0603_1608MetricC4
120Resistor_SMD:R_0603_1608MetricR1
1Carrier + outputConnector_PinHeader_2.54mm:PinHeader_2x05_P2.54mm_VerticalJ1
1DAC80501ZDQFRReference:DAC80501_DQF0008A_TIU1
1OPA320AIDBVRPackage_TO_SOT_SMD:SOT-23-5U3

Questions

How big is the Workspace PCB?

It measures 44.9 × 34.9 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Workspace use?

14 parts, built around the DAC80501ZDQFR. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Workspace KiCad files?

From the anton-pt/hwdevsbx repository on GitHub, at the commit this page was made from: the board is reference/challenge-02-expanded-v1/workspace/hardware/output.kicad_pcb and its schematic reference/challenge-01-expanded-v1/workspace/hardware/monitor.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Workspace design in my own project?

Its repository states no licence, so its author keeps all rights: ask anton-pt before reusing the design.

More from anton-pt/hwdevsbx

3
  • 2 layers70 × 50 mmMonitor, the printed circuit board in 3D

    Monitor

    anton-pt/hwdevsbx

    RealityCheck: executable hardware design sandboxes, peripheral emulators and an unsaturated benchmark for hardware agents

    43 parts
  • 2 layers49 × 39 mmMonitor, the printed circuit board in 3D

    Monitor

    anton-pt/hwdevsbx

    RealityCheck: executable hardware design sandboxes, peripheral emulators and an unsaturated benchmark for hardware agents

    39 parts
  • 2 layers50 × 40 mmMonitor, the printed circuit board in 3D

    Monitor

    anton-pt/hwdevsbx

    RealityCheck: executable hardware design sandboxes, peripheral emulators and an unsaturated benchmark for hardware agents

    29 parts

Similar boards

  • 2 layers116.8 × 30 mmType d, the printed circuit board in 3D

    Type d

    google/mozc-devices

    Circuit diagrams and firmware source code for Gboard DIY keyboards

    14 parts3kApache-2.0
  • 2 layers32 × 22 mmDiff driver, the printed circuit board in 3D

    Diff driver

    rene-dev/stmbl

    AC Servo Driver for STM32F4

    14 parts990GPL-3.0
  • 2 layers34 × 45 mm2032Charger, the printed circuit board in 3D

    2032Charger

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    14 parts915
  • 2 layers34 × 109.9 mmTdisplay s3, the printed circuit board in 3D

    Tdisplay s3

    landonr/homeThing

    Wifi Smart Home Remotes that run on ESPHome

    14 parts551GPL-3.0
  • 2 layers45.3 × 42.7 mmMainPcb, the printed circuit board in 3D

    MainPcb

    adamb314/ServoProject

    Getting the most out of your hobby servo

    14 parts545
  • 2 layers42.5 × 28.8 mmC5VRX JACK DIY, the printed circuit board in 3D

    C5VRX JACK DIY

    Twotoz/C5VRX

    Ultra-minimal, zero-CPU 5.8 GHz analog FPV video receiver using ESP32-C5 Wi-Fi 6 PHY MODEM_DIAG, BitScrambler WBFM demodulation & resistor DAC CVBS

    14 parts515GPL-3.0
  • 2 layers62 × 24 mmMai button, the printed circuit board in 3D

    Mai button

    whowechina/mai_pico

    Pico controller for Maimai

    14 parts475