Assignment of footprints to a component

Hi,

I would like to assign certain footprints to components I mean only footprints should be assigned which I really use.
Lets say I use only 0603 and 0805 smd resistors. Lets say I pull a 0603 resistor the 0603 footprint should already have been assigned. Alternatively I would like to see a choice of the two packages which I have in stock.

Is there something like that available in KiCad?

Symbols have a footprint field.
If you make your own Resistor_0603 symbol just fill out the footprint field accordingly and it will be assigned when you add this symbol to your schematic.
(Some call this an atomic part)

2 Likes

I have tried this. However, although the footprint is in the lib, it is not copied into EEschema, as you can see at the attached pictures.


In ‘Bauteil Eigeschaften’ dialog you select in the ‘Felder’ pane the Footprint field.
Then off to the right bottom, the dialog changes and instead of ‘Feldwert/name’ you’ll get an option to select a footprint.

If you do this in the schematic symbol editor, with the shematic symbol loaded you can safe this setting in the symbol library and everytime you place this part in your schematic, the footprint will be pre-allocated.

It works now for both footprint and datasheet. The problem had to do with the lib entries in the .pro file.

What was wrong with the schematic symbol lib entries in the project file?

Cause, if you want to solve this for all future projects on that machine, you have to either load the template.pro file from the template folder and do the same changes there or do it outside of KiCAD with a texteditor (again, modifying the template.pro file).

Did you have more than one symbol with the same name?
You need to give every symbol a unique name. Even symbols in different libs can not have the same name.
If you have multiple symbols with the same name, kicad uses only the one in the lib with the highest priority. The priority is defined by the position in the components library dialog.

thanks for this important detail.
In my case I had two libs with the same name but in different directories (due to some improvements). Both were loaded. The change was done to a symbol with the more recent directory but the symbol from the older directory was loaded. I have corrected this problem.