REPRODUCIBLE TEACHING RESOURCE · V1 · 4 OCTOBER 2026
Check what happens to a native KiCad export.
A small, original KiCad 10.0.6 project with unedited BOM and placement exports, independent expected values and recorded checker results.
ZIP SHA-256: 2047a3fc787c65ae1a6f2e1f9a8e84a5d5dacebc3acb89d99d40313557492eba
DEMO-* identifiers are placeholders, not purchasing part numbers. It has not been manufactured or physically tested.What is in the pack
Native project, schematic and board files; original local symbol and footprint libraries; three BOM exports; millimetre and inch placement files in ASCII .pos and CSV; nine Gerber layers; a schematic SVG; reproduction scripts; exact CLI commands; independent expected values; recorded results and SHA-256 inventories. The original teaching sources and documentation include an MIT reuse license.
The six references form five grouped BOM rows: R1 and R2 share one row. Four footprints are on the top and two on the bottom. Source angles include 0°, 45°, 90°, 180° and −90°. The drill/place origin is (5, 30) mm. Exported X is board X − 5; exported Y is 30 − board Y. Bottom X is not negated.
Recorded results and required choices
The current checker parser was tested against nine input/settings combinations. All nine matched the expected behaviour, including the inputs that should produce errors. Native field validation separately passed 146 assertions. Browser import was also checked with the grouped BOM, mm POS and inch CSV.
| Native export | Setting | Observed result |
|---|---|---|
| Default BOM / grouped default BOM | Automatic column mapping | 6 / 5 missing-MPN errors. KiCad's default export has no MPN column. |
| Grouped BOM with DEMO MPN field | Automatic column mapping | 5 rows, 6 references, 0 errors. Presence of a value does not verify a real part. |
| mm / inch ASCII POS | Read units from the file | 6 placements, 0 errors, 1 angle review item. |
| mm / inch CSV | No unit selected | 7 errors: file unit plus 6 affected rows. Export stays blocked. |
| mm / inch CSV | Select the unit used for export | 6 placements, 0 errors, 1 angle review item. |
| Grouped DEMO BOM + a valid placement file | Keep original package names | 0 errors, 7 review items: 1 angle and 6 package-name differences. |
Try it in the browser
- Download and unzip the pack. Open the BOM checker or placement checker. Imported file contents are processed locally in your browser.
- Choose
exports/bom-grouped-demo-mpn.csv, thenexports/placement-mm.pos. Confirm 5 BOM rows, 6 placements, 0 errors and 7 review items. - Read the warnings. KiCad exports
Teaching:TwoPadin the BOM andTwoPadin placement data. This is a library-prefix difference in this known fixture; similar warnings in your own files still need review. U1's −90° is normalized numerically to 270°. - Replace the placement file with
placement-inch.csv. With automatic units it should block. Select inch in Coordinate unit and confirm the same references, sides and normalized angles. - Try
bom-default.csvto see the missing-MPN case. In a real project, supply correct manufacturer part numbers in the source before using a BOM for procurement.
Reproduce the KiCad exports
Install KiCad and Python 3, then run these commands from the unpacked directory. Set KICAD_CLI to your installed executable if it is not on PATH. The recorded run used 10.0.6.
python3 scripts/create_teaching_sources.py
python3 scripts/export_native.py
python3 scripts/validate_native_exports.py
python3 scripts/create_manifest.py
The exact CLI arguments, version, stdout, stderr and exit codes are in evidence/commands.json. Rerunning regenerates the fixture. POS, Gerber and SVG timestamps can change their byte hashes; use semantic checks as well. KiCad's inch ASCII coordinates have four decimal places, while its CSV coordinates have six, so small round-off differences are expected.
What these checks do not establish
There is no verification of footprint geometry, pin 1, polarity, electrical function, board clearances, assembly-machine conventions or manufacturing readiness. Passing a file check does not establish that a design can be built. This pack covers the stated KiCad version and export settings; other versions, custom exporters, DNP policies and assembly variants need their own tests. It is not a KiCad endorsement.
The original native exports are kept unchanged. Warnings remain visible, and the included checker report records the parser version by hash. See RIGHTS-AND-LIMITS.md and checker-evidence/README.md inside the pack.
Related: KiCad CLI documentation · Gerber viewer · All engineering tools