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
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.
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.