How to check/see the Net Names in KiCad Schematics?

Very basic function which I can’t find in the schematics (click a wire/properties). I can only see the net names in the PCB (click a trace/properties). What do I miss here?

your Kicad-version?
for v5.99:

  • the name of a highlighted net is displayed at the bottom-most status-line (left corner)
  • the name of the currently selected net is displayed one line higher, text: “connection name”

Normally you define the net name yourself by attaching a label to a wire. The label is the net name.

Only nets that do not have a label attached get an auto-generated net name in the form of “Net-(C9-Pad1)”, which is a combination of the RefDes (“Reference Designator” aka “Reference” in KiCad) and the pad number.

1 Like

Thanks. In Eagle we have the “label” command (simply click the wire/net) which makes it possible to showcase/LABEL the name for any automatic named wires/nets (we can of course still change the names of these if needed). Is there anything automatic quite similar in KiCad, which doesn’t force us to type in net names ourselves to get them net names showed, with the risk of typos? Yeah, I know many KiCadders are used of typing, as many are on Linux, I may guess…

Hover the mouse cursor over any existing label, then press c for copy and drag the copy to a new location.

KiCad also use “No Connect” crosses on unused pins. If there is a mis typed label name, then it’s likely that this gets flagged by ERC as an open connection.

In KiCad-nightly V5.99 there is also an ERC check for labels that appear only once, but I have not checked if this works for all label types.

If you’re really paranoid you can look at: Pcbnew / File / Board Setup / Design Rules / Net Classes. Al nets are listed alphabetically in the lower right corner and you can scan though the list for possible typo’s.

Just why this topic exists, the thing you mention is not possible as there is no label available – until you TYPE a label in the schematics. That’s very dangerous.

As @mf_ibfeew mentioned, the net name for a selected net is displayed in the status bar, whether autogenerated or manually labelled.

1 Like

Your perception of “dangerous” is apparently a lot different from mine.
I’ve learned to read and type some 40 years ago and I keep up those skills almost daily and I find typing in a label name pretty trivial.

On top of that, using auto-generated net names in KiCad as labels does not make much sense. Those names have no associated function. It would probably be a bit better if automatic names were derived from the pin name of an output in a net. But still. I much prefer having to think of a logical name to use as a net label. This also makes a clear separation between auto generated netlist names and manually labeled nets.

1 Like

Your statement is too short for me to understand what this danger is.
For example I write at 3 wires connected to RS485 driver their net names (TXD, RXD, TEN) at their input to bus. Then I copy that names to wires connecting microcontroller pins to bus. That way I get that RS485 driver pins being connected to right microcontroller pins. If I decide to drive them by different UART at differnet pins I just move that names to other wires.
Where do you see danger in it and what will be the program behavior avoiding that danger?
How do you give sensible (telling you what that signal does) net names without writing? KiCad can’t know (at least yet) what is in your brain.

I suspect this is just a “KiCad is different from Eagle” thing. What I have gathered (I have never used Eagle) is that Eagle supports the concept of “naming” net wires separate from putting any labels on them. KiCad does not have this concept:you either put a label on and the name comes from a label, or you don’t put a label on and don’t worry about the name (it will be auto-generated for you).

There is not that much reason to see what the auto-generated name is in the schematic side: once you start editing the board, it could be useful for cross-probing, etc. But as mentioned, it is now shown in the message panel at the bottom in the 5.99 nightlies.

@craftyjon: I suspect this is just a “KiCad is different from Eagle” thing.

Yes. This was one of the things I had to understood at my switch to Kicad (after 25 years with eagle).

@TheSwede: Is there anything automatic quite similar in KiCad, which doesn’t force us to type in net names ourselves to get them net names showed, with the risk of typos?

For me (I’m likewise on the transition from eagle->kicad) there are these situations:

  • nets with autogenerated names. I “ignore” them, they don’t get a label. Highlighting+cross-probing between schematic<->pcb works without labels.
  • a net with autogenerated net-name should get a new name (a first unique name): add a net-label and type-in the new name. As an eagle-user you must take care at this point: If you type an already existing net-name, kicad directly connects the net with the already existing net (without security query like eagle)
  • a net with autogenerated net-name should get an already existing netname (to connect this net with the already existing net):
    • copy the existing net-label from the the original location (like paul mentioned). This is actually my favored way.
    • add a new net-label, the label-properties-dialogbox holds a pulldown-menu with all available labels. Very convenient and user-friendly, no need to type-in the net-name.

If I compare the kicad/eagle reagarding the net-labels:

  • in eagle the net-label is only a graphical element. It displays the netname, which is either autogenerated or user-set with the “name” command. It’s not possible to change a net through the label-side.
  • in Kicad the net-label is the combination of the eagle “net-name”-command plus the added graphical label-element. So the label gives the name to the net. If you delete the label, the net goes back to some autogenerated name. (At this point another warning for ex-eagle-users: this is a renaming-action and this means that you potentially get 2 different nets from previously connected nets. These separation/renaming-process gets a security-query on eagle, Kicad don’t asks but does what the user has commanded. So no safety-net, but on the other hand less nag-screens).

Ι haven’t used Eagle so much that I would have even tested creating nets, but IMO Eagle is conceptually cleaner in this. It just feels strange that a label is a text item which can be free-floating and then attached to an arbitrary wire, creating conflicts or errors. (The same with junctions: KiCad has separate junction dot items which on the other hand give some freedom for e.g. visual properties, but which should be needless because a junction should be a property of two crossing wires, not a separate item.)

From user’s point of view it should not make much difference if the UI is thoroughly thought out. Possible problems should be caught on the fly and prevented automatically. For junction dots much work has been done to prevent those problems: e.g. in 5.99 it’s no more possible to add a junction dot in the middle of nowhere, and even in older versions they are added automatically when T-crossings are created. The same kind of logic should be applied to net names: it shouldn’t be possible to give several names for one physical net (wires connected together) in the first place (ERC is too late for that), and existing labels should always remain connected to wires. Renaming should work automatically, at least as an option, without using text search/replace.

Even if something isn’t conceptually clean, it can be hidden with a good UI so that for the end user it would be only “X is just different from Y”. Right now the labels aren’t that good.

There are already wishlist items for some of these details in the issue database.

eelik, that’s exactly what I try to mention here, good explained! And yes, Eagle and Kicad are different, why not, and I can’t say now (as I’m new on KiCad) which is the most preferable/the “best” one as there is no such thing as “this is the best”.

Also very well explained by craftyjon, thanks for that, and even if “freedom” to do things in software can be good, it can also be not all good… as I see it the software has to at least give a warning when things might go all nuts/crazy with the nets (might end up with short circuits just about anywhere)…

That is an extreme take in my opinion. It is quite common to give different names to a net in different places in a hierarchical design.

Doing so makes rework workflows harder for no good reason, in my opinion

I think KiCad is much more clear than Eagle in this case (assuming I understand Eagle correctly). It seems like in Eagle it is possible to short two nets together (after clicking through a nag dialog) with no resulting visual indication on the schematic. What if you did this and then forgot about it later, and then were working from a printout of the schematic?

In KiCad, there will always be a visual indication if two wires are shorted together: they must either be graphically touching or have the same label. It is not possible for two different unlabeled wires to be shorted together without graphically touching.


A video link here, my apologies for that…

OK, if I redraw a bit, I still think this should be detected before the ERC check. For example, use the infobar when the user creates such a label or move a label to a potentially wrong place. When a label is clicked (selected), give the other connected net names in the bottom info area or at least tell there are several names for that net. And when a net name is created, the dialog should handle it as a net name, not just a text item, i.e. know and suggest/warn about other labels or whatever can be done to make things more explicit. We don’t like extra nagging question/cancel/ok dialogs, but the actual function dialog could show warnings etc.

I haven’t thought this thoroughly, but for me leaving floating labels behind when wires are moved is a problem. It’s even possible to accidentally change the net of wires if a label is left in place and another wire moved on it. What kind of workflow would be harder? Maybe those problems could be solved in another way?

I added a section of how labels work in KiCad to highlight differences with Eagle to:

My total experience with Eagle is just about one or two hours of tinkering though. Did I miss any important parts?

Staying in my previous example - when I add to bus the RS485 driver with its TXD, RXD, TEN wires I copy that labels and place them floating. The same if I add the RFID IC, Flash / EEPROM memory. That way I have a collection of floating labels. This prevents me from forgetting one of them. Then I just manipulate with them placing at right microcontroller pins and I often do reshuffle between them.
If floating labels will be not allowed then how to swap two microcontroller wires. Should I add a piece of floating wire just to prepare a room to temporary store one label?

Have never supposed it can be done that way in any PCB design program.