2.5 KiB
2.5 KiB
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
- 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 — 9pin_not_connected+ 6label_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. - 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.
- 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 thepowerlibrary 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+ 1unconnected_wire_endpoint(pre-existing v4 items at SW4G1/J9-hidden-pins area — candidates for a later cleanup pass, not introduced in 3.0).