Now ALL power connections tell me they are unconnected

Hello,
I have a large (three page) project which I created a few months ago.
Now I wanted to add something to it.

When I run the Rule Check, it is now telling me the powers are not connected. ALWAYS two at a time. I fix them, and another shows up.

First of all it was NOT a problem months ago when I spend days creating this schematic.

Second of all, I have almost a hundred of these, popping up two at a time, and having to “Whack-A-Mole” to make them go away.

This is the report, and this is what it tells me is NOT connected. Except it was. And is. And when I fix it, it gives me another one.

Any idea how to make this stop?? And why lines that WERE connected before are not now??

By the way… After deleting and reinserting power and ground symbols, I noticed that I am now just going round in circles.

i.e. SUPPLY 0115 has now been replaced three times.

This “Pin connected to other …” is from an ERC check that eagle does not do. The idea is that it helps you with ensuring that all IC’s get power from somewhere, and to do that it checks if a net is connected to a “power output” pin (from for example a voltage regulator). If power is coming from a connector or in some other situations you have to add “PWR_FLAG” symbols to your schematic.

For more see:

https://forum.kicad.info/search?q=pwr_flag%20category%3A19

https://docs.kicad.org/5.1/en/eeschema/eeschema.html#electrical-rules-check-tool

But this worked a few months ago. Same schematic. Same project.
EVERY error check on the schematic and board were clean.

The only difference is I added a new 40 pin DIP on another page, and the year on my PC has now changed (2021 vs 2020).

Why does it only give me two at a time? Why when I fix them, it invents anther two? Why when I fix them it invents another two? And eventually I’m fixing one that I already fixed.

The “Pin connected to other …” message is related to a net, not to a pin, and it only shows it once for the whole net.

What are you doing when you “fix” them? You’re probably attempting to do it in the wrong way.

Have you read the links to the use of the “PWR_FLAG” symbols?

Make sure to check the pin name in any power symbol. That used to trip me up…

Ah, yes. the common “I didn’t change anything” plea. When adding the 40-pin DIP (or some unrelated but believed innocuous action) you may have deleted or moved existing PWR_FLAG symbols or “Power Output” type pins off the power nets.

About 50 of them, on pages 1 and 2 that were not touched, when component was added to page 3??

I find it pretty to hard to remotely debug problems like this, it’s like a parlour game. “Is it a bird?” “No”, “Is it a plane?”…

However, it looks like the project was imported from Eagle. I never liked the tiny labels the importer adds.

Anyway, my guess is the added symbol has hidden power pins.

1 Like

Yes, I read that tutorial. It made things worse. The PWR_FLAG and the J1 both had "Power Output"s

The power plug J1 shown already has the pins designated as “power outputs”.

Image1

After re-importing the symbol, it’s working. I am not sure what is going on “under the covers”. This was a large project migrated from Eagle, which I did not want to redraw everything.
(Yes, I know that is not the optimal solution)

Now there is a new problem:
How do I connect TWO “Power Outputs” that are both ground?
i.e.
The power plug has a ground and is “Power Output”…
and a signal connector also has a pin that is a “Power Output” that is a ground (in this case, a USB jack)

In this case the USB needs the ground reference, but the device is no going to be USB powered.

I think the only way is to use a net-tie, but I prefer to make my connectors passive and add pwr-flag.

1 Like

It also depends on what the GNDs represent outside the board. If they are truly both part of power supplies then one might need to ensure that these power supplies do not “fight” each other on the board.

If only one of the is a power supply and the other is just a connection to for example an external device powered by the designed board then the better pin type is power input.

Yeah, I did some searching and that seems to be the only way.
Most people are trying to merge DGND and AGND. Which makes sense to pick your connection point.

As a attempt, I changed the connector GND to passive, and added the PWR flag. Then attached the USB GND… and got a conflict.

I would prefer not to mess with the USB pin definitions, as they are part of the library. The J1 is mine that was imported.

When the “PWR FLAG” is removed, it’s ok. As shown.
Page 1 and the component editor:
Image1

And on page 3:
Image2

Thanks.

When I look at this picture (and others):

then I see lots of nets labeled twice, possibly even thrice.
All those very small squiggly things are net labels that have been added by the eagle to KiCad conversion, while in KiCad those labels are mostly redundant because the power symbols already add net labels (names) to the nets they are connected to.

And then, despite all those labels, in your first screenshot there is a message about apparently a GND symbol, but it is connected to “Net 8” instead of a named GND net.

You write you’ve replaced the power symbols 3 times, so I assume those are default symbols from KiCad’s libraries. I would start by removing all the redundant labels added by the conversion (after verifying each is redundant).

image

I also totally agree with bobc:

If you’ve got two connectors with both a “power_output” for the GND pin then ERC complains. You fixed it by changing one of the pins to “passive”, but re-created the problem again by adding the “PWR_FLAG” symbol.
Simple rule: Each power net should have exactly one power output, which can either be a pin from a symbol (voltage regulator, connector, etc) OR a PWR_FLAG, but not both.

Yeah, now you see the problem. They are touching, and yet the nets are not merged.

Nope, I copied the symbol from the adjacent that was NOT giving me any error. Until I wised up and realized the repairs were just going in circles.

Yes, this was predictable… I should have added “as expected”. But the subsequent text in my post should have indicated that I understand that issue now.

But the bigger problem, which I did not realize, was the “imported” library of all those components from Eagle… wasn’t. It got disconnected. Not sure how.

So it was trying to use those symbols, but didn’t know they were supposed to me power.

But I learned how to re-connect the library into the project and it’s all good now.

No issues remain.