Footprint disappearing from library but still on board

Hi all, I’ve recently run into a problem where a footprint that I designed has disappeared from the global library while still remaining in the board design I created it for. I’m not quite sue what is causing this, but I’m wondering if anyone else has encountered it, and whether there is a solution? It’s sort of frustrating, because the footprint is still_there. I can edit it, but only locally to the board, and when I edit I can see that it still has a library path. Obviously this footprint still exists, but Kicad can’t find it globally. How do I get this local footprint into the global library permanently, and avoid this problem in the future?

The global libraries are not intended to be modified at all, and should be read-only.
The reason for this is that those libraries can and will get removed or overwritten during updates of KiCad.

The normal method in KiCad is to make a copy of some existing footprint, place it in a personal (Either global or project specific) library and then edit the copy.

In KiCad, the Footprint Editor also doubles up as the Footprint library management tool.
A quick method is:

  1. Open the project with your footprint, and open the PCB Editor.
  2. Hover over (you don’t even have to click) over the footprint of your choice and press [Ctrl + e] to load it in the Footprint Editor.
    2a. At this point you get the yellow infobar with “Editing XY42 from board. Saving wil update the board only” message, but that’s ok.
    3.Choose Footprint Editor / File / New Library and create either a new local or project specific library.
  3. Choose: Footprint Editor / File / Save as.
    • Type in a new name for your footprint.
    • Select your newly created library to save the footprint in.
    • [Save] to save. :slight_smile:
  4. You have now created a new library and saved your footprint in it. and it can be used.
  5. To verify, first, choose Footprint Editor / View / Show Footprint Tree
  6. Load some random footrpint by opening a library, and then double clicking on a footprint in that library. (This loads that other footprint in the footprint editor).
  7. Now browse to your new library and double click on your newly saved footprint. (The footprint you created gets loaded back from the library into the editor).

Ah, updated overwrite the global libraries! I did not know that. I’ve been in the habit of creating tons of generic footprints for components that are missing from the globals, and then wondering where they go when they vanish. Sort of frustrating that you can’t really do that, since you end up with two parallel systems of organization, or bunches of footprints that you have to remember which project you last used them in.

Oh well, thank you for the heads up and the walkthrough, at least I know what’s been happening now and can fix it!

Things are saved in the cache file.

If you use project specific libraries, you easily forget which footprints are where, but if you work with global (personal) libraries it’s quite easy to keep track of them. In that case, your own created libraries get preference over any of the default libraries. And if you want to create a new symbol, you use KiCad’s default libraries only as a starting point.

Project specific libraries are a good choice for if you have to modify a footprint just for that project, for example if it interferes with some other part.

KiCad V6 does not use the [Project]-cache.lib file anymore (and it was for schematic symbols, not footprints). If this file remains after a conversion from KiCad V5 to V6, then it can be deleted, and the old project file too (KiCad V6 makes a new project file, but leaves the unused file).