Migrating from 4 to 7

I run KiCad 4 on a Win7 computer.
On my new W11Pro computer I want to install KiCad7.
And then get all my projects and own libraries/footprints into new KiCad7.
What must I do and which traps to avoid?

It would be better if you temporarily installed 5 and 6 then import it to 5 then save that then export to 6 then export to 7.

In all cases and for all purposes leave the original files intact or create safe backups.

Recently somebody had some problems with project migration from v4 to v7: [SOLVED] So disappointed.with Kicad. (EDIT: there’s much empty talk there, but also some useful tips, especially about new DRC warnings which may confuse those who haven’t used v7.)

One of the biggest changes was the total change of file formats of symbols and schematics between v5 and v6. Otherwise KiCad has small file format changes between major releases so that the older KiCad can’t use the newer files but in theory newer KiCad can always open older files. Sometimes there are changes which require manual inspection and maybe small changes to a migrated project, but I don’t remember this in other than layout. For example zone filling, clearance check and other algorithms may have changed a bit which may cause some DRC problem in some edge cases.

KiCad has a command line program kicad-cli. It has an option to upgrade an older library (or file in case of footprint, I don’t know) to the current KiCad version. This can be used to migrate libraries in batch. Otherwise you can add the old libraries normally to a newer KiCad, open each library in the library editor and save it back.

For projects you have to open the project and open/save the schematic and the PCB. For the schematic this means explicitly accepting the migration to the newer file format. For this schematic migration to work you have to have sym-lib-cache file existing in the project. Otherwise you will get boxes with question marks and you have to replace all symbols in some other way.

This will get you pretty far. I suggest you just try with adding (a copy of) your old library to a new fresh installation, see how it goes and then try migrating a project. You can ask further questions here.

Still one thing: after the migration both the schematic and the PCB will have old symbols and footprints inside them. When you continue to edit the project you have to decide if you want to leave those existing items as they are, and whether to change to new KiCad libraries – if you use KiCad’s libraries – for newly added items. In KiCad libraries the old symbol libraries are mostly compatible with new libraries because only pin locations are important, so you can update all symbols to use the latest KiCad library if you want to. The situation is different with footprints because all copper changes and also some other changes can potentially affect the layout. You can either update the footprints on the board and fix the problems, or leave the old footprints as they are and use new footprints for new items when you continue with the project.

1 Like

Generally, you should be able to go from 4 to 7 directly. If it’s not working, then it’s considered a bug.

4 Likes

I migrated (at Win 7) from V4 to V5 as soon as it was possible because V5 solved the via-stitching problem what was for me important improvement. It happened so long ago that I don’t remember how I’ve done it (I had only one V4 project to migrate).
When V6 came I had to wait with migration because I didn’t had Win10.
I migrated V5->V6->V7. At each migration I opened project by project and saved it with new format. I remember only one problem during these migrations. I use my own libraries and at first run of schematic or PCB KiCad asked to chose library list. When I clicked that I want my list KiCad opened window to select library list file. But KiCad library lists are in Windows hidden/protected folders and opened window didn’t allowed to select them. So I had using file manager to copy my lists somewhere else to be able to show them to KiCad.
At the beginning of V7 once or twice someone reported problems with direct migration V5-V7 and doing it through V6 helped them but I think that problem was solved since than and now you should have no problems with direct migration V5-V7. But what with V4 - I don’t know.

@dsa-t sure but there are some problems reported about 4 to 7

If you attempt V4 → V5 → V6 → V7 you would probably encounter the same problems as going from V4 directly to V7, and going though all those intermediate versions is a lot of extra work.

The thread Eelik links to is also not a good example. It’s a lot of talk but with very little content.


When updating from V4 I only see one real problem. In KiCad V4 there was no graphics for any schematic symbols in the schematic, and therefore each and every project in V4 depends on the availability of the original libraries for schematic symbols. There are several different ways to fix this, but I’m not sure what would be the best or easiest way.

  1. In KiCad V4 export all used schematic symbols to project specific library (There is an "archive / standalone script to help with this).
  2. Make sure the original system libraries are also available in KiCad V7 on your new PC (may require setting environment paths too).
  3. Update the projects to use the KiCad V7 symbol libraries. (Some schematic symbols may be a bit differently and therefore do some damage to the schematic).

But whatever method you choose. I recommend you first export .pdf versions of the schematic of each of the V4 projects, so you always have an independent reference (in case the [??] symbol boxes show up because of missing graphics. And make sure you have backups (so you can always redo the migration if you made mistakes).

Thanks eelik,
I was “So disappointed with Kicad”, but after much research and reading (and there is a lot out there), I came to the conclusion the best thing was try and run both 4 and 7 versions together, instead of putting so much energy into the past. I owe a lot to those who were kind enough to keep bouncing the ball on my brain. I did load both versions without issue and solved 95% of my problems since the project had no errors in version 4. Nevertheless I decided to exchange the old footprints/and 3dmodel files. That is going well as I am all but done. However I do suggest that Kicad user backup there files religiously. Also, suggest reading all the user produced help sites that are out there. Most are very informative and helpful.
I want to end this reply again with many thanks to the Kicad builders, and those faithful users that came to my aide. Their dedication and hard work shows all through the versions up to version 7+… I am certainly not disappointed any longer. If anything I am very proud to be a user of Kicad and a appreciative member of the Kicad community. Blessings to all

5 Likes

The KiCad7 will be on a differt computer as now is KiCad4. I will keep the old computer for some time (more oldies than KiCad4).
But some old projects must migrate to KiCad7. The lifecycle currently expected is 2035 and there will be changes neccessary over the years. As have been in the past decades. Some projects started with paper drawings or Orcad4.
I use only a small amout of symbols from official libraries, most are my own - build step by step when needed.
I know the syntax of KiCad4 files, but couldn’t find anything about KiCad7 files. Would be now problem for me, writing a conversion program (not with Python).

KiCad’s file formats are described here:

But there is no need at all to write any sort of conversion script. KiCad V7 can read the file formats from earlier versions, including KiCad V4. I suggest you just open (a copy of) a KiCad V4 project in KiCad V7 and see what happens. If there are issues, they are likely to be library related. But just post any troubles you get into and we can give some hints to help.

I agree with Paul: you don’t have to use external tools to migrate projects. If you need to continue to develop a project you necessarily have to open and save it anyway. And I heavily recommend running full ERC and DRC after the conversion to see if you need to make any changes. As I said, schematics are more probably fully correct, but some layouts may need some tweaking. You can’t automatize the checks and possible modifications in even any semi-sensible way. Therefore, because you have to open and check the project in any case, just do it when you need the project or take some time to do it for all those projects which may need migration.

For the libraries kicad-cli is enough and quick, especially because you apparently can use those kind of command line tools. It’s just one command line command run for all symbols and one for all footprints. For example in linux/bash for all .pretty folders in the working dir (must be modified for Win shell, or use WSL and Ubuntu or something like that):

for f in *; do kicad-cli fp upgrade $f; done

modifies all the .kicad_mod files in the folders in place, overwriting the old versions.

I installed KiCad7, copied a small project, my old libraries and footprints to a new path.
Looks as if I got it migrated.

I have to get used working with KiCad7, try and error fpr some time.

The symbols used in the schematic got all moved to “rescue”, including those of my own libraries.
I’ll do some tests, redirecting these to the migrated libraries.

Thank you for the helpfull advices this weekend.

This is what I expected. If your libraries were handled properly, then updating a project to a newer KiCad version should be quite painless.

In KiCad V7 all schematic symbols are stored in the schematic file, and the footprints in the PCB. Even if you delete the extra library files, your project should still work.

If you want to do it “officially”, then you can also (consider):

  1. PCB Editor / File / Export / Footprints to new Library
    • Make it project specific.
    • Answer with Yes to the question: Update references of the Footprints.
  2. PCB Editor / Tools / Update Schematic from PCB
    • This is the other way around to the normal work flow.
    • The goal is to push the changes to the “origin” of the footprints back to the schematic.
  3. Schematic Editor / File / Export / Schematic Symbols to new Library

If you’ve done those steps, then the project is fully updated and self contained (Except for the 3D models) and you can delete the old files. KiCad does not delete old files after a project update and leaving the old files around is probably confusing. The suggestions above do not work if you want a more elaborate setup, such as maintaining different libraries for different sorts of footprints. But I guess you’ll be able to do that too.

When doing this (or something similar) then each footprint is exported to a file, and the directory with those files is the library. Personally I don’t like to create an extra directory for schematic symbol libraries, so I put the symbol library in the same directory as the footprints. I don’t know if this is officially supported, but I have never had problems with it.

May I ask, does KiCad really work in W7?

KiCad 4 works really nice on my W7. computer, which is now 10 years old.
That is, why I kept it all these years (never change a running system).
In 2023 I ordered several pcbs, made using KiCad 4 - no problems.

I will keep the W7 running for some time. But I’m also writing software, and for some calculations a much faster pc is required. That is, why I got the new W11 pc. Well, there is a W10 laptop too and an ancient W98 destop with ISA slots.

I only know the following:
When V6 was released I read that something (??) what is used internally by KiCad doesn’t work now at Win7 so KiCad also doesn’t work. I don’t know if whole KiCad or only some functions but I decided to not take risks and stay with V5 till I’ll have Win10.
So I was using V6 for 2…3 months and then installed V7.

10 year old mechanical hard drive too ? if it is I would be buying a new one and cloning it . . .

ISA , Fine! I made add-on cards for the ISA bus.
I added a SSD drive to my old Win7 machine. Then I carefully installed Win10 (and KiCad) on that SSD drive. It is really fast. But just as dwk51 I 'll keep my old software in W7 machine hard disk. I can now boot either W7 or W10. And make back ups on new hard disks…

Well, most of it worked quite fine.
But if you want to continue working on migrated projects, there is some editing waiting for you. Caused by: Changes names of libraries and/or of components in libraries.

I wonder if I can get it working on my Commodore 64 :grin: