Library incompatibility V4 - V5


Until now I have exclusively designed and built new stuff with V5.0.1 & 2, however I just spent a head-scratching hour or two working with PCB originally created under V4.0.7.
The sch file was OK but then I modified the circuit, and exported the net file. When I ran PCBNew Read Net list it threw up many errors, and eventually I realised that some subtle changes had occurred in the library naming from V4 - V5.
Little things like the library names had changed from Diodes_THT:XXXX to Diode_THT:XXXXXX; similary with Capacitors_THT to Capacitor_THT. and resistors. The “s” has been dropped from the library name.
“Housings” have been re-assigned to “Packages” and transistors have changed as well.

I am sure there is some logic behind this, but it makes hard work of translation from earlier versions.


It’s called progress :slight_smile:

Rene Poschl has written some excellent tutorials about migrating projects from KiCad V4 to V5 in the faq:

But if I understand your post correctly, you just have a schematic from KiCad V4, but no PCB design, and you want to start creating a PCB from that schematic in KiCad V5. Correct?

[Edit] Oops, wrote something stupid. (Read Rene’s post below).

If you want to re-assign footprints yiu can do that the regular way with CvPcb or directly in Eeschema.
A nice help to speed this up, and check for possible errors is with:

Eeschema / Tools / Edit symbol fields

With the Symbol Fields spreadsheet you have an overview of all the attributes of all schematic symbols, and you can copy a field to another field, or to a group of fields relatively easy. It does not have a footprint browser, so when changing resistors for example, you first have to assign a footprint name manually with one of the other ways, and then you can copy it with the “Edit Symbol Fields” to all other resistors.


Eeschema -> Tools -> Edit Symbol Fields may make it a bit easier.

It’s also possible to use the whole v4 footprints library with v5 by using KISYSMOD environment variable. Or add the needed library folders one by one to the project specific footprint library table. Or if you have the board file, use Pcbnew->File->Archive Footprints (which I haven’t tested).


I beg to differ. My post suggest that in such cases there are two options. Option 1 install the version 4 lbs and use them or option 2 switch to v5. Both would be valid but option 1 might be a lot less work.

These two articles are what you might want to look at:


Thanks for all your advice. What happened was that I had a schematic and PCB designed in V4.0.7 but had to change the design slightly by replacing one IC with a different device. As in th meantime I had changed to V5.0.2, and the probems I had was that whilst the cvbpcb seemed to have everything listed and filled, the Net read in PCB new gave errors as I had selected to change the footprints. This lead me to find that some of the nicknames for libraries had lost their plural, such as Diodes_THT had become Diode_THT, hence PCBnew could not find the appropriate component file. Not a big problem as the board was fairly low on component count but I can imagine that it would be a nightmare for a larger board for the unwary.
@Rene_Poschl Thanks for the link, I will study it more closely before I migrate another design.


Rene’s second link itself links to a post I made in another thread where I give my thoughts on a way to migrate a design from 4.x to 5.0.2 (should also work for 5.1). It looks daunting, but the first 10 steps really only have to happen once, as they are getting the environment set up properly. Steps 11 and 12 are the meat of migrating a specific design.

For reference here is a direct link to my post: