C13: clear the last KiCad 10 DRC error - stranded GND_POUR_FCU island (EinarBoard 2.0)

Leo's post-C12 DRC run left exactly one error:

  [unconnected_items] Zone 'GND_POUR_FCU' [GND] on F.Cu <-> Zone 'GND_POUR_FCU' [GND] on F.Cu

KiCad prints only the zone anchor (60.1917, 40.3231) for both endpoints, so the
report cannot localise the stranded island. Located it analytically instead.

Root cause: U11 pad 9 [GND] @ (91.1275, 55.7600). It is the only GND item on the
board whose item-only connectivity cluster never reaches the In2.Cu GND plane
(two independent fill-independent proofs agree: layer-reach and In2-anchor). An
island survives KiCad's isolated-island removal only if some item props it up,
so pad 9 was propping up a GND_POUR_FCU island that touches nothing else.
island_removal_mode cannot fix that - it needs copper.

Pad 9 is fenced on all four sides (LQFP-48 lead ring, pad 8's westward /3V3_ETH
escape, pad 10's eastward /ETH_RSET escape, the /ETH_RXP chain under the body).
A 0.05mm grid router reached only 227 of 20883 legal cells and found no way to
touch existing GND copper without a via, so a through via is mandatory. A
0.005mm sweep of every legal via site in that pocket picked the best one on the
board's existing drill inventory - no third drill size added.

  + F.Cu GND track w0.3  (91.1275,55.7600) -> (90.1000,55.7600) -> (89.9950,55.8900)
  + F.Cu-B.Cu GND via 0.6/0.3 @ (89.9950,55.8900)
  * U11 pad 9 -> (zone_connect 2)

Both track legs hold +0.2000mm clearance - the structural ceiling for a 0.3mm
track between 0.3mm leads on 0.5mm pitch. The via holds +0.1758mm copper and
+2.9705mm hole. The site sits inside GND_POUR_FCU, GND_POUR_BCU, P3V3_PLANE_IN1
and GND_PLANE_IN2 and outside MAGJACK_NO_POUR, with the nearest In2 signal
copper 1.10mm away, so the barrel lands on solid In2 GND plane.

zone_connect 2 mirrors the landed C12 treatment of pad 29: pads 8 and 10 each
knock 0.5mm of pour out around themselves, covering the whole pad-9 lane
(0.10mm tall < min_thickness 0.25), so the pour cannot reach pad 9 in any
connect mode. Solid mode removes the pad from the minimum-spoke test rather
than leaving a starved thermal behind.

Verified on the output file:
  drc_c12.py   0 hard clearance violations, same 49 sub-epsilon marginals as C12
  proof_c13.py 0 GND clusters without an In2 GND-plane anchor (was 1)
  fcu_only.py  0 F.Cu-only GND clusters (was 1 = pad 9)
  24V / /24V_IN / IGN_IN copper byte-identical (45 segments)
  segments 1984->1986  vias 351->352  zones 5->5  footprints 189->189

Backup: .mcp-backups/hbox-watchdog-v4.kicad_pcb.pre-C13 (md5 042efd5d)
Pushed:  md5 94d36711d60985eef109913fcee36b09, 3502885 bytes

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GSKKes8GsS4YHAMWJ44tCm
This commit is contained in:
Leopoldo Rodríguez 2026-08-01 02:08:00 +00:00
parent 2662a3277a
commit 449588649a

View File

@ -3255,6 +3255,7 @@
(layers "F.Cu" "F.Mask" "F.Paste") (layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.25) (roundrect_rratio 0.25)
(net "GND") (net "GND")
(zone_connect 2)
(uuid "d861736c-1570-42dd-95ec-884afd2c8cd1") (uuid "d861736c-1570-42dd-95ec-884afd2c8cd1")
) )
(pad "10" smd roundrect (pad "10" smd roundrect
@ -65160,6 +65161,30 @@
(net "GND") (net "GND")
(uuid "229b366b-306f-414e-8504-39c778995bcf") (uuid "229b366b-306f-414e-8504-39c778995bcf")
) )
(segment
(start 91.1275 55.76)
(end 90.1 55.76)
(width 0.3)
(layer "F.Cu")
(net "GND")
(uuid "7399a60f-727f-4d68-99c6-7942e7768311")
)
(segment
(start 90.1 55.76)
(end 89.995 55.89)
(width 0.3)
(layer "F.Cu")
(net "GND")
(uuid "360e62e2-96a7-4271-9071-3e28b9c374be")
)
(via
(at 89.995 55.89)
(size 0.6)
(drill 0.3)
(layers "F.Cu" "B.Cu")
(net "GND")
(uuid "4d29c02c-9ef5-4dd9-ac9f-c14099da569a")
)
(zone (zone
(net "GND") (net "GND")
(layer "F.Cu") (layer "F.Cu")