What this error means

ERC groups placed symbols by reference designator and, for every multi-unit symbol, compares the units on the schematic against the units the library symbol defines. Each unit that is defined but not placed is checked pin by pin: if any of its pins has electrical type Power input, this error fires. The same missing unit also raises the warning-level missing_unit, and unplaced Input or Bidirectional pins have their own warning-level checks — power input pins are the one case KiCad treats as an error.

The severity is earned. A pin that is never placed appears in no net, so no other ERC check will ever look at it: the netlist simply has nothing for the package's supply pins, and the board gets a chip with floating V+ and V−. This is the multi-unit cousin of an unconnected VDD — except that the pin you forgot is not even visible on the sheet to look wrong.

Common causes

1. The power unit was never placed

KiCad's libraries put the shared supply pins of multi-section parts in a separate unit — an LM324 is four amplifier units A–D plus unit E holding V+ and V−. Place the four amplifiers, forget the fifth unit, and every supply pin of the package is unconnected. This is the standard way to hit this error.

2. The power unit is placed, but under a different reference

Grouping is by reference designator, nothing else. If the power unit ended up as U2E while the amplifiers are U1A–U1D — after a manual reference edit or a reannotation — the group U1 is missing its power unit even though the unit is plainly on the sheet, and U2 is a mostly-empty package of its own.

3. The library symbol gained units

The missing-unit set is computed against the symbol's current library definition. If an updated symbol defines more units than the schematic placed — say a power unit added upstream — the error appears after Update Symbols from Library without any edit to the schematic itself.

How to fix it

Place the missing power unit and wire it

  1. Press A (Add Symbol) and place another copy of the same symbol.
  2. Right-click the new copy → Symbol Unit → the unit the message names (it lists up to three, e.g. [ Unit E ]).
  3. Edit its Reference to match the existing package — U1, not the fresh U? — so it joins the group.
  4. Wire the supply pins and re-run ERC (Inspect → Electrical Rules Checker).

Use when: The normal case: the rest of the package is placed and working, only the power unit is missing. Same menu paths in KiCad 9 and 10.

Reunite the references

  1. Find the stray power unit — its reference ends in the power unit's letter but starts with the wrong number.
  2. Double-click it and change the Reference to the package it belongs to (U2E → U1E).
  3. Re-run ERC; if references are a mess sheet-wide, run Tools → Annotate Schematic… first and let it renumber.

Use when: The power unit is on the sheet but annotated into a different package, typically after hand-editing references or reannotating.

When it’s safe to exclude

Almost never. Excluding it (right-click the marker → Exclude, or downgrade in Schematic Setup → Electrical Rules → Violation Severity) does not put the supply pins in the netlist — it just stops KiCad from telling you they are missing. The pins are still on the footprint, still routed to nothing, and the assembled board still has a part with no power. Unlike power_pin_not_driven there is no PWR_FLAG ritual here; the fix is placing one unit, which costs less than the exclusion.

The one situation where the error is arguably noise is a symbol whose power pins are duplicated in another unit you did place — then the package is powered and the symbol itself is drawn wrong. Fix the symbol instead of excluding the marker.

Gotchas

  • The runtime message says "input power pins" but the check's title in the Violation Severity table says "power input pins". If you searched for one and found the other, that is why.
  • The message names at most three missing units, then trails off with "…". More than three usually means the annotation is wrong, not that you forgot that many.
  • missing_unit fires alongside this error for the same unit — one placement clears both rows.
  • Ticking "Place all units" in the Add Symbol dialog places every unit of the part in one pass, which prevents the forgotten-unit case entirely.
  • If ERC names units you can see placed, check their reference designators before doubting the tool — though KiCad 8 did have genuine instance-tracking bugs here on hierarchies with repeated sheets (GitLab issue 18445).
Minimal reproduction

Place only unit A of any multi-unit symbol whose supply pins live in their own unit — an LM324 from the Amplifier_Operational library, say — and run ERC. The package's power unit (unit E for the LM324) is missing, and ERC reports:

[missing_power_pin]: Symbol U1 has input power pins in units [ Unit E ] that are not placed.
    ; error

The checked-in file data/erc/samples/missing_power_pin.kicad_sch reproduces this with one embedded two-unit symbol: unit A has two passive pins joined by a wire, unit B holds a VDD power input pin and is not placed. KiCad 9.0.3 reports the error (naming [ Unit B ]) plus the companion missing_unit warning; a lib_symbol_issues warning about the missing repro library is an artifact of the self-contained sample. Adding unit B to the sheet, wired to a Power output pin, drops the error count to zero — fix #1 in file form.

  • Symbol has units that are not placed (reference page coming soon)
  • Symbol has input pins that are not placed (reference page coming soon)
  • Symbol has bidirectional pins that are not placed (reference page coming soon)
  • Input Power pin not driven by any Output Power pins

FAQ

I forgot to place a unit of a symbol — how do I add it afterwards?

Place another copy of the same symbol, right-click it → Symbol Unit → pick the missing unit, then edit its reference designator to match the package it belongs to (U1, not the fresh U?). KiCad ties units together purely by reference, so once the reference matches, the unit is part of that package.

My op-amp symbol has no power pins — where do V+ and V- go?

On a separate unit of the same symbol. KiCad's multi-section parts keep the shared supply pins in their own unit — for an LM324 that is unit E, after amplifier units A through D. Place that unit like any other symbol and wire it; hidden always-on power pins are how older libraries did it, not current ones.

ERC reports unplaced units right after I re-annotated, but every unit is on the schematic. What gives?

The check groups units by reference designator, so reannotation that moves a unit to a different reference number leaves one package short a unit and creates another package with strays. Check the references on the flagged symbol's units first — annotation is almost always the actual problem.

Sources