What this error means

ERC takes the Value field of every power symbol in the design, lowercases it, and compares. Two power symbols whose values become equal after lowercasing but are spelled differently — VCC and Vcc, +VIN and +Vin — trigger this warning.

It exists because net names are case sensitive. A power symbol names the net it sits on after its value, so VCC and Vcc are two unrelated nets that read as one rail to a human. The half without the supply is silently unpowered, which is why this warning usually arrives next to a power_pin_not_driven error.

The same lowercased comparison backs the sibling checks similar_labels (two labels) and similar_label_and_power (label vs power symbol); this one fires when both offenders are power symbols. KiCad 9 compares global power symbols; KiCad 10 also includes the local power symbols added in 10.0.

Common causes

1. One rail, two spellings

Someone placed a power symbol and edited its value to name a new rail — Vcc, +Vin — while the rest of the schematic uses VCC or +VIN. Each spelling builds its own net, and only one of them has the supply on it. This is the mistake the check was added to catch: the feature request behind it came from a schematic using +Vin and +VIN.

2. The same rail from two libraries

The standard power library spells rails in upper case; a vendor or personal library brought in a Vcc or Gnd variant. Both symbols look right on the page, and the design still splits into two nets per rail.

How to fix it

Pick one spelling and rename the odd one out

  1. Open the ERC dialog (Inspect → Electrical Rules Checker) and click the violation; it lists both symbols with their locations.
  2. Select the wrongly-spelled power symbol and press E; change the Value to the spelling the rest of the schematic uses.
  3. Re-run ERC; the merged net also clears any power_pin_not_driven error on the orphaned half.

Use when: Always, unless the two spellings genuinely are different rails. The net name follows the power symbol's value, so editing the value is the whole fix; no library work needed.

Replace stray-library power symbols

  1. Right-click one of the offending symbols → Change Symbols…
  2. Scope the change to all symbols with that library identifier and pick the equivalent from the library you use everywhere else.
  3. Re-run ERC.

Use when: The case variant came in with a second symbol library. Swapping symbols keeps the design on one library instead of leaving a value edit that disagrees with it.

When it’s safe to exclude

Only if you truly run two rails whose names differ by case alone — and even then, don't. Nobody reading the schematic or the assembly drawing will reliably keep VCC and Vcc apart; renaming one costs a minute and removes the trap.

If you must, exclude the individual violation (right-click the marker → Exclude) rather than downgrading the check in Schematic Setup → Electrical Rules → Violation Severity: severity-level changes also silence the next case collision, which will be an accident, not a decision.

Gotchas

  • The check reads the power symbol's Value, not pin names on your ICs. A chip whose datasheet mixes VDD and Vdd pin names won't trigger it; two power symbols will.
  • KiCad 9 only compares global power symbols. KiCad 10 also compares local power symbols (new in 10.0), so a schematic that is quiet in 9 can start warning after an upgrade.
  • This warning rarely travels alone. The case-variant net usually has no driver, so expect a power_pin_not_driven error in the same corner of the schematic. Fixing the spelling clears both; fixing them separately means one of them was fixed wrong.

Version notes

  • KiCad 9.0: Check introduced in this release.
Minimal reproduction

Place two power symbols whose values differ only in case, each on its own bit of wire. In the schematic editor: wire a regulator output to a VCC power symbol, wire a chip's supply pin to a second power symbol, and edit that one's value (E) to Vcc. ERC reports:

[similar_power]: Power pins are similar (lower/upper case difference only)
    ; warning

The checked-in file data/erc/samples/similar_power.kicad_sch reproduces this with embedded symbols: U1 (a Power output pin) driving VCC, U2 (a Power input pin) on Vcc. The split rail also produces the expected power_pin_not_driven error on the undriven half, and the embedded symbols produce four lib_symbol_issues warnings about the missing repro library — repro artifacts, not part of this error. Changing #PWR02's value to VCC merges the nets and drops the error count to zero.

FAQ

Are power net names case sensitive in KiCad?

Yes. VCC and Vcc are two unrelated nets, and the same goes for labels. KiCad never merges them; the ERC similarity checks are the only guard rail.

Why aren't my +VIN and +Vin power symbols connected?

Because they name two different nets: net names keep letter case, so each spelling builds its own net. Edit the value of one symbol so both read identically and the nets merge. KiCad 9.0 added this ERC warning specifically to flag that situation.

Can I keep VCC and Vcc as two intentionally different rails?

KiCad allows it, and ERC only warns. It is still a bad idea: every human downstream — reviewers, assemblers, you in six months — will read them as the same rail. Rename one to something visibly different, like VCC_A or +3V3_ANA.

Sources