35 lines
2.5 KiB
Markdown
35 lines
2.5 KiB
Markdown
# 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).
|