Hierarchical and local labels in the same sheet

Hi, I’m kinda confused about use of hierarchical and local (sheet) labels. Does scheme in the picture makes sens (labels SDA, SCL, RST), or maybe one of the local labels is obsolete? The question is more in visual terms, as far as I know the design will work both ways.

In my understanding, you need only one hierarchical label to make things work, but you can’t use only one local label, you need at least two. And when in comes to mixing them, would it be sufficient to just use one hierarchical and one local? I’m trying to make my schemes look at least a little bit professional.

Well, that is easy enough to try out yourself.

Yes, that is evident. It’s easy enough for me to answer the rest of your questions here (and quicker for you), but it’s better for you (and easier for me) if you just read the manual. It’s under the “help” key. I just checked it, and it has a whole chapter on how the different label types work and what they do. If you understand that, then you also have the answer to your question.

This is not an answer to my question. Maybe I didn’t express myself clearly. I know how labels work. The question is whether a local label next to a hierarchical label is a good indication for a human with printed sheets that the connection occurs elsewhere in the sheet, not just at the hierarchical label, and if it is a common practice.

To me, adding redundant info is mostly … redundant, and it increases the cost of maintenance. I also don’t care much for printing schematics on paper. It’s sometimes handy as a quick reference, or for adding some notes and crossing though things while building up a prototype, but paper rarely lasts more then a few days on my desk, and If I want to know whether there are more references, I start up KiCad or a pdf reader and do a search.

But everybody has his own opinion, just like Clint Eastwood.

I guess this is only useful if someone is not familiar with KiCad, but I think schematics “drawn for being printed out” would often look different – the ones I can think of use more wires, fewer labels. So in your example, probably all the local labels would be gone, and the pullup resistors would be connected directly to the MCU and the hierarchical labels.

1 Like

IMHO, it isnt. Thats what the wires are for, symbolizing on-sheet connections. Its a shame nowadays “schematics” are often just parts scattered around with labels attached to pins.

If you follow design rules of input left, outputs right, with actual wires as connections (where possible) you’ll end up with human readable schematics that also work printed out/without net highlighting. Then the only labels that lead to another sheet are the ones standing alone on the left (inputs) or the right (outputs). Add some inter sheet references onto them (unfortunately currently only available on global labels, and also currently broken by a bug) then its really clear to what sheet a connection leads.

Now with your style of having both hierarchical AND local labels on the same signal, named the same is a big mess. IMHO. Either for your RST is a hierarchical signal, used on many sheets, then just use a hierarchical labels on all points where it is connected to (and prefer to using wires for connection between pins on the sheet). Or its just a local signal, then only use a local label.

The answer is that using labels instead of a wires makes for miserable reading of a schematic and wastes the reader’s time.
Connecting pins using labels only is a misuse of KiCAD. Just make a spreadsheet instead. The “audience” reading your “schematic” will be served just as well by that.

2 Likes

Agreed.

Not agreed. Use SKiDL instead.

It’s a very nice alternative for projects where graphical schematics do not make much sense. For example an FPGA connected to an uC and a ginormous LED matrix. In SKiDL you can do things such as import the FPGA pin names and create some nested loops for the LED matrix.

I never looked deeply into it myself, because it does not fit well for the types of projects I do myself.

Interesting. I’ve made a note of that.

But for this case… hmm.