[pin_to_pin]
The KiCad Schematic Editor's Electrical Rules Checker (ERC) emits a `[pin_to_pin]` diagnostic when two or more connected pins have electrical types that clash according to the project's Pin Conflicts Map, such as connecting two 'Output' pins together.
A `[pin_to_pin]` ERC diagnostic indicates that the schematic contains a connection between two or more pins whose electrical types are fundamentally incompatible according to the KiCad Pin Conflicts Map matrix. KiCad tracks the designated electrical type of each symbol pin (e.g., Output, Power Output, Input, Tri-state, Passive). When ERC evaluates a net, it compares all pins attached to it against the configuration defined in `Schematic Setup -> Electrical Rules -> Pin Conflicts Map`. If the matrix intersection for any two connected pin types is configured to emit a Warning or an Error, this diagnostic is generated to warn the designer of a potential electrical flaw.
This diagnostic is typically caused by one of two scenarios. First, the user may have unintentionally shorted two incompatible nets together, such as connecting two distinct driven outputs, which would cause a physical short circuit if manufactured. Second, a symbol's pins might have been incorrectly categorized in the symbol library editor. For instance, if a bidirectional data line or a passive filtering pin is inaccurately defined as a strict 'Output' in its symbol properties, connecting it to another valid output pin will falsely trigger this diagnostic. The issue can also arise when intentionally placing outputs in parallel without updating the default ERC matrix, which flags 'Output to Output' connections as errors.
(kicad_sch (version 20231120) (generator eeschema)
(uuid 12345678-1234-1234-1234-123456789abc)
(paper "A4")
(lib_symbols
(symbol "Connector:TestPoint"
(symbol "TestPoint_1_1"
(pin output line (at 0 -2.54 90) (length 4.572) (name "1") (number "1"))
)
)
)
(symbol (lib_id "Connector:TestPoint") (at 100 100 0) (unit 1)
(property "Reference" "TP1" (at 100 105 0))
)
(symbol (lib_id "Connector:TestPoint") (at 120 100 0) (unit 1)
(property "Reference" "TP2" (at 120 105 0))
)
(wire (pts (xy 100 100) (xy 120 100))
(stroke (width 0) (type default))
)
)
Resolve the electrical type conflict by disconnecting the incompatible pins, correcting the pin's electrical type definition in the Symbol Editor, or adjusting the Pin Conflicts Map for intentional configurations.
```KiCad Schematic
(kicad_sch (version 20231120) (generator eeschema)
(uuid 12345678-1234-1234-1234-123456789abc)
(paper "A4")
(lib_symbols
(symbol "Connector:TestPoint"
(symbol "TestPoint_1_1"
(pin passive line (at 0 -2.54 90) (length 4.572) (name "1") (number "1"))
)
)
)
(symbol (lib_id "Connector:TestPoint") (at 100 100 0) (unit 1)
(property "Reference" "TP1" (at 100 105 0))
)
(symbol (lib_id "Connector:TestPoint") (at 120 100 0) (unit 1)
(property "Reference" "TP2" (at 120 105 0))
)
(wire (pts (xy 100 100) (xy 120 100))
(stroke (width 0) (type default))
)
)
```
Schematic Editor | 8.0 | English | Documentation - KiCad Docs
[CLI][ERC] kicad-cli ERC wrongly interprets exclusions (#17004) · Issue - GitLab