ERC error: Input power pin not driven by output power pins

Newbie here.
When i run the ERC, I’m getting
Error: Input power pin not driven by any Output Power pins
for each of my power and ground connections.

I can make the ones for the power connections go away by adding by connecting a PWR flag to it,
but I can’t make the one for the ground go away by connecting a PWRGND flag to it

Obviously I’m missing something here.
I’m running Kicad 6.0 on Linux.

Have you tried putting a PWR flag on the ground? I’m sure that’s what I do, not near pc at moment to check.


I really dont want to be a smart-ass :wink: but I have designed some inverter bridges and while your driver stages are very simple they will result in very slow switching: good EMC but high losses. :face_with_thermometer:
I have used this myself for slow switching for a cars turn indicator but if you should be planning to drive a motor using pwm you should consider using a “real” driver IC.

Concerning your question I agree to Steve, the standard PWR flag always worked for me in all situations.

You’ve basically solved it, but you should use a PWR_FLAG on your ground net, not PWRGND.

PWRGND is a ground symbol that one would want to use in power applications; the only difference from the other ground symbols is the name and graphic.

PWR_FLAG is an entirely different beast; it tells KiCad that the net is driven from somewhere. It is appropriate for GND and power nets. Despite the names being similar, there is no similarity between PWRGND and PWR_FLAG.

1 Like

I agree with chris9.

It also looks like the top three MOSfets can also get 48V on their gates and that would destroy them.

Your screenshot resolution is too low to see the schematic properly N-and P-channel FET’s. NPN or PNP transistors… It’s hard to see.

Normally only N-channel MOSfets are used in such motor circuits because they have a better price/performance ratio and they are combined with dedicated gate driver chips to (dis) charge the gates quikly, and thus make the FET’s switch quicker and improve efficiency.

You probably also want to provide the ground reference on the right connector. Otherwise the signals will have no reference (unless it is provided elsewhere and you didn’t provide it to avoid ground loops…).

thank you everybody! Particularly Paul who pointed the self-destructive design of my circuit, before I actually cooked any silicon.

Adding the pwrflag to the ground as well did the trick for the ERC.

The intended purpose is to see if I can treat a 400W brushless cnc spindle as a steppper motor. Somebody on youtube had this cool trick where he did poor-mans automatic tool changer, but he used a stepper motor to tighten/loosen the collet nut while using a stationary wrench to keep the spindle from turning. I thought I’d try swapping in a different circuit to precisely control the spindle, hence the 3 half-bridges.

Can someone suggest a dedicated gate driver chip? I have a fair electronics background for a hobbyist, but obviously motor drivers are a new area for me.

Again, my thanks!

there are a LOT of MOSFET/IGBT bridge drivers but for private purposes I would recommend something that is simple and has good availability like the IR2110, IR2113 or compatible ones ?
They provide the logic and level conversion. for (1) half bridge, so you will need 3 drivers.
Its definetely more expensive than your design but gives you a “carefree” output stage. However, if you want short cicuit protection you will have to add this yourself or search for a more sophisticated driver.

There are also small IGBT Modules with driver AND IGBTs in one housing like the Fairchild FSBS5CH60. I dunno if that is available for private use.

oops, I forgot: these things are made for High-Side Bootstrapping. If you plan to do switching without PWM you will possibly have to design something with simpler drivers like the MC34151 or its SO8 companions.

Your motor is never going to have nearly enough torque to tighten an ER nut.
Those motors are designed for High RPM, and Power = Torque * Angular velocity.

So if you have a 400W spindle that is designed for (a modest) 10000rpm then:

Angular velocity:

10000/602pi = 1047 [Rad/s]


400 / 1047 = 0.38 [Nm]

Maybe you can get twice that torque by pushing much more current through the motor (which is usually fine for a short time) but the core will then be saturated and it simply does not respond to stronger magnetic fields.

Recommended torque for an ER11 (upto 7mm shaft) is 24Nm.

Which means you’re more than an order of magnitude off and it’s never going to work.
That stepper motor thing you saw almost certainly also had a gearbox to get enough torque.

Once I did see a very clever home-built tool changer.
It had a mechanical blocking mechanism for the spindle and a wrench that could rotate around the place you normally hold it with your hands.
Then it used the (X, Y) motion to maneuver the ER collet into the wrench and then draw a circle around the hinge point.

Another possibility is to use shaft extensions. You can buy ER collet holders which also have an extra female thread on the other end. You can screw these on an ER spindle instead of the normal ER nut.
These tighten themselves on the ER thread, and exchanging them is quicker than doing it with the ER collets themselves. They are longer, so you loose a bit of stability, but you also gain work height

Can someone please tell me how to put a PWR flag on the VCC and GND as I have the same issue?

You will find the “power flag” in the symbols library named “Power” about 3/4 down the page. Just add it like any other symbol.

You may want to consider using the PWRFLAG symbol as additional documentation for your circuit. I do, so what I would do is put the PWRFLAG as near as I can to the “source” of the VCC or GND nets. For example, on the pins of the connector you provide power to the circuit, or on the output of the power filter you may be using for the “source” of the power. But you don’t have to. You could put a PWRFLAG symbol connected to a VCC (or GND) symbol somewhere out of the way on your schematic to simply quiet the error.

(Remember, KiCad knows nothing about how a component works, only what the pin numbers are, the graphics, reference designator, value, footprint, and any other metadata you want to add for the symbol. It doesn’t know the concept of current limiting resistor or reverse polarity protection diode or any of the other passive components you may use between the power connector or battery or voltage regulator and the rest of the circuit.)