How to assign two footprints on the same symbol

Hi guys!

My question is can I assign two or more footprints to a same symbol when editing a library or i need to creat diffetents symbols for each footprint?
For example: a resistor smd with a footprint with a small pad and other option with a big pad.
I’m asking that because I worked with Altium Designer and on that program you can assign how many footprints variations you want to a same symbol.

Thanks!

I am using an August 2020 version of 5.99. Of course you can copy a symbol and then do a Save As to make another; then change the footprint. Or you can edit the symbol within the schematic to change the footprint; then copy it to elsewhere in the schematic if you want to do so. I think the idea is that each reference designation within the schematic should define one footprint. Not sure if this addresses your concerns?

Hi @BobZ!

Thanks for your answer, but i think i’m was not clear. I want to have to choose which footprint I want to use when I placeing a symbol on a new Schematic Project. This is importan when you wana to have design standards for not generate differents footprints on each new project.

If you want to choose a footprint when placing a symbol, then you must have a different symbol for each footprint. In this case you would set the default “Footprint” field to the desired footprint.

If you wanted to choose a footprint after symbol selection, you could do that by leaving the Footprint empty, and setting the footprint filter list to the alternatives. Then you could choose the footprint in the “Assign PCB footprints…” dialog.

VedaHans; I think that bobc’s answer is a good one. If this does not explain clearly, then I think it would be most helpful if you described your desired design flow in detail. For example something like this: First you want to do A. Then after that you want to do B and D but you do not want C to happen.

KiCad does not support footprint variants yet the same way Altium does. We’ve discussed it and think it would be good to add in the future, although there isn’t any work immediately scheduled for it.

BobC / BobZ - just to clarify how this works in Altium (and some other commercial tools): you can have a symbol with multiple footprints assigned to it where in KiCad you can only assign one. Then at layout time you can swap between them quickly without changing the schematic or browsing the entire library of footprints. This is commonly used to set up SMD passives with multiple pad sizes, for example you could have the normal 0402 and “large 0402 for hand-soldering” assigned to the same part, set the larger one to the default, and then switch between them during layout if you find a spot in the board where you need to use the smaller one.

Currently in KiCad you can swap the footprints around at layout time, but your options for swapping are the whole list of available footprints from the library, not a “curated” list of a few options that were previously determined to be valid swap options for the particular part.

1 Like

Being able to assign multiple footprints would be really handy. It would be nice to bundle IPC most/least/nominal sizes, currently in the libraries we try to standardize on nominal. But it seems we need “extra small” for typical SOT-23-3, and an “extra large” for the HandSolder footprints.

1 Like

It’s already possible to give alternative footprints for a symbol. It’s done with footprint filters. However, it’s not utilized as much as it could be. See https://gitlab.com/kicad/code/kicad/-/issues/6638.

EDIT: the footprint can be selected from the filtered list when a new symbol is placed, or later using cvpcb (Assign Footprints).

In my opinion it is not as flexible as needed, if you compare to how this works in some other software: the “filter” approach requires all your footprints for a symbol to have some shared naming. This works in some instances but not in others. We also don’t allow a pin-pad mapping per footprint option, which is possible in other tools.

For me it would be enough it the footprint filter present in the symbol would transfer to layout, so that when you change a footprint, you only have a limited list of footprints. It would make the change of footprints easier.

1 Like

Hi @craftyjon!

Thanks for your reply. It was very cleary.
Using your info and sarching in the community I found in FAQ a guide to assing a footprint to a symbol. On that guide it’s a topic named “In KiCad v5 (or nightly), directly in the component selector.” who explains exactly want you said. Fortunately my version of KiCad is in that group and I was able to enable this fuction and work with the pre-definded footprints.

Thans a lot.

AFAIK it doesn’t require that. You can add several filters and they can be totally different.

This just isn’t utilized well. It’s not possible to give the default footprint in the Footprint field and then use the filters except with cvpcb. [Even the Add Symbol dialog doesn’t let to choose an alternative footprint from the filtered list if the default footprint has been set (in v5.99). EDIT: this works after all.] And as was said, it’s not possible to use the filters for one symbol with its properties, or in pcbnew. (Time to file some more issues.)

2 Likes

I already added an edit: this works. Here’s the dialog from 5.99:

And this is the filter list:

image

1 Like

Filed an issue for the pcbnew part: https://gitlab.com/kicad/code/kicad/-/issues/7176.

@eelik,

This worked in my version too, who it’s 5.1.5. I just needed to activate that function, like the image below:

1 Like