Power pin not driven

I often found myself to have these errors. I understand what it means but not how I can get rid of it (other than not running DRC :stuck_out_tongue: )

The component in question is a wemos d1 mini. I am not sure if it is default or that it was a 3rd party component.

The 5V pin is a power input. For the connection, should I not use 5V power symbol?
afbeelding

Also I have two of these footprints. The other one is a battery shield. That one supplies power while the other needs power. And there is a switch in between. Can I get the DRC happy?

What is the proper way here?

Regards,

Bas

You can add a PWR_FLAG symbol somewhere on that net. That symbol is just a power output pin which says to ERC “look, I know none of my symbols on this net seem like a power output, but I promise I’m driving the power input with something”

1 Like

:ok_hand:
afbeelding

Strange that the components in the power symbol list aren’t ‘functional’ power symbols :sweat_smile:

I’m curious to what the reason may be.

Regards,

Bas

See also the FAQ, ErrType(3): Pin connected to some others pins but no pin to drive it.

1 Like

There is good reason for power symbols (VCC, etc) to not be power outputs. They’re intended to make connections between all the pins that need to be connected to a power net, but they do not symbolize power sources, such as a regulator output, battery, or off-board connector.

Where does power come from in this circuit?

image

3 Likes

Why?

That’s pretty simple.
Power symbols are just “symbols”. Power always has to come from some physical part such as a voltage regulator or a connector. On themselves the power symbols are nothing more then glorified global labels with some fancy graphics.

1 Like

I mean the power still has to come from somewhere. Putting down a +12V power symbol doesn’t make the 12V magically appear. So you’d still need a battery or transformer or whatever putting out 12V. The warning is essentially about that.

The reason is - there is no simple solution.
If the power symbols would be power-output you would get Errors telling that you have several power outputs shorted.

If you don’t like to have PWR_FLAG symbols at your schematic and want to run DRC you can define all power pins in your library as Passive.

Huh?

If you do not like the power checking of the ERC then just set: Schematic Editor / File / Schematic Setup / Electrical Rules / Violation Severity / Connections / Input pin not driven by any Output pins to Ignore. If you can’t remember that setting, then right clicking on any error or warning in the ERC window lets you disable any ERC message of that type.

3 Likes

I don’t use ERC (previously I written wrongly DRC - following the original post) so I probably should not write anything about it. I just thought I got an not bad idea so have written it.
I think, what you write, it is in V6 and was not in V5 (not sure). Even V6 is close to 1 year old I practically don’t know it. Using V6 I designed only one very small PCB (pen-drive like) and had one day to do it so I’m just not familiar with V6 yet and it looks V7 will be sooner than I wil learn V6 :frowning:

If you don’t use ERC, then you don’t have to bother with the PWR_FLG symbols at all, and neither is there any reason to modify libraries concerning ERC issues.

A lot of stuff has been added to the ERC in KiCad V6, and every message can be disabled either for the whole project, or on a individual message level.

Of course. I don’t run ERC and I don’t use PWR_FLG.
I just wanted to answer the question:

So just new to KiCad but did up a small schematic and just for grins ran the ERC and couldn’t figure out why it kept saying that my inputs were not connected to any power outputs.
Silly me, who would have thought that a 9 volt battery wasn’t set up to be a power source?

Fixed that, and it works fine now. But really, an apparent power source that isn’t a power source!

At least some of the above explanations did end up pointing to how to “fix” the problem.

This is indeed somewhat surprising, but if you set the pintypes of a battery to power output then you can’t use it anymore for rechargeable batteries.

English is not my primary language, Wikipedia calls them “primary” and “secondary” batteries.

Maybe it’s a good Idea to have two battery symbols (or 4, also two for single cells) just for the pin types.

I really think that defining pins as power output, power input generates more mess than it solves a problems.

Yes, I know you don’t like ERC.

It is not what I said.
I just many years ago took over from someone designing PCBs with short instruction how to do each designing steps in Protel. There were no ERC mentioned in that steps and I didn’t spend a time to investigate all program possibilities and I just didn’t discovered it for 10+ years.
So when I decided to migrate to KiCad I just could say: I didn’t used ERC ever (but I used DRC always).
I have nothing against ERC except when it forces you to add something superfluous to the schema.
From what I have seen at forum in V6 you can switch that power checking off what solves all ERC problems :slight_smile:
But I see the question like in this thread over and over again - may be once per moth or two such discussion is here.
What I wanted to say (and only this) is that I suppose there probably is no one who thanks to that error found that he forgot to supply his circuit.
But I suppose many other errors were discovered successfully so I have nothing against ERC. I would certainly not said that I don’t like it, but it just happened such that I don’t use it.

The other (small) problem it causes is stacking batteries causes an ERC error for connecting two power outputs.

I recall this being discussed with librarians in the past: Batteries have passive pins ¡ Issue #1635 ¡ KiCad/kicad-symbols ¡ GitHub

On balance, I’d still prefer to have battery pins as power outputs, though.

To me it sort of is. Not using ERC and not liking it are related. If it worked “perfectly” you would probably like and use it more.
It is impossible to write automatic checks such as ERC or (C compilers) that catch all errors and at the same time annoy no one. And the “pin not driven” can catch some errors for missing power labels that would otherwise result in a faulty PCB.

KiCad does have separate symbols for a “battery” (multiple cells) and a “Battery cell” (single battery) But multiple batteries can also be stacked and it’s still a valid point. Nice of you to drag up and link to that old github topic…

Does it make more sense for rechargeable or passive batteries to have their own symbols, if this is the edge case that’s generating so much confusion?

The common use cases should be low-friction for the designers.