Remove "All units are interchangeable" from the Symbol Editor?

This thread:

as well as my own FAQ on multiple unit symbols got me thinking.
Is the “All parts are interchangeable” tick really necessary?

I don’t really see the benefit, and it creates confusion at the user level.
Simplification by removing it would be a benefit to users IMO.

A better copy/clone function between units will do the same thing in a better and more intuitive way.

I’m aware of the ramifications on the symbol library files:
instead of a graphic being stored once with an attached pin table, it will have to be stored 4x or 6x or 8x instead.

So what?

It’s text files, and they take no space compared to other stuff.

And the library structure would be simplified (and more readable/understandable) as well. I see no problems with bakcward/forward compatibiliy.

What do you think?

Maybe it’s just a matter of wording. Maybe it should be All parts use the same graphics.

No, it goes a bit deeper than that.
But my basic question remains: Is it really necessary from a User perspective? Or does it cause confusion/uncertainty? (IMO it does).

I think you should change the category to Feature request chat for more visibility and opinions.

Personally I’m meh about this. It removes a flag and adds the need for a copy function. Better messages and documentation can help. There will always be features that are a bit obscure.

11 posts were split to a new topic: Symbol Pin Swapping in Kicad

Sadly, my original post was hijacked by someone with a hobby horse called “Pin Swapping in FPGAs”.

Totally irrelevant.

Suggesting removal of a “feature” that apparently stems from a historic version of KiCAD sems to be unwelcome.

I’ll step back here.

I remember when I first started using Kicad I couldn’t understand the purpose of this function. I spent some time looking through the Kicad libraries to find an example of this function’s use and found no examples.
The power supply pins were the problem. If the package had multiple units and a single power supply, the function didn’t work. Resistor arrays are not usually drawn this way and transistor arrays usually have at least one common pin in a package.

Eventually I gave up looking and ever since, ignored this function.

I agree with @ML9104. What is the purpose for, and where is this function used? Is this function necessary?

I found a symbol, R_Network08_Split
I used to use these as bus series impedance control, ~30 years ago.
They are still made, even in very small SMD sizes

It’s been a long time since I looked. I maybe missed that, but as I mentioned above, resistor arrays seem to be not usually drawn as independent resistors. Over the years, I’ve mostly seen these drawn as packages with, eg. 4 input & 4 output pins. Symbol packages looking much like Footprint packages, I suppose to make easy identification for the reader.

I agree, the most likely users of the isolated resistor pack are PC motherboards and embedded computers with DRAM.
They are more likely to use “RP” as a reference, rather than annotating the individual resistors - silkscreen space is precious

It was a bit warm outside this afternoon to spend time gardening so I went through the Kicad symbol libraries looking for examples of “All parts are interchangeable”.

I found:
D_DualDiodes_ Split (various)
Q_Dual_ Split (various)
R_Network_ Split (various)
R_ Pack_ Split (various)

I counted 44 library items that used this function. All the items using this “split” function were repeated as “single package” symbols, so this function does have a very limited use.

I may have seen Q_Dual_Split on schematics over the years (not sure, but seems familiar) and, of course, dual pots split, in audio schematics. As for the others, no, only ever seen in single packages.

Dual transistors are common. There are also quads

I just attempted to search for the All parts are interchangeable in the help files but it is not mentioned. What is the use of this checkbox anyway? Is it a first part for an implementation for pin and gate swapping? That would not work very well, because the presence of power pins for logic IC’s and opamps makes this function unusable for those.

Aahrg, “All units are interchangeable” (See gkeeth below). Silly me.

I think that it was a short cut to generate the symbols for these rare cases.
Any usable gate swap and input pin of gate swap has to deal with power units.
I think that the option can be dropped so long as old projects don’t get broken somehow.

That’s what the thread is supposed to be about. Someone introduced pin swapping as a distraction, but the thread is about the purpose of the “All parts are interchangeable” function.

As I see it, this function serves very little purpose apart from confusing newcomers to Kicad.

With very little effort, a four part symbol can be created with one “Copy” and four “Pastes” for these very marginal use cases.

Exactly. Yhere’s a second box that can be removed as well without consequences, which is the “Common to all units in symbol” under the power pin properties.

Both tick boxes create confusion with new users.

Gate swapping works perfectly regardless of whether one or both is ticked or unticked.

Sorry about my huff earlier, but I don’t like thread hijackers.

That is a feature that I detest. 1980s schematics made a habit of showing power pins on opamps for each unit “to make powering clearer”. It gets messy as it goes along with drawn power supply wires rather than using power symbols and frequently leads to shorting two power rails.

Third simplification:
The “Synchronized Pins Mode” icon/button can be removed from the Symbol Editor screen. No one ever understood what that one was about.

I do not agree with this. It’s not only about symbol creation, but also about maintenance and modification (Re-use for a start of creating another symbol). If you have to remember to copy & paste the graphics each time (and then fix the pin numbers again? that would be a real nuisance and all to easy to make mistakes.

On a more constructive view, what would be a good way to design schematic symbols in such a way that the groundwork for making (keeping) them swapable is inherent in the design and logical.

A long time ago I used Ultiboard. In that program swappable units were defined by the pin numbers. Pin numbers could be a comma separated list, and the order will then be mapped to the “Unit”.

So, for a common used opamp:


the pin numbers would then become:


How do other programs handle this? Are there better implementations?

I’m not certain I understand your point here. No matter if your graphic is duplicated automatically or if you use copy/paste, you’ll have to do pin number assignment anyway.
The only thing that the tick box does is, that it saves you one copy and three pastes.
And it confuses users and adds intransparency.