Where can I learn about ERC rules?

I am new to KiCAD. I’m taking a class and one of the main goals of that class is to replicate the schematic for this PCB:

in KiCAD. As much as possible, when creating our own schematic, we are supposed to resolve errors from the ERC. One of the errors that appears most often is:

Input Power pin not driven by any Output Power pins

I believe this is because I’ve created a number of new power symbols to match the definitions from the schematic provided by STM. From searching through this forum, the solution to many of the instances of this error has been to add PWR_FLAG symbols at various points in my schematic.

This seems to resolve many, but not ALL, of the instances of this error. Thus, I’m wondering if someone could point me to an explanation of the rules that ERC follows so that I might be able to figure out why adding a PWR_FLAG is not one size fits all solution.



Perhaps if you upload your project we can point out the actual problem and the remedy.

Another solution is to make power symbols. But don’t just dupe an existing power symbol and rename it. You also have to rename the pin inside the symbol.

I am following this forum since 2017. I don’t remember the situation where “Input Power pin not driven…” error can’t be cleared by adding the PWR_FLAG.
But I have no my own experience in it as I don’t use ERC.

Here the rule simply comes from Error text.
You have pins specified as power input. They are used in IC symbols for its power pins, and also in supply symbols (like VCC) as they are mainly used at schematic to take a power and not to supply power. You can sometimes specify the pin as being Power Output (like output pin of 7805 regulator).
KiCad just checks if to net that has the power input pins on it there is one (and only one) power output pin connected. If not = error.
ERC looks at schematic not understanding it. KiCad don’t knows that power can go through for example L used in C-L-C filter. So even at one side of that L KiCad sees the power output pin it don’t knows that the power is also available at the other side of L.
PWR_FLAG just tells ERC: “Assume that there is power output pin connected to this net.”

HI retiredfeline. Thanks for your reply. I have made my own power symbols, and have made sure to rename the pin as well as the symbol. One the instances of

Input Power pin not driven by any Output Power pins

that isn’t resolved with a PWR_FLAG is the VCC- pin of this IC connected to ground.

Another comes from this 5V_ARD power symbol that I created connected to a passive pin

Hi Piotr. Based on what you have described here, KiCAD may have a bug, because I think I have a number of input power symbols that are not connected to power outputs which it DID NOT list as an error in the ERC.

If you connected those auxiliary power symbols to the main GND or postive or negative rails, as you should somewhere on the schematic, then they become part of that net and would satisfy the power input rule.

Auxiliary power symbols are just a convenience for connecting up pins without long wires, just like the predefined ones. In real life you would have to power them, or connect them to powered nets.

Use the Highlight Net function to see what’s connected to what.

Why you tells this?
You show all information telling that the error should be reported and we see the red arrow, therefore it was reported. Everything as expected. Why you show that all?

Bugs of course are not excluded, but I believe in that case your error is more likely than a bug.

Share your project (drag zip to your post) if you are allowed to do that. Then others will be able to check what is going on.
I don’t know how long you have to be at forum to have permission for it. You need probably to spend some time reading other posts.

Hi retired feline. I’m afraid I don’t really understand what you mean when you say

“connected those auxiliary power symbols to the main GND or postive or negative rails”

Something tells me I don’t have sufficient technical background to be using KiCAD. Having said that, I take it that you mean, I should be connecting the power symbols to power outputs? Or are you referring to something like this? pcb - Why kicad schematics pin electrical type is always power input? - Electrical Engineering Stack Exchange

Say you have a power symbol called ARD_GND. This makes it convenient to connect all the places that use ARD_GND without long wires. However it is still an isolated net until somewhere in the schematic you connect it to the real GND. If the real GND is connected to a power output (say a battery, or a converter) or has a PWR_FLAG on it, then ARD_GND will pass the ERC too.

Not sure why you want to use a multitide of power symbols instead of just sticking with GND and say Vcc. Usually people have separate grounds for specific reasons, like a digital GND and an analog GND. Or a high current GND and a signal GND.

You could post the whole elephant instead of giving us glimpses of the leg, the trunk, the ears, then we can run your project through ERC ourselves. You should be able to attach zip files now.

Here’s the project.
Archive.zip (3.3 MB)

The reason I want to use a multitude of power symbols is because the PCB allows for a number of different input sources …

By adding PWR_FLAG in a few places, I got rid of the Power Input not connected to Power Output or Power Input not driven.

The remaining errors are about Power_Output connected to Output, or Power_Output connected to Bidirectional. Those are probably because the pin types of your ICs are mislabelled. You probably got it from a non-KiCad source. Or you are connecting the pins incorrectly. If it’s an output pin, then it shouldn’t be connected to a power net. If it’s a bidirectional pin and you are tying it low or high then the pin type should be passive. Bidirectional means that it could become an output in some situations. If you are sure that situation will never happen you can suppress the particular error.

Edit: There’s a FAQ about pin electrical types IIRC.

OK. Thanks. I’ll keep experimenting with placement of the PWR_FLAG.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.