This was asked before but not answered properly (at least I don't get it). Why are default power components in KiCad libraries are power inputs? What is the idea behind it? I would like connect an IC and some components to make a circuit. My intuitive approach is to add VCC and GND, connecting those to VIN and GND of the IC (e.g. Arduino). But all these 4 pins are power inputs. This results in ERC/DRC check fail. To me VCC is power output. Is there any idea behind it, which I miss? How can I build a simple circuit with power source, IC and some components, which would pass ERC/DRC?
-
You say it was asked before. Where was it asked before? – Hearth Jan 20 '19 at 21:19
-
What components are you actually placing? "Arduino" isn't an IC… – Jan 20 '19 at 21:32
-
@duskwuff IC's are simply complex components that are placed as a black box to a schematic. Similarly a closed system like an arduino is also something that can be viewed as a black box. More details: https://forum.kicad.info/t/what-is-the-difference-between-footprints-and-symbols/8900 – Rene Pöschl Jan 20 '19 at 21:41
-
1@RenePöschl What I'm trying to get at is that an "Arduino" component may actually represent something unexpected -- like an _external_ Arduino board which is supplying power to the circuit. – Jan 20 '19 at 21:43
-
@duskwuff Yes some arduino boards have the option to be powered directly from the outside. These boards would then supply the board that is placed on top of the arduino. This would mean that some pin of the arduino connector is the power output. But only if the user chooses to power everything via the arduino board. One can also power the arduiono from the shield instead. (Useful if you need more power and do not want to connect two power sources.) – Rene Pöschl Jan 20 '19 at 21:51
-
@RenePöschl Right, but there's no way to represent both of those configurations in a single Kicad symbol -- the author would have had to choose one. Which is why I'm trying to figure out what specific symbol the OP is working with. – Jan 20 '19 at 23:58
-
@duskwuff It does not really matter for the question posted. The only difference would be where the power comes from and who consumes it. – Rene Pöschl Jan 21 '19 at 08:41
1 Answers
VCC is a virtual symbol. (Not connected to a physical part on the board) It can not be a power output for this reason. Where should its power come from?
But you are right in wondering why it is a power input. Ideally there would be a separate electrical type converting a pin into a global label. (Or maybe a better solution would be that power symbols are something completely separate to normal symbols.)
But sometime in the past it was decided that hidden power input pins are global labels. Possibly because it seemed simple that way. It remains to be seen how the new file format (expected with v6 -> meaning in at least two years.) will handle this.
You tell KiCad where the power comes from by using the so called PWR_FLAG symbol.
The PWR_FLAG symbol has only one purpose. It tells KiCad that the net it is connected to has a power supply on it. Connect it as near as possible to the point where you connect power to the board to make it as useful as possible for finding problems in your schematic. (Directly at the connector that will be used to supply power.) If you have passive components in series between a power supply and the power consumer then you need to place another flag after that passive component. (Example if you have a fuse, the inductor of a filter, ...)
The PWR_FLAG symbol does not replace normal power symbols. Normal power symbols are global labels, the PWR_FLAG symbol does not add a label to the net!
Alternatively you create project specific symbols for the connectors that supply your board. (give the pins the electrical type "power output")
More details:

- 853
- 5
- 10
-
1I actually like that KiCad requires this -- not only does it make you think about where the power's coming in to your board, it makes you *document* it so that others can see it, too. – TimWescott Jan 20 '19 at 22:07
-
1@TimWescott Yes the pwr_flag is in principal a nice feature. The problems mainly stem from how these things are implemented in detail. (using normal electrical pin types and the visibility flag make it seem like a hack more than a feature. And also limiting its functionality. I personally would put the power flag similarly as the non connected flag as a separate tool instead of misusing power output pins. That would make it more intuitive i think as it is then clearer to the user that there is a difference between power symbols and the power flag.) – Rene Pöschl Jan 20 '19 at 22:45
-
1This worked for VCC or 9V thanks a lot. However, there is no GND_FLAG. That issue still persists. – Saren Tasciyan Jan 21 '19 at 01:40
-
1@Genom the pwr flag is independent on the electrical potential of the net in question. Its only purpose is to tell kicad where power is supplied to the board for the net it is connected to. Read all articles I linked for more details. – Rene Pöschl Jan 21 '19 at 08:37
-
@RenePöschl Oh, I see now. I read them but somehow I missed that power flag needs to be used together with electrical potentials. The confusion was due to many schematics out there, which don't include the flag at all. I guess they don't care about ERC. – Saren Tasciyan Jan 21 '19 at 08:54
-
1Jesus! This flag is absolutely absurd (and obscure since I didn't find out about it until now.) So it cannot be taken as anything else than a hack for development laziness. This flag should really rather have been included as a *type* or *class* of all the already available power pin types. Having to add this manually in all the places seem just redundant and a cause of major clutter when there are a lot of different power sources used. – not2qubit Apr 16 '19 at 20:30
-
@not2qubit The flag might be unusual but it is a powerful tool if used correctly. You can even ignore it completely by also ignoring the error message (Similar result as a tool without that feature like for example eagle which does not check power connections at all.) And for your suggestions: Read my comment and answer again. I basically already suggested this and also hinted at the fact that there are other alternatives to the flag (like properly setting the pin types of your power source to power output.) And remember you need this flag only once per power net. (So clutter is not an issue.) – Rene Pöschl Apr 18 '19 at 20:28
-
1@RenePöschl Yes, thanks. I have since read loads of comments and issues related to this flag, including your answer above. And that is just it! While it may be useful and even easy to use, once you have understood it all, it is exactly this non-obvious functionality and wasted learning curve, that is the challenge. Why should one have to read dozens of comments, googling for examples and so on, just to have something this obvious work from the start? If it is not obvious from the KiCad GUI/UI, *why, when, how* and *where* to use it, then it should probably be removed. – not2qubit Apr 19 '19 at 10:02
-
I have to disagree with this. Not with the notion that there are for sure better options. But with the notion that a complex CAD tool must be intuitive to use over everything else. Just take a look at Catia or even cadence. Both are massively expensive tools where you can not really do anything without reading a book or two or even better go to a trade school teaching all these things. And it will definitely get worse over time. This is just the nature of a steadily increasing feature set. In my mind ease of use should never overwrite general power of the tool. – Rene Pöschl Apr 20 '19 at 11:09