Contact input board r1 / HTMAA Week 05

Open design/contact-board.kicad_pro with KiCad 7 or newer.
The module is the original 14-pin XIAO RP2040, not Plus. USB power only.
Board: 74 x 52 mm, two copper layers, 1.6 mm nominal thickness.
Rules: 0.4 mm copper clearance / track width, 0.5 mm copper edge clearance.
11 plated vias: 0.8 mm diameter, 0.4 mm drill.
J3 left to right: 3V3, GND, GPIO4, GPIO2. No external power input.
The LED footprint uses KiCad pad 1=K, pad 2=A. Follow the part's cathode mark,
not the manufacturer's terminal numbers, when checking orientation.
Insulate exposed pads on the module underside from carrier copper.

Native KiCad PCB DRC: 0 violations, 0 unconnected pads, 0 footprint errors.
41 connected pads / 10 nets / 7 no-connect pins / 19 footprints match
the KiCad-exported schematic netlist. Native schematic ERC was not run.
SPICE and firmware build results are offline checks; the board is unbuilt
and group instrument measurements are pending. No fabrication order placed.
The Gerbers need a process supporting two layers, plated vias and solder mask.
They are not single-sided milling toolpaths. Confirm EDS fabrication and stock.

Simulation: ngspice 42, run tests/contact-input.cir in its directory.
Firmware: Arduino CLI 1.5.1, Arduino-Pico 6.1.1, target
rp2040:rp2040:seeed_xiao_rp2040. Compile code/contact_probe only;
this pin assignment is different from QPAD. Firmware has not been uploaded.
Generators/checker require KiCad pcbnew Python binding.

AI assistance: Codex prepared the circuit, generators, checks, firmware and
simulation under Bowen's instruction. No hardware measurements are claimed.
Standard footprints: KiCad Community 7.0.11, external 3D model references
removed. Attribution/license retained in design/contact-board.pretty.
Module reference: https://wiki.seeedstudio.com/XIAO-RP2040/
Inventory: https://inventory.fabcloud.io/
