makeIRLEngineering notes

KiCad

How to diagnose and fix "unconnected items" in KiCad DRC

Find and fix KiCad DRC unconnected items by tracing ratsnest lines, refilling zones, checking pad nets and numbers, and repairing nearly connected tracks.

Published Updated

What “unconnected items” actually means

KiCad builds a connectivity graph from pad nets, tracks, vias, and filled zones. An unconnected items DRC result means two or more items assigned to the same net do not have a continuous copper path between them. It is the board-level equivalent of an open circuit, even if the gap is too small to see at normal zoom.

Do not confuse it with track has unconnected end. That warning describes a dangling endpoint, which may or may not split a required pad-to-pad connection. “Unconnected items” says the required net itself remains in separate copper groups.

Start by opening Inspect → Design Rules Checker, selecting the marker, and zooming to the highlighted items. Keep the ratsnest visible. If global ratsnest display is off, enable it from the Appearance panel or toolbar; otherwise the most useful clue may be hidden.

Refill zones before diagnosing anything else

Press B to refill all zones, save, and rerun DRC. KiCad calculates connectivity through a zone from its filled copper, not merely from the zone outline. An unfilled or stale ground zone can leave every pad that depends on it electrically separate.

If the marker remains, highlight the net and inspect the zone around the affected pad or via. A zone assigned to GND can still fail to connect because:

  • the pad belongs to a differently named net such as GNDA;
  • the pad’s zone connection is set to None;
  • clearance removes all copper around the pad;
  • thermal spokes are narrower than the minimum connection width;
  • a keepout or higher-priority zone cuts the path;
  • the local fill became an isolated island and was removed.

Open the pad and zone properties rather than reducing every clearance globally. The ground-plane workflow explains net assignment, thermal relief, fill order, and island removal in more detail.

Repair tracks that only look connected

A track can end beside or over a pad without KiCad considering it connected. This often happens after changing a footprint, moving a pad, importing geometry, or routing with a very fine grid. At high zoom, the track endpoint may be a few micrometres short or may touch copper that belongs to another layer.

Select the suspect segment and inspect its endpoint and net. The fastest reliable repair is usually to delete the final segment and route it again from the pad using X, allowing the router to snap to the pad anchor. Merely dragging the existing graphic until it looks centred can preserve an off-grid endpoint.

Also look for:

  • two collinear track segments with a tiny gap;
  • a via whose net differs from the approaching track;
  • a track on B.Cu visually crossing an F.Cu pad that has no through-hole copper;
  • a trace stopping on a solder-mask or fabrication graphic instead of a copper pad;
  • duplicated tracks that obscure the real endpoint.

Use net highlighting instead of copper colour alone. A red top-layer track and a red top-layer pad can still belong to different nets.

Check pad nets, pin numbers, and schematic sync

If the trace has the right shape but KiCad refuses the connection, inspect the pad properties. Its displayed net should match the net on the track. Do not manually force a schematic-controlled pad onto a different net as a permanent fix; that hides a source mismatch that can return on the next update.

Run Tools → Update PCB from Schematic and read the proposed changes. A renamed net, replaced symbol, changed footprint assignment, or stale board can explain the marker. Follow the schematic parity process until the board and schematic agree, then repair routing.

Pad numbering is another common cause, especially in custom footprints. KiCad maps symbol pin identifiers to footprint pad identifiers. If a symbol’s ground pin is 2 but the intended ground land in the footprint is pad 3, forward annotation assigns the nets according to those identifiers, not according to physical position or pad labels printed in a datasheet diagram.

Open the footprint in Footprint Editor and compare every pad number with the manufacturer’s package drawing and the symbol. Connector drawings deserve extra care because they may show mating-face, cable-side, or board-side views. Correct the library or project footprint, update the board, and inspect every affected net.

Follow a ratsnest through vias and split planes

When the affected pads are far apart, highlight the net and trace one connected copper group at a time. A via should connect same-net copper on at least two layers. If it lands in a ground pour on one side but the other side’s zone is a different net—or has no fill at that point—the via may not bridge the groups you expect.

Split planes also create subtle opens. A pad may sit inside a large visual area of copper that is separated from the rest of the net by a narrow clearance channel. Temporarily display only the relevant copper layer and net. The remaining gap is often easier to see without silkscreen, mask, footprints, and other nets.

For a stubborn case:

  1. Refill zones.
  2. Select the DRC marker and note both item references.
  3. Highlight the net.
  4. Hide unrelated layers and nets.
  5. Walk from each item toward the other until the two copper groups stop.
  6. Repair that boundary, refill, and rerun DRC.

This is more dependable than repeatedly drawing tracks between arbitrary visible points.

Use the command-line report for complete evidence

KiCad may reduce repetitive track errors in its normal output. For a detailed automated report in KiCad 9, run:

mkdir -p build/reports

kicad-cli pcb drc \
  --output build/reports/drc.rpt \
  --severity-all \
  --all-track-errors \
  --schematic-parity \
  --exit-code-violations \
  hardware/controller.kicad_pcb

--all-track-errors is useful during cleanup because it reports all track-related errors instead of suppressing repeated ones. The broader DRC violation guide explains the other messages likely to appear alongside an open net.

Do not silence a real open

If a pin is intentionally unused, mark it correctly in the schematic with a no-connect flag and ensure it is not part of a net that expects routing. If two net sections are intentionally separated, give them distinct net names and model their controlled connection—through a net tie, jumper, ferrite bead, or zero-ohm resistor—as a real component.

An exclusion is appropriate only when the physical open is intentional and the connectivity model is already correct, such as a specialized RF structure. Add a reason that another reviewer can verify. For ordinary pads, a clean unconnected-items count should be zero before fabrication; solder mask and assembly cannot repair missing copper.