What this error means
Since KiCad 10, one symbol pin can represent several physical pads by
writing the pad numbers in square brackets as the pin number:
[1-4], [1,2,3], or [A1-A4,B7] are all one pin standing in for a
whole pad stack. ERC parses every pin number that contains a bracket,
and this warning fires when the parse fails: the number resembles
stacked notation but cannot be expanded into a pad list.
The parser's rules: the number must start with [ and end with ] (a
bracket anywhere else fails outright); the inside is a comma-separated
list; each item is a single pad number or a start-end range; and a
range needs the same alphabetic prefix on both ends, digits on both
ends, in ascending order. So [1,2, 1[2], [], [2-1], [A-B],
and [A1-B3] all fail, while [1-2,5] and [A1-A3] expand fine.
A pin that fails the parse is not treated as a stack. It stays a single
pin whose pad number is the literal bracket string — the netlist will
go looking for a footprint pad named [2-1].
Common causes
1. A typo in hand-typed stacked-pin notation
A missing closing bracket ([1,2), a range written high-to-low
([8-1]), mismatched prefixes ([A1-B3]), or a range with no
digits to count through ([A-B]). The schematic saves and loads
fine either way; this check is the only thing that will tell you
the stack never took effect.
2. Brackets in a pin number that was never meant to be a stack
Before 10.0, brackets in a pin number were inert text. Now any bracket makes ERC try to parse the number as a stack, so a legacy or imported symbol that used brackets for its own purposes gets flagged. If such a number happens to parse, it silently becomes a multi-pad stack instead — worse than the warning.
How to fix it
Correct the notation
- Right-click the flagged symbol → Edit Symbol, then double-click the pin.
- Rewrite Pin number to the full syntax: wrapped in one pair of brackets, items separated by commas, ranges ascending with the same prefix on both ends — `[1-4]`, `[GND1-GND4]`, `[A1-A4,B7]`.
- Save and update the symbol in the schematic; the warning clears on the next ERC run.
Use when: You meant a stack. In the checked-in repro, changing `[2-1]` to `[1-2]` is the entire fix.
Let the editor write the notation for you
- In the Symbol Editor, keep (or place) the stack as individual pins at the same location.
- Right-click the pin stack → Convert Stacked Pins. KiCad collapses them into one pin and writes the bracket syntax itself.
Use when: You're building the stack anyway. The conversion tool cannot mistype the range, and Explode Stacked Pin reverses it.
Drop the brackets
- Edit the pin and remove `[` and `]` from Pin number.
Use when: The brackets were decoration, not a stack. Since 10.0 they are syntax, and a pad number that merely resembles it will keep tripping this check.
When it’s safe to exclude
Never, in practice. The warning only fires on a pin number that
contains brackets and cannot be expanded, and that number is broken
downstream too: the exported netlist keeps the literal string, so the
net maps to a footprint pad named [2-1] — a pad no footprint has.
Excluding the marker (right-click → Exclude this violation) or setting
this check to Ignore in Schematic Setup → Electrical Rules → Violation
Severity leaves that dead pad mapping in place with nothing left to
point at it.
Gotchas
- Despite the title, the check parses the pin number, not the pin
name. A name like
D[7-0]never trips it; the name field can bracket whatever it likes. - Only dash ranges are validated.
[1;2]is accepted as a one-member stack whose single pad is named1;2, warning-free. - Pin numbers can't hold spaces; KiCad swaps them for underscores
before the parser runs, so
[1, 2]passes — as a stack of pads1and_2.
Version notes
- KiCad 10.0: Check introduced in this release.
Minimal reproduction
In the Symbol Editor, give any pin the number [2-1] (a descending
range), save, place the symbol, and run ERC. The pin reports:
[stacked_pin_name]: Pin name resembles stacked pin
; warning
The checked-in file data/erc/samples/stacked_pin_name.kicad_sch
reproduces this with an embedded one-pin symbol numbered [2-1], wired
to a second passive pin so nothing else is undriven. Because the file
embeds its own symbols, ERC also emits two lib_symbol_issues warnings
about the missing repro library — artifacts of the self-contained
repro. Changing the number to [1-2] drops the target violation to
zero: fix #1 in miniature.
Related errors
- Duplicate pins with different nets (reference page coming soon)
- Pin not connected
- Library symbol issue
FAQ
What's the right way to make one symbol pin represent multiple pins for the same signal in KiCad 10?
Give a single pin all the pad numbers in brackets — [1-4] for a
range, [A1,A2,B5] for a list — or stack individual pins at one
location and right-click → Convert Stacked Pins to have KiCad
write the notation for you. Both forms connect every pad to
whatever touches the pin; the bracket form also displays all the
pad numbers.
Do old symbols with pins physically stacked on top of each other trigger this warning?
No. Overlapped individual pins are a separate mechanism that still works; this warning reads only pin numbers containing square brackets. Old-style stacks can be upgraded to the bracket form with right-click → Convert Stacked Pins in the Symbol Editor.
What actually breaks if I leave the warning in place?
The pin keeps the malformed string as its one pad number, so the
netlist looks for a footprint pad literally named [2-1] and the
pads you meant to reach get nothing. That surfaces later as
unconnected pads on the board, far from the symbol that caused
it.