Drogheda/03-Architecture-Hardware/kicad/logs/2026-08-12_einarboard30_phaseA_ERC-fix-note.md

2.5 KiB
Raw Blame History

EinarBoard 3.0 — Phase A ERC pass: 17 errors → root causes & fixes (2026-08-12)

Leo's KiCad 10 ERC (v5-ERC.rpt, 19:41): 17 errors / 369 warnings. All 17 errors traced to 3 root causes in the Phase A generator output; fixed file-level the same day.

Root causes

  1. J11 origin 4 µm off-grid (15 of the 17 errors). The USB-C DFU port was cloned from J9 by coordinate-shifting. J9's origin is (446.786, 278.638) — a 3-decimal position — and the clone placed labels at 2-decimal-rounded pin positions while the instance origin stayed at (660.396, 430.528). Every cloned label/NC missed its pin by a uniform (+0.004, +0.002) mm. KiCad connectivity is exact (nanometer ints); the ERC report rounds to mils, so pin and label print identical coordinates while not touching — 9 pin_not_connected + 6 label_dangling. Fix: nudge J11's instance origin (660.396 430.528) → (660.4 430.53) — one edit aligns every cloned label and NC exactly. Lesson for future file-level work: never round coordinates independently on both sides of a connection; verify with exact arithmetic, not 2-decimal floats.
  2. PF3 vs U17 (1 error). The 3V3 net carried a PWR_FLAG (PF3) from the socket era, when the Blackpill's passive socket pin was the only "source". U17 (AMS1117) VO is a real Power-Output → two power outputs on one net. Fix: PF3 + its stub wire + its 3V3 label deleted.
  3. VDDA undriven (1 error). VDDA is fed through R104 (10 R, passive) so no power output reaches U16's VDDA power-in pin. Fix: PF14 (PWR_FLAG) added on VDDA next to PF12/PF13.

Bonus (warning-level): new P6's footprint was auto-derived as JST_XH_B4B-XH-A_1x02… — the JST 2-pin housing is B2B, not B4B → set Connector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical.

Verification (container, exact Decimal arithmetic — no rounding)

  • Unconnected pins whole-sheet: 0 · J11 pins unattached: 0 · sexp balance ✓
  • Expected next ERC: 0 errors. Remaining warnings are baseline/pre-existing, notably: 212× lib_symbol_issues — KiCad can't find the power library at /Applications/KiCad/KiCad.app/…/symbols//power.kicad_sym (Mac lib-table config, worth fixing once in KiCad prefs); ~148× endpoint_off_grid (v4 heritage); J10 RJ45 lib mismatch (known); 3× no_connect_connected + 1 unconnected_wire_endpoint (pre-existing v4 items at SW4G1/J9-hidden-pins area — candidates for a later cleanup pass, not introduced in 3.0).