Fixture · simple tier · Apache-2.0

Fixture: antmicro-microphone-board

A PDM microphone breakout: a Knowles SPH0644LM4H-1 microphone routed to a zero-insertion-force connector, with supply filtering and ESD protection.

Attribution

Upstream: antmicro/pdm-microphone-board at commit 20813e2b, retrieved 2026-07-28. Copyright (c) 2024-2025 Antmicro, licensed Apache-2.0. The upstream license text is preserved verbatim in LICENSE.

Design files under tree/hardware/ are copied unmodified. Repository assets, documentation PDFs, CI configuration, and the local .kicad_prl state file were not copied. No design file was altered in any way.

Why this board

It is a real board that was designed to be manufactured, by people who do this professionally, and it is small enough to reason about completely. Twelve components, one sheet, three signal nets, three power nets. The upstream project is Apache-2.0, which is the same license this repository uses, so vendoring carries no license friction at all.

It is deliberately not impressive. A fixture’s job is to make agent behavior legible, and a board an author can hold entirely in their head is what makes an unexpected diff obviously unexpected.

What it establishes about real fixtures

Running verification on it at baseline, with kicad-cli 10.0.6:

Check Errors Warnings Detail
ERC 0 44 32 lib_symbol_issues, 12 footprint_link_issues
DRC 0 13 13 lib_footprint_issues, 0 unconnected, 0 parity

Every one of those 57 warnings is library resolution: the design references upstream antmicro-footprints and antmicro-symbols libraries that are not vendored here. Nothing electrical is outstanding, and the two checks that matter most for an edit task, unconnected items and schematic-to-board parity, are both zero.

This is the normal condition of a real design in a bare checkout, and it is why tasks on this fixture assert erc_no_new_violations rather than erc_clean. See FIXTURES.md for the rule and the reasoning.

Scale, and what it does to a surgicality bound

The schematic is 8,489 lines; the board is 35,688. For comparison, a synthetic fixture is a few hundred lines total.

That difference is not cosmetic. AC-3.7’s 5 percent diff bound was calibrated against a small hand-written schematic, where 5 percent is roughly fourteen lines and therefore a real constraint. Five percent of this schematic is 424 lines, which is enough to rewrite entire subsystems while still passing. Tasks here use a bound near 1 percent, and the general rule now stated in FIXTURES.md is that a surgicality bound is calibrated per task against the file it constrains, not inherited as a constant.

Verifying this fixture

node scripts/hash-fixture.mjs --check fixtures/antmicro-microphone-board

Regenerating the baseline reports

Only when the reference kicad-cli version changes, and the new counts belong in fixture.json in the same commit:

cd fixtures/antmicro-microphone-board/tree/hardware
kicad-cli sch erc --format json -o ../../baseline/erc.json microphone-board.kicad_sch
kicad-cli pcb drc --format json -o ../../baseline/drc.json microphone-board.kicad_pcb

This page is rendered from fixtures/antmicro-microphone-board/README.md in the repository, at the commit the site was built from.

Provenance

From fixture.json. The hash covers only tree/, which is the part copied into the sandbox. Each task pins this hash, and result records made against a different hash are kept separate on the leaderboard.

UpstreamAntmicro PDM Microphone Board
Commit20813e2bc99f52837a780334b16a30c2afb7644c
Retrieved2026-07-28
LicenseApache-2.0 · verbatim LICENSE
CopyrightCopyright (c) 2024-2025 Antmicro
ModificationsDesign files copied verbatim into tree/hardware/. Repository assets, documentation PDFs, CI configuration, .gitignore, and .kicad_prl were not copied. No design file was altered.
Tree hashdad443ad059b7cd2ec57313967db7c511caa8bcfd1ba72dc2f02cd3560249529
KiCadauthored with 8.x, file format 20231120, verified with kicad-cli 10.0.6
Artifactsschematic: hardware/microphone-board.kicad_schboard: hardware/microphone-board.kicad_pcbproject: hardware/microphone-board.kicad_pro
Sourcefixture.json · design tree · baseline reports

Scale

The sizes that a task's diff-ratio bound is set against. A diff ratio is a fraction of the constrained file's line count, so the same percentage allows a very different amount of change on a small board than on a large one. Each task README shows the calculation for its own bound.

Sheets1
Symbols12
Schematic lines8,489
Board lines35,688
Signal netsCLK, DATA, SELECT
Power netsVDD, VCC, GND

Baseline verification

Measured with kicad-cli 10.0.6 on the files as vendored. A baseline error is permitted only when it is enumerated here by type and accounted for in the README above; an unaccounted one disqualifies the board. Tasks check that a run adds no new violations on top of these counts, since a real board in a bare checkout rarely produces a clean report.

CheckErrorsError typesWarningsWarning typesDetail
ERC0none4412 footprint_link_issues, 32 lib_symbol_issues
DRC0none1313 lib_footprint_issues0 unconnected, 0 parity

Every baseline violation is a library-resolution warning: the design references the upstream `antmicro-footprints` and `antmicro-symbols` libraries, which are not vendored here. Nothing electrical is outstanding, and unconnected items and schematic parity are both zero. Tasks on this fixture assert no NEW violations rather than a clean report; see fixtures/FIXTURES.md.

Tasks on this fixture

TaskTierModeExpectedAssertions
do-budget-refusal-pullupmediumdorefusal9
do-rename-netsimpledoedit13