Help with custom symbol and footprint management

In getting a new project going using Kicad 5.1.5 on Window10, I set up private/custom libraries for the symbols, footprints and 3D models not in Kicad libraries/branches as follows:
C:\Users\me\Documents\Kicad\myLibrary\mySymbols …\myFootprints.pretty …\myFootprints3D
and set up corresponding environment variables (Configured Paths) for each as MYLIBRARY, MYSYMBOLSLIBRARY MYFOOTPRINTLIBRARY etc

And as I add symbols and footprints have been editing the .dcm .lib to add the new components and put in the proper footprint references.

However in doing this I am experiencing several issues and was hoping to get some feedback on how to do this properly or whether I am tripping over latent bugs/deficiencies.

  1. when a symbols is added to schematic all of the current symbol’s fields from the .lib file are added to the .sch file. If the .lib file is updated, this info does not get updated automatically in the .sch file. Is there any way to update it without having to go thru the entire schematic and edit each symbols Properties (Update Fields from Library)?

  2. when the .lib (or .dcm I think as well) files change, and then a new symbol is added/Placed on a schematic from that library, all of the current symbols that are from this .lib file get confused and the symbols on the schematic all show as a box with a ? Depending on the changes I need to close Eeschema window and sometimes also need to close down and restart Kicad as well. Is this expected? or is there a better way of doing this?

  3. When using the Place Symbol chooser, with “Show footprint previews in symbol changer” enabled, I can’t seem to get the paths/names to the footprints for my symbols specified properly (i.e. the F2 line) and get “Footprint not found” or “invalid footprint specified” in the preview window. Kicad library footprints have syntax like “Package_BGA:Maxim_WLP-12”, BUT can’t figure out syntax to get my custom footprints to preview. Have tried “myFP” , “${MYFOOTPRINTLIBRARY}:myFP” , ${MYLIBRARY}/myFootprints:myFP" and many more and no luck. Suggestions?

You really don’t want kicad to change your files without your direct input. Just imagine you just want to read your file and suddenly a lot of stuff changes. You would be quite annoyed by kicad.

This would be a bug. Update to 5.1.6 and check if it is still there. If it is then make a bug report on gitlab. (I observed a similar behavior in the past but could never really explain steps how to get to this state)

There are no file names in this field! Which means no path variables. Your footprints need to be in a library known to kicad (so a library that is in the library table). Such a library then has a nickname (given in the library table). The syntax then is “nickname:footprintname”.

See How can i assign a footprint to a symbol? as well as Tutorial: How to make a symbol (section “Example: Creating a fully specified symbol for a voltage reference” subsection “Setting the footprint field”)


Hi Rene,

Thanks VERY much for the response. Your answer is extremely clear and helpful!
Please see follow-up to your responses:


I certainly wasn’t wanting Kicad to update without direct input, what I was thinking was something like lassoeing/highlighting a group of symbols on a schematic and on a right click having the option to “update symbols fields from library”. What I do now, for example if a field is updated or added to all symbols in library, is go through the entire project and edit Symbol properties/“Update Fields from Library” which is quite tedious. Current project has many custom symbols so this is quite tedious. I presume this will reduce once the symbol library has stabilized.

Will upgrade and provide bug report with more details if it persists, as in 5.1.5 it is easy to recreate. It could possibly be workflow (editing .lib directly) vs using wizards?

Didn’t think to do this, but when I did, all issues resolved. Thanks!

However it is still not clear why it would not also accept the Library Paths using Environment variables (which is what the nicknames are defined with). It seems the nicknames are something that is not quite so “fixed” vs the Environment Variables and Paths, However I can certainly see advantages of having the nickname.

A path even with environment variables really is not a good solution. Believe me we know that from experience because 3d models use this. Also why even enter that stuff manually. Follow my link to learn how to do it from within kicad tools no need to think about it.

Sounds good, and the job can be done just fine with the nicknames…

In terms of manual editing .dcm/.lib, 2 reasons: 1) due to getting already built symbols, footprints and 3D models from a variety of 3rd parties, and thus, only use the Kicad wizards and tools when I couldn’t find already built ones and/or to fix up those parts. Then verify in EEschem, footprint/3D viewer and fix based on the datasheets/ease of use in schematics etc
2) And add lots of other data about the parts, and find it much easier to do in a single flat file rather than going back and forth between lots of different tools to edit pieces of this and that… It also could be that there are other tools in Kicad that I am not aware of (since have only been using Kicad for a couple of months), but at least its a working process. Will try to improve on this as I discover more (through your links etc).

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