2
\$\begingroup\$

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?

\$\endgroup\$
7
  • \$\begingroup\$ You say it was asked before. Where was it asked before? \$\endgroup\$
    – Hearth
    Commented Jan 20, 2019 at 21:19
  • \$\begingroup\$ What components are you actually placing? "Arduino" isn't an IC… \$\endgroup\$
    – user39382
    Commented Jan 20, 2019 at 21:32
  • \$\begingroup\$ @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: forum.kicad.info/t/… \$\endgroup\$ Commented Jan 20, 2019 at 21:41
  • 1
    \$\begingroup\$ @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. \$\endgroup\$
    – user39382
    Commented Jan 20, 2019 at 21:43
  • \$\begingroup\$ @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.) \$\endgroup\$ Commented Jan 20, 2019 at 21:51

1 Answer 1

5
\$\begingroup\$

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:

\$\endgroup\$
9
  • 1
    \$\begingroup\$ I 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. \$\endgroup\$
    – TimWescott
    Commented Jan 20, 2019 at 22:07
  • 1
    \$\begingroup\$ @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.) \$\endgroup\$ Commented Jan 20, 2019 at 22:45
  • 1
    \$\begingroup\$ This worked for VCC or 9V thanks a lot. However, there is no GND_FLAG. That issue still persists. \$\endgroup\$ Commented Jan 21, 2019 at 1:40
  • 1
    \$\begingroup\$ @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. \$\endgroup\$ Commented Jan 21, 2019 at 8:37
  • 1
    \$\begingroup\$ Jesus! 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. \$\endgroup\$
    – not2qubit
    Commented Apr 16, 2019 at 20:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.