I’m trying to create a layout for a dual rail power supply using the same positive regulators (same symbol that I created used for both regulators) that are tied at the outputs (similar to a lab PSU). The output ground is connected to the “GNDA” flag since there are multiple grounds in the circuit (i.e. the “GND” flag was already used).
Initially, I named the ground pin for the regulator symbol “GND”, but Kicad automatically assigned it to the “GND” net instead of the “GNDA” net. Is this normal?
As a workaround for this, I changed the pin name in the symbol to “GND_” thinking that it had to be different than one of the stock ground power pin names. This prevented it from being assigned to the “GND” net and instead allowed it to be assigned to the “AGND” net. However, I then noticed after placing the components in Pcbnew that it assigned the “GND_” pins for both regulators to the “AGND” net. In the schematic, the “GND_” pin of the positive rail regulator is connected to “AGND” while the “GND_” pin of the negative rail regulator is not. Why is this happening? If this is considered normal, then why are none of the other pins of the regulators (that obviously share the same pin names as they are made using the same symbol) assigned to the same nets?
I guess I could create another copy of the symbol with a different ground pin name (e.g., “GND_2”), but this seems a little ridiculous.
Normally KiCad does not connect voltage regulators to any net implicitly.
It does however implicitly merge nets with different labels, and then silently assign one of the label names to the whole net.
Therefore I suspect you have made a mistake and connected the different GND nets in the schematic.
If you still can’t figure it out, then post a skeleton project with your schematic of these voltage regulators, zip it up and post it here, and I’ll have a look at it.
Power pins connect nets via hidden global labels. This often seems to catch people out. Have a close look at the GND symbol on the symbol editor to understand how it works.
Ah, I think that’s it. The pin for the thermal pad (pin 21 in this case as it’s a 20-pin QFN) was hidden and set to “power input”. It looks like the convention is to set the hidden ground pins to “passive” instead.
But if you leave passive pins hidden they won’t get connected to anything. Probably better to leave it as a Power Input pin and make it visible.
That has the added documentation properties so when:
If a manual check with a continuity tester to make sure all grounds and powers go where they are supposed to go, a glance at the schematic will tell you if you have connected the thermal pad to ground (and which ground).
Locating the part for assembly you can see on the schematic that it has a thermal pad making quick visual pattern recognition on the board easier (i.e. ignore all IC looking footprints without thermal pads).
When repairing the board you know at a glance at the schematic that there is a thermal pad that will need a little extra time with the heat gun to unsolder.
Setting GND pins to invisible and “passive” is a part of:
I do not agree with this practice.
I want to see all GND pins in my schematic, and I want to see all those pin numbers.
When I’m debugging my hardware, I want to be able to verify where pin 23 of that chip goes. This is contradictory to the “official” KiCad standpoint. They prefer to only show 1 GND pin, and “stack” the other GND pins as both invisible and hidden on the same location, which results in a net being connected to the only visible GND pin, it will also connect to all the stacked pins.