Why Such a Common ERC Error?

I just did my first schematic with Kicad and got the classic “ErrType(3): Pin connected to other pins, but not driven by any pin” error when running ERC on a net between a capacitor and ground symbol.

I’m aware of this FAQ entry and that I can add a PWR_FLAG to resolve the issue but I don’t understand why I should need to do this. It should be clear to the rules checker that the power is obtained from the 5V source.

I don’t get it. Can someone please explain?

There is nothing on the schematic saying there is a 5V source. I’m assuming it’s coming in on J2.1 but the ERC doesn’t magically know that connector pin is an input not an output.

Really? I thought that’s what this is???

5VSource

That’s a power symbol which in kicad is just a global net across any pages/hierarchical blocks. It still wants to see a source feeding into said global net if you have pins connected to it marked “power input/input”

The bus symbols don’t get any other special meaning. You can’t just assume they are magically power outputs. For example, if you make a design with a regulator and micro, you copy and paste a +5V bus symbol everywhere but then you forget the connect the regulator to it…would be a very unfortunate error to have

1 Like

Hmmmm… Okay, thanks for the feedback. If I’m understanding correctly, you’re saying just b/c I put a 5V symbol down on the schematic, this isn’t actually showing where power is coming from, right?

So, I take it I should I do something like this?

PwrFlag

You can place the power flag wherever you want but it’s a good idea to place it near the actual source of power. Whether it’s a connector pin or inductor pin of your smps or emitter of your emitter follower based stabilizer or… you get the idea.

3 Likes

Hello!

Wouldn’t it be possible to design power symbols (like this +5V) which would implicitly “contain” a power flag? Or would there be drawbacks?

You can design your own symbol and set it’s pin to output. But you will only be able to place it on the net once while typically you want to place power rail symbols in multiple places.

1 Like

It’s a pity that the name is sometimes a misnomer. Here’s a situation where this happens. An IC pin goes to a SPDT DIP switch or jumpers to connect to one of two options, both of which are connected to nets with an output. The ERC doesn’t know that the pin is driven in either position, so the PWR_FLAG is needed but this has nothing to do with power.

But after a while, you instinctively know the situations where it’s needed.

1 Like

As written before: the power symbol in itself is just a global label connecting pins together in a net, and nothing more.

This is indeed possible, and also normal to do.
For example, if you look at a bog standard 7805 voltage regulator, then you see the output pin has the “Power Output” type:


And a “Power Output” pin is pretty much equivalent to the PWR_FLAG symbol.

The PWR_FLAG symbols are only needed when such a power net does not have a “Power_Output” pin.
If your PCB has an off-board power supply, then I usually put the PWR_FLAG symbols near the connector to give an indication where the power comes from.

Note: that this PWR_FLAG enables extra checks for ERC, which other schematic programs do not have.

A limitation is that it only works on a single net. Sometimes power nets have blocking diodes, filter inductors or input source switches or jumpers, and this separates the voltage source from the power connections of your IC’s. KiCad can not look over this.

1 Like

Hello!

But you will only be able to place it on the net once while typically you want to place power rail symbols in multiple places.

Ok, so this means that if I design such a symbol and put 2 on the same net, I will get another error telling me that 2 outputs are tied together. Am I right?
Now I got it. It took me just a bit more than 1 year…

Yep. And 20 more character to appease the forum overlords.

Hi Terence,

In Kicad if the symbol pin is marked as input pin, then that pin should be supplied from another pin marked as an output pin.

This is indicated in the figure below:

Here the Ground functions as the input pin, hence there is no error, (only warnings)

1 Like

Now consider what KiCad will think if you power each IC through ferrite bead + C filter or if you use some 0R resistors in VCC.

I think of it as a Relax, ERC, This Net Is Driven Flag.

Just getting back to this after a busy week. Designing circuit boards isn’t my fulltime job, but a hobby. Appreciate all of the feedback. I think I understand now.

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