KiCad library issues with a new design

(I’ve had this issue many times and it’s very frustrating.)
I want to modify an existing kicad design with a significant change, so I copy it into a new directory. When I open it up I start getting library errors and where my schematic symbols used to be, there are now question marks.
I would think if the original version was fine, the copy would be also, but not the case…
my question : What is the most fool-proof way to copy a design and not have these issues?
thanks in advance.

  1. which version of kicad
  2. when you copy the design, are you copying the entire directory or just some files?

Kicad Version 5.1.5
I copy the complete directory (that contains the sch pcb and pro, etc.)…There are some custom design symbols (FPGAs need a custom symbol).

And I also work at home sometimes and then have to move that directory to a work PC via a usb drive.

thanks for help.

So KiCad 6 has been out since January, and one of the big features is that symbols are stored in the schematic file itself rather than externally, precisely to help avoid problems like this.

I’m not sure why you would lose your symbols if you’re copying the entire project directory. All I can say is make sure you’re copying the cache library with the project (see here for more information:

It’s hard to give more specific advice without a failing project to look at, ideally a simple one.

It’s also possible that there’s some problem with the library setup. But we would like to see an example project first; you can zip the folder and attach it here.

regarding gkeeh’s observation “I’m not sure why you would lose your symbols if you’re copying the entire project directory.”

I should have mentioned this earlier, when I copy the design director to address a modification, it’s for a newer product, so it must have a new name. I rename all the files in this copied director. So I bet one of these support files still has the old name embedded in the file and kicad gets confused.

thanks for the help!

Ah, I think that’s the key. It’s likely that kicad is looking for the symbols in the cache library, which it expects to find with the old project name.

With KiCad V5 (Windows) I copied my projects many times to new directory with changing file names and had no problem with question-marks at schematics. I always copied only 3 files (.pro, .sch and .kicad_pcb). All my projects are one page schematic.
I use only symbols and footprints from my global libraries (no local, no part modified at schematic or pcb). All my projects are at the same directory level. It’s just in case something was addressed relative. I didn’t checked if it is, but remember that for output files I could use relative or full directory address. I always use full, but that reminds that may be something is relative.
Since V6 I practically spend only 1 day converting my projects to V6 (opening and saving) and one day designing a very simple PCB (copied to new directory with new file names with no problem).

First, as gkeeth already mentioned. This has been fixed in KiCad V6, because it caches all schematic symbols in the schematic itself. KiCad V6 also has a Save As menu entry in the project manager to save the project with another name.

In KiCad V5 the schematic symbols are not cached in the schematic. The schematic only has some text link to schematic symbols in external libraries. KiCad V5 does have a**[Project]-Cache.lib** file, which also cashes the schematic symbols. If one of these two is missing, KiCad V5 should be able to recover, but if both are missing, or not recognized, then KiCad V5 is lost and shows the dreaded [??] symbols.

This is also explained in the (quite long) FAQ article that he linked to.

KiCad does store some filenames in the project or schematic, but all files are text based. If you do a grep for the old filename or search for it with a text editor, then it’s quite easy to find and fix manually.

Also, the main project schematic sheet should have the same name as the project (and the project directory), but other sheets can be named freely, but you should not rename those other sheets from a file manager, because KiCad uses those names in the project to be able to link to them.