Problems with PCBnew adding footprint which is valid in CvPCB and library paths

I have a design which uses the pre 5.1.9 re-named versions of the resistor and capacitor SMD footprint names like C_0805_HandSoldering and R_0805_HandSoldering.

I am having issues adding the components to the board in PCBnew, even though the libraries are set up properly (in my opinion) and the footprints are visible to assign them in CvPCB symbol to footprint assignments.

I have found and downloaded those older footprints and put them in the main Kicad system modules path, in the Capacitor_SMD.pretty and Resistor_SMD.pretty folders.

This is a real struggle and very annoying, I had this slow me down a lot while working on a different project last month which was a small addition to an older board but this issue caused massive issues then too. I don’t remember how I resolved it, but it’s plagueing me again ( same computer ).

Any hints on how to have it properly pick up the footprints?

I think I found the main cause of the issues - someone at KiCAD thought it would be funny to change “Capacitors_SMD” to “Capacitor_SMD”.

I’m also having issues with Housings_SOIC library names, Crystal, and others. What’s the point of these changes? It just annoys people and ruins workflow to have to recover all these broken projects.

I have resolved the remaining issues I had, it was a combination of the re-naming of the footprints away from the C_0805 format and R_0805 format, to the newer method, and the removal of plurals in almost all the libraries names, and the change from Housings_SOIC to Package_SO being the new location for those footprints.

I feel like these obvious standard library changes should allow a user to request automatic re-name/re-association to help with migration.

This was done during the switch from version 4 to version 5 (so more than 2 years ago).

Either you have partially mixed libraries from version 4/version 5 on your system or you are working on a design that was originally made in version 4.

If you have a mixed library setup then you might want to read this I had KiCad 4 installed previosly. Now i updated to v5. Now i have some problems with the library setup

If you are converting old version 4 projects to version 5 then this one might be of interest Converting KiCad version 4 projects to version 5 (Remap a project) (this focuses on the symbol side of things – footprints were not a focus as they are included inside the pcb files so a lot easier to handle without help)

This is an ugly hack that will get you into trouble later.
The default libraries are marked as read-only for good reasons. They can, and will be updated with updates of KiCad, and they may also get deleted again.

As Rene already mentioned, the library names changing from plural to singular was done on the change from KiCad V4 to V5, and concerns all libraries. (You already figured that out)

When working with old projects, the simplest way is to not update existing footprints during “Update PCB from schematic”, because copies of all used footprints are preserved in the PCB file itself.

Another way is to export the used footprints into a project specific library with: Pcbnew / File / Export / Export Footprints to New Library, and then use that library as a project specific library. If you do this, you manually have to fix the library names, because this project specific library has a different location / name. You also have to add that library to your project.

Mitja_N has made some scripts that can help with archiving old projects:


Updating many library references is one of the few things I still do with a text editor in KiCad. You can also use: Eeschema / Tools / Edit Symbol Fields and then use the grouping to change many footprint references quickly.

When a project is finished I always ensure that everything needed for that project is archived with it, so it would not matter if KiCad’s libraries change afterward. If you want to re-visit and update that project later, then all footprints are already in a project specific library, and you only have to update the footprints in that library and then replace the footprints on the PCB with that new footrpint in your project specific library during Eeschema / Tools / Update PCB from Schematic [F8].

If you take anything from this, then stop with hacking into KiCads default libraries, and start managing your own (maybe project specific) libraries instead. Relying on KiCad’s changing default libraries for archived / old projects is not a good strategy.

They don’t need to be project specific. One can also have personal global libraries. For the tradeoffs between local and global see Project and libary setup for sharing and collaboration (KiCad version 5)