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

35 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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).