Did Ver. 6 kill my custom footprint library?

I installed Kicad 6 into it’s own directory with it’s own symbol and footprint files. Then added a path my custom footprint library. So far, so good. Like the updates.

I went back to 5.1.6 to get some work done and my footprints are throwing errors.

Unknown token “footprint” in input/source
line 1, offset 2

I get this for each part in my library. I am unable to save parts to that directory now. I’ve tried deleting and adding the path again. No luck.
Did I botch something?

Have projects to finish for my client, I hope it’s an easy fix. I read that V 6 uses a new file type. Maybe that’s a clue.

To use a lib in V6 it needs to updated. Once updated, V5 won’t read it anymore.
So hopefully you updated a copy of your lib. V5 should point to the V5-lib.

But why not update your project to V6? I did so on a couple of project with success.
(Keep copies!)

1 Like


My client is still using 5 to review the designs.

I made a new folder and when I C&P my custom .mod files into it and add the paths I can edit/save. Lesson learned!

I spoke too soon. The new folder now has same errors.

These are in Dropbox, so I should have backed up versions. Fingers crossed.

Convince your client to update to V6. He will have to anyway some day.

1 Like

KiCad V6 has many, many improvements (about 3 years of development), and upgrading at some time is indeed highly recommended.

I do fully understand that you want to keep with KiCad V5 for a while, especially if it determines whether you can pay for your house and sandwitches next week.

KiCad V5 and KiCad V6 are not really compatible with each other. I was working with V5.1.x and KiCad-nightly V5.99 for some time (and as a hobby), but only one stable version works “normally” at this moment.

If you want both V5 and V6, then you have to resort to stuff like virtual machines, flatpak, dual-boot or even two PC’s (PC’s are cheap these days, a 2nd hand USD 150 PC is perfectly capable of handling moderate complexity KiCad projects).

KiCad V6 can work with older libraries for schematic symbols. There is a Eeschema / Preferences / Manage Symbol Libraries / Migrate Libraries, but I think it’s optional.
Schematic file format has changed extensively for KiCad V6, and there is no back-conversion possible that I know off.

KiCad’s files are human readable text files, and the most reliable way to inspect your own libraries are with a text editor.

KiCad V5 always relies on external libraries for schematic symbols. If it can’t find the right library it shows the dreaded [??] symbols in the schematic. This also means that if the libraries themselves would be damaged, you will not be able to see any of the schematic symbols (in KiCad V5) in any schematic that uses that library.

A quick check if your KiCad V6 installation does something with the V5 libraries can be done by comparing file sizes and file change dates. A much more reliable / robust way is to use a source-code comparison program, for example (FOSS) http://meldmerge.org/

A sand which is completely different from a sandwich. If you try to eat the former, she’ll get very angry and you don’t want an angry which in your neighborhood.


Given the Windows path in @Velvetgeorge 's original post, they are on Windows, where you can run V5 and V6 next to each other without issues. You just can’t point them at the same libraries and have no issues (at least, unless you are very careful to leave the library in V5 format and don’t touch it in V6)

1 Like

Thanks! Yeah, I read the library file type changed, so I installed the V6 library in a separate folder. Unfortunately, when I pointed V6 at my custom footprints folder it changed something.
I was able to open each custom footprint in the V5 footprint editor and save to a new directory, which was tedious but seems to be working.

I should have duplicated my folder and changed the name before adding the path in V6. I realize that now. It made for an eventful morning.

Appreciate the replies.

I have not used windows in some 6+ years, and know nothing if the intricacies of KiCad on that platform, so keep that in mind when reading my post.

Below the output of the same project in different KiCad versions, as shown by meld.
I started meld with:

paul@cezanne:~/projects/kicad$ meld mumar_base_stm32_V5.1/ mumar_base_stm32_5.99/ mumar_base_stm32_V6.0/

The black lines are from identical files, the blue lines are from files with differences and the green files do not exist in all versions.

If I double-click on one of the blue footprint files, then meld shows me their differences:
Differences between V5.99 and V6.0 are very minimal, and mostly because of my own edits, so the next screenshot is from between KiCad V5.1 and V6.0

paul@cezanne:~/projects/kicad$ meld mumar_base_stm32_V5.1/ mumar_base_stm32_V6.0/

The text in the NetTie-2 footprint has changed. The most recognizable is that the KiCad V5 file starts with

(module NetTie: …

while the KiCad V6 library part starts with:

(footprint"NetTie-2 …

So your error message:

is likely from a KiCad V5 to V6 conversion.

1 Like

Spot on! Thank you for the detailed reply.