Power Ports still causing issues (for me)

Hi,
I recently upgraded to Version 6 (which for the most part is looking very clean and tidy, thank you). One area that is still confusing the heck out of me, even after all these years, are the Power Ports. To give you some background, I started working in Orcad in the 80’s, and whatever I used as my port name, that became the net name for the connected circuit in question. Fast forward to Protel 99 in the late 90’s, same story, then Altium in the early 2000’s. All were consistent and there was little confusion in this regard. So why does Kicad insist on reinventing the wheel on this one? I have spent the better part of an hour looking for definitive answers, and all I have found is other peoples equal confusion on the matter with what appear to be workarounds for what should otherwise be a simple task. IE place port of choice (circle, diamond, bar etc.) give it a name (eg 3V3) and voila, that net is 3V3, and all other apparently disconnected nets with the same name are in fact connected!

Instead it is my understanding that apart from the standard power ports, you have to go and create a new power port component every time you have something a little different. I did read one users discussion, where he said he simply uses a PWRFLAG for his power rail, but the problem with that is if you have multiple supplies (as I have, IE -3V, +3V, +3V3, +5V, +24V) then they all get connected together!

I have also tried creating new Power Ports for my +3V and -3V (along with using the standard 5V rail) but I noticed that they all get connected to the same Net called VCC. If I open them up in the symbol editor, I can change their “value” (eg 3V3) but it still shows VCC, and connects all my rails together. The only place I see VCC appearing in the settings is if I look at the symbol in the schematic, and go to “Alternate Pin Assignments” tab. There it lists “Base Name” as VCC, but it is not editable.

so, how are we meant to change the Power Port name easily and prevent all our power nets from being mashed into one lump? Better yet, when will Kicad follow industry convention and just make the Power Ports symbols where you edit the name → Name = net.

Sorry for the bleating, but wow, this just seems like something very simple has been forced to be unreasonably complicated.



Pin is 5V

Symbol setting for 3V
Symbol setting for 5V pin

Simple answer, don’t do that, i.e. copy a power symbol and then change the name, because the base name cannot be changed and all the nets with the same base name will be connected. There are lots of other power symbols available in the library. I count 100 in my KiCad’s power library. Surely some of those will suit you?

$ grep '^DEF' /usr/share/kicad/library/power.lib
DEF +10V #PWR 0 0 Y Y 1 F P
DEF +12C #PWR 0 0 Y Y 1 F P
DEF +12L #PWR 0 0 Y Y 1 F P
DEF +12LF #PWR 0 0 Y Y 1 F P
DEF +12P #PWR 0 0 Y Y 1 F P
DEF +12V #PWR 0 0 Y Y 1 F P
DEF +12VA #PWR 0 0 Y Y 1 F P
DEF +15V #PWR 0 0 Y Y 1 F P
DEF +1V0 #PWR 0 0 Y Y 1 F P
DEF +1V1 #PWR 0 0 Y Y 1 F P
DEF +1V2 #PWR 0 0 Y Y 1 F P
DEF +1V35 #PWR 0 0 Y Y 1 F P
DEF +1V5 #PWR 0 0 Y Y 1 F P
DEF +1V8 #PWR 0 0 Y Y 1 F P
DEF +24V #PWR 0 0 Y Y 1 F P
DEF +28V #PWR 0 0 Y Y 1 F P
DEF +2V5 #PWR 0 0 Y Y 1 F P
DEF +2V8 #PWR 0 0 Y Y 1 F P
DEF +3.3VA #PWR 0 0 Y Y 1 F P
DEF +3.3VADC #PWR 0 0 Y Y 1 F P
DEF +3.3VDAC #PWR 0 0 Y Y 1 F P
DEF +3.3VP #PWR 0 0 Y Y 1 F P
DEF +36V #PWR 0 0 Y Y 1 F P
DEF +3V0 #PWR 0 0 Y Y 1 F P
DEF +3V3 #PWR 0 0 Y Y 1 F P
DEF +3V8 #PWR 0 0 Y Y 1 F P
DEF +48V #PWR 0 0 Y Y 1 F P
DEF +4V #PWR 0 0 Y Y 1 F P
DEF +5C #PWR 0 0 Y Y 1 F P
DEF +5F #PWR 0 0 Y Y 1 F P
DEF +5P #PWR 0 0 Y Y 1 F P
DEF +5V #PWR 0 0 Y Y 1 F P
DEF +5VA #PWR 0 0 Y Y 1 F P
DEF +5VD #PWR 0 0 Y Y 1 F P
DEF +5VL #PWR 0 0 Y Y 1 F P
DEF +5VP #PWR 0 0 Y Y 1 F P
DEF +6V #PWR 0 0 Y Y 1 F P
DEF +7.5V #PWR 0 0 Y Y 1 F P
DEF +8V #PWR 0 0 Y Y 1 F P
DEF +9V #PWR 0 0 Y Y 1 F P
DEF +9VA #PWR 0 0 Y Y 1 F P
DEF +BATT #PWR 0 0 Y Y 1 F P
DEF +VDC #PWR 0 0 Y Y 1 F P
DEF +VSW #PWR 0 0 Y Y 1 F P
DEF -10V #PWR 0 0 Y Y 1 F P
DEF -12V #PWR 0 0 Y Y 1 F P
DEF -12VA #PWR 0 0 Y Y 1 F P
DEF -15V #PWR 0 0 Y Y 1 F P
DEF -24V #PWR 0 0 Y Y 1 F P
DEF -2V5 #PWR 0 0 Y Y 1 F P
DEF -36V #PWR 0 0 Y Y 1 F P
DEF -3V3 #PWR 0 0 Y Y 1 F P
DEF -48V #PWR 0 0 Y Y 1 F P
DEF -5V #PWR 0 0 Y Y 1 F P
DEF -5VA #PWR 0 0 Y Y 1 F P
DEF -6V #PWR 0 0 Y Y 1 F P
DEF -8V #PWR 0 0 Y Y 1 F P
DEF -9V #PWR 0 0 Y Y 1 F P
DEF -9VA #PWR 0 0 Y Y 1 F P
DEF -BATT #PWR 0 0 Y Y 1 F P
DEF -VDC #PWR 0 0 Y Y 1 F P
DEF -VSW #PWR 0 0 Y Y 1 F P
DEF AC #PWR 0 0 Y Y 1 F P
DEF Earth #PWR 0 0 Y Y 1 F P
DEF Earth_Clean #PWR 0 0 Y Y 1 F P
DEF Earth_Protective #PWR 0 0 Y Y 1 F P
DEF GND #PWR 0 0 Y Y 1 F P
DEF GND1 #PWR 0 0 Y Y 1 F P
DEF GND2 #PWR 0 0 Y Y 1 F P
DEF GND3 #PWR 0 0 Y Y 1 F P
DEF GNDA #PWR 0 0 Y Y 1 F P
DEF GNDD #PWR 0 0 Y Y 1 F P
DEF GNDPWR #PWR 0 0 Y Y 1 F P
DEF GNDREF #PWR 0 0 Y Y 1 F P
DEF GNDS #PWR 0 0 Y Y 1 F P
DEF HT #PWR 0 0 Y Y 1 F P
DEF LINE #PWR 0 0 Y Y 1 F P
DEF NEUT #PWR 0 0 Y Y 1 F P
DEF PRI_HI #PWR 0 0 Y Y 1 F P
DEF PRI_LO #PWR 0 0 Y Y 1 F P
DEF PRI_MID #PWR 0 0 Y Y 1 F P
DEF PWR_FLAG #FLG 0 0 N N 1 F P
DEF VAA #PWR 0 0 Y Y 1 F P
DEF VAC #PWR 0 0 Y Y 1 F P
DEF VBUS #PWR 0 0 Y Y 1 F P
DEF VCC #PWR 0 0 Y Y 1 F P
DEF VCCQ #PWR 0 0 Y Y 1 F P
DEF VCOM #PWR 0 0 Y Y 1 F P
DEF VD #PWR 0 0 Y Y 1 F P
DEF VDC #PWR 0 0 Y Y 1 F P
DEF VDD #PWR 0 0 Y Y 1 F P
DEF VDDA #PWR 0 0 Y Y 1 F P
DEF VDDF #PWR 0 0 Y Y 1 F P
DEF VEE #PWR 0 0 Y Y 1 F P
DEF VMEM #PWR 0 0 Y Y 1 F P
DEF VPP #PWR 0 0 Y Y 1 F P
DEF VS #PWR 0 0 Y Y 1 F P
DEF VSS #PWR 0 0 Y Y 1 F P
DEF VSSA #PWR 0 0 Y Y 1 F P
DEF Vdrive #PWR 0 0 Y Y 1 F P

So the power symbols are a bit of a hack as behind the scenes they use an invisible field to determine the connection. The long and the short of this is you can’t simply rename a power symbol (which is what I expect you did).

Hi John,
I made a copy of the symbol, and then changed the Value name. I’m still confused as to what else I’m supposed to be doing.

Furthermore, as much as there are all sorts of options in there, no, I needed a +3V and -3V which were not listed. I’ve historically worked with a lot of other power supplies before too that I doubt are in there (750V DC, 1200V DC, 11kV…)

You could always treat it as a normal net, and define a global label to attach to it. You may or may not need to attach a PWR_FLAG for the sake of ERC.

I agree that this trips people up and is a trap for the unwary.
If you can’t work with the range of values that @retiredfeline showed (he’s faster at typing) then you need to examine a power symbol on the symbol editor and make your own - ensure that both the hidden label and display value are what is required and save them into your own library.

I did consider that as an option, but in terms of human readability I have always like to have distinct ports that clearly show supply rail voltages, test points etc. Test points are another very useful feature that you will definitely not have (Power Port) names for either, but that’s another story

I thought that that is what I had done. I made a copy of one of the ports, and changed its “Value” to my desired value, but still, it insists on assigning it to the “VCC” net. I can’t see anywhere in the settings where you can edit this VCC setting.

The power flags simply show where the circuit gets power from. So, put them on the power source (and gnd). KiCad ERC doesn’t understand components like fuses so you need to place the flag on the downstream side.

You only changed the display value, not the hidden label - and it’s the hidden label that determines the connection.

1 Like

I’m sorry, but in the symbol editor, where do I see the hidden value? I don’t see it anywhere in the settings either here or in the schematic when I place the symbol.

You can’t just change the name, you have to make a new symbol for each different potential. See the pin definition here and note it is set to NOT visible.

But that’s what I’ve done! IE I have created a new symbol, and then changed its value. This is apparent in my last screenshot, where I have changed it (“Value” and “Symbol Name”) to 3V, but overlooked changing the “VCC” in the description.

Sorry, am I also meant to be changing something when I finally pull the port out of the library and place it on the schematic?

You have shown the SYMBOL properties, not the PIN properties.

Would that be the Pin properties in the Symbol editor, or the schematic editor?

In the symbol editor. But you will need to save your modified symbol in your own library.

I’ve already done that (saved various port pins in my own library several days ago). Where do you go to see the Pin setup (as opposed to Symbol setup)?

Aha, wait a moment, I have found a little icon in the menu called “Pin Table” and that lists “VCC”

None of this comes up if you right click on the symbol itself.

Hi,

you need to change the value and the pin name, as John_Pateman said.

You can change the value here:
image

And the name here:

Of just hover over the greyed out pin (the +4v) in my screenshot and press ‘e’

Yes, thank you!! It’s that second table I wasn’t seeing before. I’ve been scouring documentation and forums etc. but nobody mentions the Pin Table where you have to change that Name as well.

I just edited it in my schematic by right clicking and choosing the option to open the symbol editor. I just undid it too, as it only changes it for that instance. I’ll go into the library proper and change them there instead.

Thanks for your time guys, much appreciated. As I say, I am enjoying using Kicad (especially this new Version 6) but it still has a few UI quirks to sort out, this being one of them. Overall I can’t complain though, as it’s an outstanding piece of CAD software, so thanks again.