What this error means

ERC groups placed symbols by reference designator. For each group it compares the number of placed instances against the unit count the library symbol defines; when they match, the group is skipped. Otherwise it subtracts the placed unit numbers from the defined ones and reports one warning per reference naming the leftovers: Symbol U1 has unplaced units [ B ]. The bracketed list stops at three units and trails off with "...".

This warning is the umbrella check of a family: each unplaced unit is also inspected pin by pin, and units holding power input, input, or bidirectional pins additionally raise missing_power_pin (an error) or missing_input_pin / missing_bidi_pin (warnings). The family exists because an unplaced unit puts no pins in the netlist, so nothing else in ERC will ever look at them. This warning is the only trace the unit leaves.

Common causes

1. Spare units were left unplaced

Quad gates, dual op-amps, resistor networks: you placed the two sections you needed and the package has four. Whether the others were skipped on purpose or forgotten, ERC cannot tell — that judgment call is yours (see when to exclude).

2. A unit is annotated into a different package

Units belong together purely because they share a reference designator. A hand-edited reference or a reannotation that turned the fourth section into U2 instead of U1 leaves U1 short one unit, with every section plainly visible on the sheet.

3. An updated library symbol defines units the schematic predates

The comparison runs against the symbol's current library definition, so a schematic nobody edited starts warning after Update Symbols from Library pulls in a revision with a new unit.

How to fix it

Place the unit the message names

  1. Press A (Add Symbol) and place another copy of the same symbol.
  2. Right-click the new copy → Symbol Unit → the unit from the message.
  3. Set its Reference to the existing package (U1, not the fresh U?).
  4. Wire it — or, for a spare gate, tie the inputs off per the datasheet and no-connect the output — and re-run ERC (Inspect → Electrical Rules Checker).

Use when: The unit genuinely is not on the schematic. KiCad 9 and 10 share these menu paths.

Fix the reference on the stray unit

  1. Find the section carrying the wrong reference — same symbol, different number (U2B among U1A/U1C/U1D).
  2. Double-click it and change the Reference to the package it belongs to.
  3. If references are scrambled sheet-wide, run Tools → Annotate Schematic… instead, then re-run ERC.

Use when: Every unit is visibly placed but the warning persists — the group is split across reference designators.

When it’s safe to exclude

This is the one member of the missing-unit family where exclusion is sometimes a decision rather than a mistake: it is warning-level, and a deliberately unused spare gate is a real situation. If your practice is to handle spare sections in layout, excluding the marker (right-click → Exclude) records that choice.

Know what you are silencing first. The unplaced unit's pins are in no net, so no other check will flag them; on the assembled board the spare gate still exists, and floating CMOS inputs oscillate and waste power. Placing the unit and tying its inputs off costs two minutes and makes the decision visible. Downgrading the whole check in Schematic Setup → Electrical Rules → Violation Severity also silences the forgot-a-unit case, which is the one this check earns its keep on.

Gotchas

  • The check counts placed instances, not distinct units. Place unit A of a two-unit part twice under one reference and the count matches the unit count, so a missing unit B is never reported (verified, KiCad 10.0.7). Two copies of the same unit satisfying ERC's headcount is working as coded, if not as hoped.
  • Current 9.x and 10.x releases print bare unit letters ("[ B ]"); older builds printed "[ Unit B ]", and a symbol with named units prints those names. Match on "has unplaced units" when grepping reports.
  • The same unplaced unit can raise up to four rows: this warning plus the per-pin-type checks. Placing it clears them all at once — and typically trades them for pin_not_connected errors until it is wired, which is progress.
Minimal reproduction

Place one unit of any multi-unit symbol — one gate of a 74HC00, one amplifier of an LM358 — annotate it, and run ERC. The report names the units you did not place:

[missing_unit]: Symbol U1 has unplaced units [ B ]
    ; warning

The checked-in file data/erc/samples/missing_unit.kicad_sch reproduces this with one embedded two-unit symbol: unit A placed with its two passive pins wired, unit B (also all-passive, so none of the pin-type companion checks fire) never placed. KiCad 9.0.9 and 10.0.7 both report exactly the line above, plus one lib_symbol_issues warning about the missing repro library — an artifact of the self-contained sample. Adding a unit-B instance under the same reference makes missing_unit disappear, replaced by pin_not_connected errors until its pins are wired.

FAQ

Is there a way to make sure every single unit of a symbol is used?

This warning is that mechanism: any reference whose placed units do not cover the library definition gets flagged, naming the missing units. It only counts placements — a unit placed but left unwired passes this check and fails others. To avoid the situation up front, tick "Place all units" in the Add Symbol dialog.

Every section is on the schematic and wired — why does ERC still report unplaced units?

Because one of them is annotated into a different package. KiCad ties units together only by reference designator, so a section renamed to U2 leaves U1 short a unit even though nothing is missing visually. Check the number on each section of the flagged symbol; hand-edited references and reannotation are the usual culprits.

Do I have to place the op-amp units I'm not using?

KiCad wants the whole package accounted for, and it is worth doing: the spare amplifier exists on the chip whether or not it is drawn, and unconnected inputs float. Place the unit, tie its inputs per the datasheet, and no-connect the output. If you have firm reasons to leave it off the sheet, exclude the marker — it is a warning, not an error.

Sources