Hidden/Stacked pins in ATmega168A-A schematic symbol

Working with Kicad 7 andI am doing design which involves ATmega168A-A and something called “stacked pins”. I found similar type of discussion in 2020, but on that thread it was said that things will change on library format 6 version, so I thought it’s good to open a new subject as things have propably changed since that.

For ATmega168A-A I was first not able to find GND pins 21 and 5 in schematic symbol that is in Kicad Library. But if I open the ATmega168A-A with symbol editor, I can see that at least GND pin 21 is there on top of the GND 3 pin but it is marked invisible.

Unfortunately I can not seem to be able to edit the ATmega168A-A symbol because the symbol editor say that it is derived from the ATmega48PV-10A and is not editable. I thought I could workaround this by saving the ATmega168A-A symbol to my project as a new symbol and then make the pin 21 and 5 visible but that also fails to error. (Error says that the parent symbol needs to be in same library).

I really would like to be able to assign GND symbol for all pins that needs it. Any advice what is the right way to handle this?

Found out that I can save the parent symbol ATmega48PV-10A to own project specific library and mark there the pins visible. After that I seem to be able to add new ATmega168A-A from that new project library to my project and can now see the pins that were earlier hidden.

I assume this is the right way to handle this?

Yes, all of KiCad’s own libraries are read-only. They are part of a KiCad install and they Will change when KiCad updates. So you have to make a copy into a personal library and then you can modify your copy at will.

I also *&^%$#@! those stacked pins. I find the ability to search for pin numbers and finding them an essential part of any schematic. So I also make copies for personal use and modify them.

Seconded, I like my schematics to clearly show connectivity. Having to explain about stacked and hidden pins to someone not familiar with KiCad is a pain.
If a part has a really large number of power pins, then use a power unit to avoid cluttering

2 Likes

Thirded here.

I absolutely abhor stacked pins… work of the devil’s devil!!!

It is unfortunate that the KLC requires power pins to be stacked, I always thought that was misguided.

@Rene_Poschl very much liked stacking pins, and he did a lot of library creation a few years back. He probably wrote a big part of the KLC too.

But he was last seen here on 2021-08-31

I think his argument was that showing all pins for big BGA’s does not make much sense, and I’d say a page full of GND pins is not a big hindrance.

I want to see all pins on the schematic. When I’m looking at pin 23 of an IC on my stereo microscope, then I want to be able to find it in the schematic during design and troubleshooting.

Another argument against pin stacking is there is no way to verify the schematic by looking at it. You have to rely on the library symbols being designed properly. And even in the symbol editor you can’t see the stacked pins properly, because they are stacked. One way to review / check the stacked pins is in the pin table, but that did not work with the first atmega16 I opened, because it was derived from another one, and this prevented me from even looking at the pin table.

You can do a long click on the pin itself (not on the text) to temporarily see a list.

Maybe it’s worth it to collect some more arguments here, and then have a poll about it?

1 Like

Popular opinion didn’t seem to count for much on the several times it was discussed previously, but with a change of personnel I guess there may be a different outcome.

I don’t know if the promised support for alternative/stacked pins arrived in v6 (maybe in v7?), which was going to be the “proper” way to do it.

There would have to be parallel new libraries without stacking or you might break existing schematics.
Getting the KLC changed might be possible with new faces. The arguments against stacking are justifiable.

I would vote for stacked pins.

Unstacked power/gnd pins make more work for everyone that uses a part. It increases the chance of missing a connection or connecting a pin to the wrong power/gnd rail.

Stacked pins have to made correctly, but that’s only required during the creation of a part. And a tool like KiPart can handle this automatically. In fact, it would be easy with such a tool to create both stacked and unstacked versions of a part in the same library.

But this is a bike shed issue. Three years from now, it’ll be the same-same.

Isn’t there already a support for something like alternative pin assignment? Maybe a selection between stacked/non-stacked versions of symbol could be handled that way?
(Symbol could have more than one layout if really wanted and default would be non-stacked if not set otherwise in user preferences).

But if there is a vote, I will give my points for non-stacked version.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.