Hello everyone,
I’ve been wondering about the design of local labels in KiCad. Unlike global and hierarchical labels, which use a “tag” style placed at the end of a wire, local labels are simply represented as text placed above the wires. While I understand the functional differences between these types of labels, I don’t quite understand why local labels have such a distinct design.
Issues I’ve noticed with the current design:
-
Readability: In complex schematics, local labels can quickly become cluttered, especially when stacked or placed near one another. This can make the schematic harder to read, particularly since wires often have to extend directly to the lenght of the text.
-
Overlap: When using both local and global labels on the same sheet, their different designs can lead to visual overlap and confusion, where a more consistent design might simplify things. It’s the same with power symbol.
As you can see in this screenshoot as an exemple. -
Lack of clear visual cues: Unlike global labels, local labels don’t have a distinctive shape to indicate the direction of the signal in the wire. But global labels also visually represent much better that they are connected to other labels through their design. This can sometimes confuse readers who are unfamiliar with the schematic or just make the schematic easier to understand.
-
Frequent misuse of global labels: Many beginners (myself included) tend to use global labels for local connections. This could suggest that the global label design is more intuitive and easier to understand.
But using global labels is much cleaner and more understandable, although the schematic becomes very cluttered. -
Local labels used for more than connecting wires: I understand that local labels can also be used to define net classes or other properties. However, it seems more logical for the netclass directive label to adopt the current design of local labels, as its purpose is more contextual and less prominent.
Potential reasons for this design:
- Perhaps the design was chosen to minimize visual clutter, keeping local labels discreet and less intrusive compared to other types of labels.
- This might be a historical convention carried over from other EDA tools.
- It could also be a way to discourage users from overloading their schematics with unnecessary local labels.
My questions:
- Why were local labels designed this way (text above wires) instead of adopting a style similar to global labels?
- Are there specific advantages to this design that I may not have noticed?
- Is this design a historical convention or a deliberate choice specific to KiCad?
A personal reflection:
As I ask these questions, I also wonder if part of my difficulty stems from how I structure my schematics. Perhaps some of the challenges I face are due to poor practices or inefficient organization of my connections. If that’s the case, I’d be glad to hear your feedback.
Thank you in advance for your insights and opinions!