What this error means
For each symbol, ERC looks at every pin whose electrical type is Power input or Power output and asks two things: is any of those pins on a net whose name says ground, and is any pin whose name says ground sitting on a net whose name does not? If both are true, each mismatched pin is flagged. The runtime message is "Pin GND2 not connected to ground net"; the title above appears only in the Violation Severity list.
"Says ground" is a name test, not an electrical one: the name
contains GND, case-insensitive, anywhere — GND, AGND,
PGND_ISO all qualify. 10.0.5 added the exact names EARTH, VSS,
VSSA and the prefix EARTH_. The same test applies to pin names
and net names.
The warning exists for the partial case: most of the chip is grounded, one GND-named pin went somewhere else. The check does not exist in KiCad 9.
Common causes
1. The pin really is on the wrong net
The case the check was built for: a chip with several ground pins (GND, AGND, PGND, an exposed pad) where one of them picked up the wrong label, was wired to a neighboring rail, or was left on a stray net when the others were grounded. Before KiCad 10 nothing caught this: the wrong net still drives the pin, and a driven pin passes the older power checks.
2. A real ground net whose name KiCad doesn't recognize
An isolated or second ground domain named EARTH, VSS, 0V, or
anything else without GND in it fails the name test, so the
GND-named pin connected to it gets flagged even though the design
is correct. This is the false positive reported as KiCad issue
#23565 (an ISO1541 with its isolated-side GND2 on an Earth net),
and the reason 10.0.5 widened the name list.
How to fix it
Reconnect the pin to the ground net
- Click the flagged pin and press the highlight-net key (backtick) to see which net it actually joined.
- Rewire or relabel until the pin is on the net the datasheet wants — usually the same ground as the symbol's other ground pins.
- Re-run ERC (Inspect → Electrical Rules Checker).
Use when: The pin is not where you meant it to be. On a multi-ground-pin chip, check the exposed-pad and analog-ground pins first.
Rename an intentional second ground so KiCad recognizes it
- Put GND somewhere in the net's name (GND_ISO, PGND2) — the substring match accepts any prefix or suffix.
- On 10.0.5 or later, an exact EARTH, VSS, or VSSA global label or power symbol also passes — update KiCad if these names are being flagged on an earlier 10.0 release.
- Re-run ERC.
Use when: The net is a real ground domain — isolated converter output, chassis earth — and only the name is being misread.
When it’s safe to exclude
Sometimes — this is a naming heuristic, not a connectivity proof, and it has honest false positives. A GND-named pin that is supposed to sit on something other than ground (referenced to the negative rail in a bipolar design, or on an isolated domain whose net name you won't change) deserves a per-marker exclusion: right-click the marker → Exclude.
Downgrading the whole check to Ignore in Schematic Setup → Electrical Rules → Violation Severity loses more than it looks: a ground pin on the wrong-but-driven net satisfies every other power check, so this warning is the only thing that mentions it. Exclude markers, keep the check.
Gotchas
- Silence is not a pass. The check needs one power pin of the symbol on a ground-named net before it examines the rest, so a chip whose grounds are all on the wrong net says nothing at all.
- Only Power input and Power output pins are examined. A ground pin typed Passive in the symbol is invisible to this check — and to most other power checks, which is a symbol bug worth fixing anyway.
- The 10.0.5 names are exact:
EARTH2andAVSSdon't match, and a local label's sheet-path prefix (/EARTH) breaks the match too. OnlyGNDmatches as a substring.
Version notes
- KiCad 10.0: Check introduced in this release.
- KiCad 10.0.5: Nets named EARTH, EARTH_*, VSS, or VSSA now also count as ground; 10.0.0–10.0.4 match only names containing GND.
Minimal reproduction
Wire a symbol's GND pin to a net labeled GND and its GND2 pin to a
net labeled VEE, drive each net with a power output pin, and run
ERC:
[ground_pin_not_ground]: Pin GND2 not connected to ground net
; warning
@(121.92 mm, 104.14 mm): Symbol U1 Pin 2 [GND2, Power input, Line]
The checked-in data/erc/samples/ground_pin_not_ground.kicad_sch
reproduces this with three embedded symbols; their three
lib_symbol_issues warnings about the missing repro library are
artifacts of the self-contained file. Rewiring GND2 onto the
GND net drops the warning (fix #1), as does relabeling VEE to GND_ISO
(fix #2); a global label EARTH or VSS clears it under 10.0.5, a local
label EARTH does not. KiCad 9.0.9 reports only the library warnings:
the check does not exist there.
Related errors
- Input Power pin not driven by any Output Power pins
- Symbol has power input pins that are not placed
- Input pin not driven by any Output pins
FAQ
Why does ERC flag GND2 on my isolator when it's connected to an isolated ground?
KiCad decides what is ground by net name. If the isolated side's net is called Earth, ISO_RTN, or anything else without GND in it, the GND2 pin looks misconnected next to the grounded GND1 side. Rename the net to contain GND, use an exact EARTH/VSS global label on KiCad 10.0.5 or later, or exclude the marker.
Which net names does KiCad treat as ground?
Any name containing GND, case-insensitive, in any position — GND, agnd, PGND_ISO all count. KiCad 10.0.5 added EARTH, VSS, and VSSA as exact names plus the EARTH_ prefix; the exact forms match only global labels and power symbols, since a local label nets with a sheet-path prefix like /EARTH.