Net list not relating to symbols of power type

I am working on a schematic/ PCB layout in which +3V3 is from an external source and a second voltage is generated by the output of a switch-mode PSU in the schematic itself (for which I have a net label named +3V3_LEDs).
Despite the current name, the latter will more probably be a different voltage, e.g., +2V2.
The general idea is that I can choose which of the two available voltages are routed to various components such as LEDs via several 3-way solder jumpers.
In that way, I can optimise power consumption by choosing the most appropriate voltage based on Vf of the particular LEDs that are subsequently ordered.
For example, I would pass the lower voltage to the red LEDs and the higher voltage to the green LEDs.

As seen in the graphic, there are symbols of power type (i.e., having their ‘Define as power symbol’ checkbox ticked) such as +Vred and +Vgreen.

Those same symbols are used as drivers for the red/ green dual LED anodes, an example being shown in the following graphic.


I manually annotated all the components on the schematic and was surprised to see the ERC message that some annotations were missing.
I let the system automatically complete the annotation process and observed that annotations were done relating to various net names, which I found surprising.

After completing that automatic annotation, there are no error or warning messages for the schematic ERC.

Moving on to using the PCB Editor, I find that the system appears to have no knowledge about +Vred and +Vgreen :frowning:

As seen in the following graphic, there is no ratsnest lines showing between the centres of (in particular JP6 and JP7, which relate to powering for the red and green LEDs).
I have added red and green lines to the graphic to show the ratsnest lines that are missing between the jumpers and the LED anodes.
The system has annotated, for example, the centre of JP7 as ‘Net - (JP7-Pad2)’
I don’t understand why!
In contrast, the +3V3 power symbol has resulted in expected behaviour (that name showing in the jumper pads and there being associated ratsnest lines).

I tried adding ‘+Vred’ as a net label (i.e., in addition to the power symbol of that same name); although that results in the name showing in the jumper middle pad, there is no ratsnest line resulting.
Presumably, I could add the same ‘+Vred’ as a net label to the LED connection to achieve a result, i.e., a connection between the jumper and red LED anode.
However, the question arises as to why the power symbols +Vred and +Vgreen seem to be getting disregarded?!

There is no complaint from the rules checker in relation to these power symbols.
I should imagine that it would complain that there is no power input to such as +Vgreen, which are simply the middle of 3-way solder jumpers.

I was expecting to have to add power flags - since there was no complaint from the system, I didn’t add power flags.

In contrast, for +3V3, the system realised that it was a power flag with no on-schematic source so I had to add a power flag for it to get rid of the error message, as was expected.

I assume you made your power symbols yourself (+Vred, +VGreen, +VBusser, etc). Power symbols are still a bit of a kludge. You can make them, but you have to sit up extend your paw and be nice to do this. Start by reading the manual section for power symbols.

As I recall, I simply copied/ renamed existing Kicad power symbols.

My understanding is that the only difference between a ‘normal’ symbol and a ‘power’ symbol is that the ‘Define as power symbol’ checkbox is ticked.
Are there any other aspects that distinguish them?

However, I shall certainly follow your advice and read the manual …

I just looked at the DRC report for the PCB Editor.
For a search of ‘JP7’:

** Found 105 unconnected pads **
[unconnected_items]: Missing connection between items

[unconnected_items]: Missing connection between items
Local override; Severity: error

@(149.3000 mm, 74.1000 mm): Pad 1 [+3V3] of JP7 on F.Cu
[unconnected_items]: Missing connection between items
Local override; Severity: error

@(149.3000 mm, 74.1000 mm): Pad 1 [+3V3] of JP7 on F.Cu

[unconnected_items]: Missing connection between items
Local override; Severity: error

@(149.3000 mm, 70.1000 mm): Pad 3 [/+3V3_LEDs] of JP7 on F.Cu
[unconnected_items]: Missing connection between items
Local override; Severity: error
@(149.3000 mm, 70.1000 mm): Pad 3 [/+3V3_LEDs] of JP7 on F.Cu

I have yet to do any of the routing so it is understandable that there are ‘missing connection(s)’ between pads 1 and 3 of JP7.
However, there is the nothing in the DRC report regarding Pad 2 (the centre of the 3-way solder jumper which relates to my ‘+Vgreen’).

If you rename the power symbols, the net name will still stay the same. You have to create your own power symbols with individual pin names. It’s a bit counter intuitive but makes sense in other use cases. Another way would be if you just directly assign net names to +Vgreen, +Vred, … and don’t use a power symbol at all.

Based on ‘reading the manual’ (which is always sound advice!), I looked at my +Vgreen symbol.

Although the symbol itself was correctly named ‘+Vgreen’, it seems that it is also necessary to play with the associated ‘pin’ settings.

I show the ‘before’ and ‘after’ my changes:
(Presumably I had copied from the ‘+3V’ power symbol to +Vgreen.)



In summary, it seems that a simple copy and rename of a power symbol is insufficient.
It is furthermore necessary to go into the associated ‘pin’ of the symbol and also rename that and set the Electrical Type to ‘Power input’.
[Presumably the copy did not copy the ‘Electrical type’ field as one could reasonably expect?]
[It is not obvious to the uninitiated that there is a ‘pin’ (bearing in mind that it is invisible!) - I mistakenly assumed that a power symbol was a particular sort of net name associated with power.]

The manual includes:
‘An easier method to create a new power port symbol is to use another symbol as a starting point, as described earlier.’

That is bad advice since I started with a simple copy and rename!

Yes, the key point is that it is also necessary to play with the pin.
[Not only name but also ‘Electrical type’]
As you write, this does not seem reasonably ‘intuitive’ …

Yep, so for simple nets just use the net labels (without additional power symbols), that’s what they are for. And keep in mind that the power symbols spawn a global net, so if you have different sheets you might get a big mess.

Thinking further about this …
It also seems strange that the power symbol apparently must be defined as a ‘Power input’ (according to the manual).

In my usage example, +Vgreen is really a power output in the sense that it is being used to drive the anodes of LEDs.

Changing +Vgreen back to ‘Power output’ results in the required ratsnest connection not being shown.
There is then also an ERC error in the schematic indicating the need to (as one would expect) add a power flag.
However, adding that power flag results in a error as seen in the following graphic


Also true. The power symbol should be placed at the power output of another device (like a voltage regulator or such) and so the ERC knows there is a power input (the power symbol) connected to a power output, so everything is fine.

My thinking was that it was nice to show the power inputs to the LEDs in a consistent manner to that of other power rail usage,
[repeating a previous graphic]:

However, I agree with you that the several problematic aspects appear to make the usage of net labels a more attractive alternative!