KiCad ERC: A pin with a "no connection" flag is connected

Diagnostic signature

A pin with a "no connection" flag is connected

KiCad's Electrical Rules Check (ERC) emits this diagnostic when a schematic pin is marked with an explicit "No Connection" (NC) flag but is concurrently connected to a wire, bus, label, or component.

What it means

In KiCad's schematic editor, the "No Connection" flag explicitly signals to the ERC engine that a particular pin is intentionally left floating, which safely suppresses standard unconnected pin warnings. However, if the netlist evaluation process detects that the exact same pin forms an electrical connection to another net entity, such as a wire segment, a net label, or an overlapping pin on an adjacent component, it flags a logical contradiction. A single schematic pin cannot concurrently be declared as isolated by a flag and be actively wired into a net.

Why it happens

This violation routinely occurs when a designer places a "No Connection" flag on a symbol pin and subsequently routes a wire to it, forgetting to clear the flag. It is also commonly triggered if a schematic symbol that has pre-existing no-connection flags is repositioned such that its pins overlap and merge with nearby wires or other component pins. Additionally, placing a local net label directly onto a wire stub that is capped with a "No Connection" flag will trigger this error, because the flag strictly prohibits any electrical entity, including a label, from binding to that specific node.

Minimal reproduction

(kicad_sch (version 20231120) (generator eeschema) (symbol (lib_id "Device:R") (at 100 100 0) (unit 1) (pin "1" (uuid "abcd-1234"))) (wire (pts (xy 100 100) (xy 110 100))) (no_connect (at 100 100)))

How to fix it

Resolve the logical contradiction by removing either the "No Connection" flag or the connecting wire/label, depending on the true design intent for that pin.

```KiCad Schematic
(kicad_sch (version 20231120) (generator eeschema) (symbol (lib_id "Device:R") (at 100 100 0) (unit 1) (pin "1" (uuid "abcd-1234"))) (wire (pts (xy 100 100) (xy 110 100))))
```

Step 1

Step 2

Step 3

Step 4

Step 5

Upstream references

Schematic Editor 8.0: Electrical Rules Check

eeschema/erc/erc_item.cpp

adding a no-connect to an unneeded hierarchical pin produces additional ERCs (#16397)