Alternative schematic symbols pin layout

When working with schematic symbols I am used to rearrange the schmatic pins to smoothen out the readability, avoid excessive crossing of wires, and in general build a schematic that is much more readable. See attached screenshots with comparioson between readability between standard symbol and modified symbol to illustrate my point.

What is the correct way of doing this in KiCad? Currently I am saving a duplicate of the library/symbol in the project, but I have always found kicad’s library management to be cumbersome and unintutive so I almot feel like I am doing something wrong when I have to go trough that for many parts in my projects. Is building a duplicate project specific library really the correct way?

A bus may be an alternative in some cases.

I don’t think people usually use modified symbols for this purpose. However, in 5.99 (later 6.0) it’s easier to modify symbols because there doesn’t need to be a library file for the modified symbol. The symbol is saved directly to the schematic file. Compare this with the layout file where it’s possible to edit a footprint on the board without any library.

Otherwise the actual editing happens in the same way in 5.1 and 5.99.

I don’t know how much correct it is but I would never connect that lines as in your examples (both). I connect wires from left and right to bus and label each wire. If during PCB design I will notice that it will be better to connect pins differently I just move labels at schematic not modifying wires.
I have only one symbol for each element I use.

Neat. Looking forward to 5.99 then.

A bus is absolutley an option, but in many cases I prefer the direct connection. And this is not just about the connection to a different part. By modifying the symbol you can get a much smoother schematic showing pull-resistors, voltage deviders, decoupling, and all other schenanigans you connect to a part. But I get it; some prefer a bus, other, prefer a direct connection.

And I am not sure that I agree with you on the commonality. I see it all the time - Including splitting the symbols. (one of my colleagues just love those…yet another preference, I guess.)

I had in mind only ad hoc changes, not splitting to units or other alternative forms.

I do the same thing. I have personal libraries in a different location than the kicad libraries. These start with j_libname…

I export a symbol from the Kicad libs, import the same symbol into my library then change it to what I find comfortable. Then its there for re-use and will be backed up with my other files.

There may be an easier method but this works for me.

I also do this with what I think are too large a symbol.

1 Like

Leaving aside whether or not this is a good idea vs. just using net labels instead of wires: I agree that this is easy in the nightlies as you can modify an instance of a symbol in the schematic to rearrange the pins – you just have the tradeoff that you have to be cautious about updating this symbol from the library in the future.

1 Like

Wow, that seems weird.

Why weird?
It’s pretty simple actually, and in the new KiCad version it works in the same way as footprints in Pcbnew already do. You get a symbol from a library, and when you use it, a copy of the library symbol is saved in the schematic itself. That is why it is easy in Pcbnew to jump to the footprint editor with [Ctrl + e] with a footprint, edit it, and put the modified footprint directly back into pcbnew.

It gives you the best of both worlds. You have the big libraries to get started, and can make small changes trivially simple without having to bother with library management if you don’t want that overhead.

The weird way actually is how KiCad V5.1.x works now:
In KiCad V5.1.x there is only a link for each schematic symbol into some library, and when that link gets broken you get the [??] schematic symbols. This happened quite often and as a stop gap measure the [projectname]-cache.lib was invented, which preserved a copy of the library symbols so they could be rebuild if needed. (The “resque” dialog at startup). This -cache.lib file was often not backed up because it simply got re-created from the original libraries if you delete it while working on a project, which suggested it was not such an important file. But if you shared the project with someone else or when you restore a backup from an old KiCad V4 project, to revise it in KiCad V5 (with other main symbol libraries) it was a real headache if this file was missing.

For me at least it’s quite common to make small changes to schematic symbols or footprints to suit particular needs for a project. One example was a footprint for a shielded RJ-45 connector. I had two next to each other, and they shared a hole for the shielding, so I deleted that hole from one of the footprints, and nudged the other a few tenths of a mm. I am also known to Re-arrange the order of the pins on schematic symbols exactly as Arcatus does.