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.

Download the teaching pack · 89 KBOpen BOM & placement checker

ZIP SHA-256: 2047a3fc787c65ae1a6f2e1f9a8e84a5d5dacebc3acb89d99d40313557492eba

File interoperability only. This is a deliberately non-functional teaching fixture. It has six fictional components and no routed electrical circuit. 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 exportSettingObserved result
Default BOM / grouped default BOMAutomatic column mapping6 / 5 missing-MPN errors. KiCad's default export has no MPN column.
Grouped BOM with DEMO MPN fieldAutomatic column mapping5 rows, 6 references, 0 errors. Presence of a value does not verify a real part.
mm / inch ASCII POSRead units from the file6 placements, 0 errors, 1 angle review item.
mm / inch CSVNo unit selected7 errors: file unit plus 6 affected rows. Export stays blocked.
mm / inch CSVSelect the unit used for export6 placements, 0 errors, 1 angle review item.
Grouped DEMO BOM + a valid placement fileKeep original package names0 errors, 7 review items: 1 angle and 6 package-name differences.

Try it in the browser

  1. Download and unzip the pack. Open the BOM checker or placement checker. Imported file contents are processed locally in your browser.
  2. Choose exports/bom-grouped-demo-mpn.csv, then exports/placement-mm.pos. Confirm 5 BOM rows, 6 placements, 0 errors and 7 review items.
  3. Read the warnings. KiCad exports Teaching:TwoPad in the BOM and TwoPad in 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°.
  4. 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.
  5. Try bom-default.csv to 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