ERC: Different net assigned to a shared pin in another unit of the same component

I am a beginner to electronics in general and I am having issues with KiCad ERC.

Here is the part with error, which I don’t get. Power output (OUT -) of U2 is connected to power input of U4 and U1 (GND/G). But there shouldn’t be any issue as 1 power output goes into 2 power inputs. What am I missing?

Application: KiCad
Version: 5.1.8-db9833491~88~ubuntu18.04.1, release build
Libraries:
wxWidgets 3.0.4
libcurl/7.68.0 OpenSSL/1.1.1 zlib/1.2.11
Platform: Linux 4.15.0-128-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.22
Boost: 1.65.1
OpenCASCADE Community Edition: 6.9.1
Curl: 7.58.0
Compiler: GCC 7.5.0 with C++ ABI 1011

Build settings:
USE_WX_GRAPHICS_CONTEXT=OFF
USE_WX_OVERLAY=ON
KICAD_SCRIPTING=ON
KICAD_SCRIPTING_MODULES=ON
KICAD_SCRIPTING_PYTHON3=ON
KICAD_SCRIPTING_WXPYTHON=ON
KICAD_SCRIPTING_WXPYTHON_PHOENIX=ON
KICAD_SCRIPTING_ACTION_MENU=ON
BUILD_GITHUB_PLUGIN=ON
KICAD_USE_OCE=ON
KICAD_USE_OCC=OFF
KICAD_SPICE=ON

I think the error is inside the part. Where did you get U2 and U4 library parts?

1 Like

What do the pin tables look like for U2 and U4?

2 Likes

I drew them myself:


image

And the pin numbers?

2 Likes

Ahhhh. That was it! I forgot to number the pins (which explains the ~ in the ERC errors, as unnumbered pins are ~ by default). After numbering, everything was fine.
A related question to the schematic above. Second power flag after the SW2. If I remove it, I get a warning as G of U4 isn’t driven. Also passive pin 2 isn’t driven. Is that normal? Switch is after all a passive connection. Like a wire.

I think so, I would leave the power flag there.

1 Like

To extend on the powerflag issue:

KiCads ERC has a feature that checks if every power input pin is supplied somehow. This check is net based (like most ERC checks) so in the end it checks if a net that has at least one power input pin on it is connected to exactly one power output pin.
The PWR_FLAG symbol is a special symbol that consists of a single power output pin and therefore allows specifying for ERC where power comes from if no other pin on that net already does that.

All other symbols in the power library are different. They contain a single invisible power input pin. This makes the pin into a global label meaning if you place two such symbols they are connected even if you do not place down a wire between them. As this is implemented via a power input pin this also means that a net that has such a symbol on it must again be driven even if there is no other power input pin connected to it. An example of such a symbol is the GND symbol you use in your schematic.

More details in how to use labels including power symbols for creating schematics see Tutorial: Introduction to PCB design with KiCad version 5.1 (Getting Started) Section Improve the Schematic

1 Like