Copper connection too narrow
KiCad PCB Editor emits the 'Copper connection too narrow' DRC violation (code DRCE_CONNECTION_WIDTH) when conductive copper connecting two elements of the same net necks down to a physical width less than the minimum connection width constraint configured in Board Setup or custom design rules.
In KiCad PCB Editor, the Design Rules Check (DRC) engine evaluates the width of copper pathways that establish electrical continuity between items (such as copper zones, thermal relief spokes, SMD/PTH pads, tracks, and vias) on a given copper layer. The 'Copper connection too narrow' violation indicates that the DRC test provider (DRCE_CONNECTION_WIDTH) identified a contiguous copper bridge or neck whose geometric width is smaller than the required connection_width threshold. This check prevents fragile copper bottlenecks, unintended etching slivers, and insufficient current-carrying cross-sections that could fail during fabrication or normal circuit operation.
This DRC violation typically occurs under the following design conditions: 1. Board Setup Constraints: The global 'Minimum connection width' setting under File > Board Setup > Constraints is set larger than the actual geometry created by zone fills, thermal spokes, or track connections. 2. Zone Pour Constriction: A copper pour fills into tight spaces between adjacent component pads, test points, or vias where anti-pad clearances restrict the remaining channel of copper to a width narrower than the minimum connection width. 3. Thermal Relief Spoke Sizing: A zone connection to a pad uses thermal relief spokes whose configured width (in Zone Properties or Footprint/Pad Properties) is smaller than the minimum connection width constraint. 4. Custom DRC Rule Constraints: A custom design rule in the .kicad_dru file enforces a higher constraint (e.g., (constraint connection_width (min 0.5mm))) on specific nets or netclasses that the physical layout violates. 5. Tangent or Partial Overlaps: A trace or copper polygon connects to a pad or another trace at an acute angle or marginal edge overlap, creating a microscopic neck rather than a solid connection.
(kicad_pcb
(version 20240108)
(generator "pcbnew")
(generator_version "9.0")
(general
(thickness 1.6)
)
(paper "A4")
(layers
(0 "F.Cu" signal)
(31 "B.Cu" signal)
(48 "B.Mask" user)
(49 "F.Mask" user)
(52 "Edge.Cuts" user)
)
(setup
(pad_to_mask_clearance 0)
(min_connection_width 0.5)
)
(net 0 "")
(net 1 "GND")
(footprint "Resistor_SMD:R_0805_2012Metric"
(layer "F.Cu")
(uuid "00000000-0000-0000-0000-000000000001")
(at 100 100)
(pad "1" smd roundrect (at -0.95 0) (size 1.0 1.3) (layers "F.Cu" "F.Mask") (roundrect_rratio 0.25) (net 1 "GND"))
(pad "2" smd roundrect (at 0.95 0) (size 1.0 1.3) (layers "F.Cu" "F.Mask") (roundrect_rratio 0.25) (net 0 ""))
)
(segment (start 99.05 100) (end 95.0 100) (width 0.25) (layer "F.Cu") (net 1))
)
Adjust the board-level connection width constraint to match manufacturing capabilities, or widen the copper trace/thermal spoke to meet the required design rule constraint.
```kicad-pcb
(kicad_pcb
(version 20240108)
(generator "pcbnew")
(generator_version "9.0")
(general
(thickness 1.6)
)
(paper "A4")
(layers
(0 "F.Cu" signal)
(31 "B.Cu" signal)
(48 "B.Mask" user)
(49 "F.Mask" user)
(52 "Edge.Cuts" user)
)
(setup
(pad_to_mask_clearance 0)
(min_connection_width 0.25)
)
(net 0 "")
(net 1 "GND")
(footprint "Resistor_SMD:R_0805_2012Metric"
(layer "F.Cu")
(uuid "00000000-0000-0000-0000-000000000001")
(at 100 100)
(pad "1" smd roundrect (at -0.95 0) (size 1.0 1.3) (layers "F.Cu" "F.Mask") (roundrect_rratio 0.25) (net 1 "GND"))
(pad "2" smd roundrect (at 0.95 0) (size 1.0 1.3) (layers "F.Cu" "F.Mask") (roundrect_rratio 0.25) (net 0 ""))
)
(segment (start 99.05 100) (end 95.0 100) (width 0.25) (layer "F.Cu") (net 1))
)
```
KiCad Source Code: DRC Test Provider for Connection Width (drc_test_provider_connection_width.cpp)
KiCad GitLab Issue #14130: Copper connection too narrow for generated zone fill