Requesting advice on migration from KiCad V4 to V8

Hi everyone,
I did a KiCad project in v4.x some years ago. Now, I need to upgrade/enhance some project features. I would of course like to use the latest KiCad version.

If I wanted to migrate to v8.x, what would be the better way, to jump from v4.x to v8.x or take the tedious way of migrating from v4 to v5 to V6 and so on?

Any advice/Comment would be most welcome.
Thanks and best regards

Make backups of everything first.

In theory 4.x to 8.x is supported. In practice, very few people do this large a jump so there may be issues. Make sure to use 8.0.6 – earlier versions of 8.0 have a known bug when handling V5 and earlier designs. If you run into problems, going 4.x to 5.1 and then 5.1 to 8.0.6 should work.

2 Likes

Don’t make it more difficult for yourself then necessary. Indeed first make sure you have backups, and then you’re free to try things out with a copy of your project. I would make a straight jump from V4 to V8.0.6 with no intermediate steps. Difficulties (and amount of work) will mostly depend on the completeness of the old project. Back then the graphics of the symbols was not cached inside the project, and if the graphics is missing, your schematic symbols look like [??]. If you see this after conversion, you should first put some effort into learning how the rescue process works (triggered automatically when you open an old KiCad project in a new KiCad version). If the old libraries are really missing, the next option is to use: Schematic Editor. Tools / Edit Symbol Library Links

If you get stuck along the way, we’re always here to help you get unstuck.

Thanks a lot for your fast response craftyjon and paulvdh.

My Kicad v4.x design was pretty straight forward. I guess I used 99,9% only standard KiCad supplied Symbols and Footprints.Thus, I believe migrating directly to V8.0.6 should work.
Of course, before restarting I will refresh my knowhow by watching some KiCad tutorials on the YouTube.
Thanks also for your offer to help in case I get stuck.
Best regards

1 Like

I use 0% of KiCad supplied symbols and footprints and I think thanks to that I had no problems with migration starting from V4 and ending at V8.

If remember well library names were changed probably between V4 and V5. I don’t know how to get this change be automatically addressed when updating schematic and PCB to have all symbols and footprints being linked to current libraries. I suppose it have to be done as uninstalling old KiCad version uninstalls also its libraries (at least it worked such for me, but may be there is a check box to left them I never paid attention at).
May be it is only my individual lack of knowledge how to do it as I just never needed it.

That’s VERY wishful thinking. The libraries change significantly between versions, and even between releases.
Copy your V4 libraries to a safe location first.

Hi ML9104,
Thanks for this word of caution.
I was anyway planing to save the complete V4.x project (including libraries) in a separate folder. Now I will double check this before attempting anything with V8.0.6.
Best regards

Hi Piotr
Thanks for your comments,
Comparing your case using 0% Vs. my case using 99.9% KiCad supplied Symbols and Footprints, my planned migration attempt to V8.0.6 seems to be almost predestined to fail.
More so because I also have seen ML9104 warning on the subject below.

I Know you as a long time KiCad user with vast experience. Are there any specific video Tutorials or manuals covering this topic of handling Symbols and Footprint libraries while migrating to a newer KiCad version?
If so, could you direct me to these, please?
Many thanks in advance.
Best regards

I think this is a misunderstanding on their part. The migration should work fine as long as you don’t get rid of the cache library files alongside the project.

The worst that can happen if this is the case is that choosing “update symbols from library” either changes your design (because the libraries have been updated) or doesn’t work (because the libraries have been renamed and so the library link isn’t valid anymore).

Either way, if you have backed up your files, it is safe to try and see what happens.

Sorry,
I have never watched any video about KiCad - it is not the way I am used to learn (may be it is because my young time when I learned how to learn was when there were no not only internet but even PCs.
Before installing KiCad for the first time (V 4.0.6 fast updated to 4.0.7) I just read all KiCad pdfs. I know they were completely rewritten from those times but I had no time to read them once more.
Anything more I know just comes from reading the forum and using KiCad.
When upgrading I had only problem with pointing KiCad to my library lists to be used in new version, but there is no idea to write here about it as you mainly use KiCad libraries and not your own like me.
I decided to use only my libraries before designing first KiCad PCB as a copy of way I was using Protel for years so with V4 I was mainly developing libraries waiting for V5 to start serious KiCad use.

Many thanks anyway, Piotr.
I will search for relevant pdf documents available on V8.0.6 and also look for forum discussions on the topic.
Best regards

8.0.1 to 8.0.6 are bug fixes. Anything for 8.0.0 is relevant for 8.0.6.
The best documents for Kicad 8 are here.

Hi jmk,
Thanks for the pointer to the KiCad official pdf files.
I just skimmed through “KiCad projects and files” (Doc 1) and “Getting started in KiCad” (Doc 2) there. These are very useful documents indeed.

Although ( as of 20.10.2024) the sections “KiCad Projects and files” and “Symbols and Footprint Libraries” are yet to be added in Doc 1 above, the “KiCad project and files” handling can be easily understood reading the Doc 2.
I guess so far as the missing “Symbols and Footprints” section in Doc 1 is concerned I will have to bridge the time by learning from KiCad forum discussions and available YouTube tutorials on KiCad 8.x.
Thanks again for the official pdf docs Link.
Best regards

1 Like

There is information pertaining to libraries in the Schematic and Footprint Editor sections. Both these Editors are a “must read” as they are current, and will bring you up to date with Kicad program abilities.
It is also worth glancing at the forum FAQs (link at top of every forum page).

Hi jmk
Thanks a lot for your freindly hint.
Yes, I found a lot of information about creating, editing and exchanging Symbols, Footprints etc. and overall handling of libraries in the documents you mentioned.
This will certainly be very helpful and make V4.x to V8.0.6 migration a lot easier.
Best regards

That’s exactly what I do on purpose… since I only update a project if I am making changes anyway. So, I may as well use the latest symbols and I have to update my hold private symbols anyway since I have to fix all the DRC errors and warnings I just chip away at them until the 4.x design clears all the 8.x DRC checks.

I doubt too many people did designs in 4.x complex enough to merity worrying about updating symbols too much and even when I do change a major symbol I just drop the one on the board to compare (say if its an SD card or resistor connector just to make sure its compatible before I update the real one.

Last year, I migrated from V4 to V7.
If you do not want to do some modifications on the project, simply open it with the new version.
This creates a new ibrary for the components of this project.

I have many own Libraries and some of the V4 libraries have no new aequivalent.
Wrote a program to do the modifications (repalcing text with text) - but not in Python.

Hi dwk51,
I am not sure, but perhaps I missed the point you made in your message.

Of course, I want to enhance my project but only by using the latest KiCad version to get rid of the legacy issues. If modification/enhancement were not to be my intention, I would have left the project in V4.x as it is because afterall it was and is working.

I will do as you suggested and open the V4 project in V8.0.6. and see which and how many symbols appear with ??. Then I will have to do some hardwork and remake those symbols all over.
I will be time consumimg and not easy but I hope that once done I will have easy sailing atleast for the immediate near future. :grinning:
Wish me luck.
Thanks and best regards

Hi paulvdh,
In my attempt to migrate from V4.x to V8.0.6, - as proposed by you, I jumped directly to V8.0.6.

Result:
V4.x project loads and opens in V8.0.6. One can see the Schematic and the PCB layout etc.

In the schematic editor, selecting “Add Symbols” icon on the right side opens a message box reporting
Quote"
Error loading symbols
Error loading symbol library
file name1… - rescue*
file name 2…- rescue
"Unquote
Pressing “OK” button does thereafter load - as expected - the KiCad Symbols.

However, scanning through the list of loaded symbols I found that it also contains my symbol libraries/directories (created in V4,x) - only that they are marked here with the suffix “- rescue”.
Also the symbols itherein which can be processed in normal way.

My question: where does KiCad V8.0.6 store these “file name… - rescue” symbol libraries/directories?

I scanned through the list of Kicad libraries/diectories (through “Manage Symbol libraries”) but it doesn’t show the “-rescue” directories which were there in the list under by “Add Symbol”.
Any help/comments would be most welcome.
Thanks and best regards.

I dug out some old project to do a little test. I first made a copy, so I can repeat the process if needed.

A listing: Files from 2015-12-16. I don’t know exactly which KiCad verstion that was.

paul@cezanne:~/schema$ ls -hl
total 1,1M
-rw-r--r-- 1 paul paul 8,5K Dec 16  2015 7_segment_display.bak
-rw-r--r-- 1 paul paul 5,7K Dec 17  2015 7_segment_display-cache.lib
-rw-r--r-- 1 paul paul   51 Dec 16  2015 7_segment_display.kicad_pcb
-rw-r--r-- 1 paul paul 1,3K Dec 16  2015 7_segment_display.pro
-rw-r--r-- 1 paul paul 8,5K Dec 17  2015 7_segment_display.sch
-rw-r--r-- 1 paul paul 430K Dec 16  2015 asdf.bak
-rw-r--r-- 1 paul paul  92K Dec 16  2015 asdf.bck
-rw-r--r-- 1 paul paul  92K Dec 16  2015 asdf.dcm
-rw-r--r-- 1 paul paul 431K Dec 16  2015 asdf.lib

First line of 7_segment_display.sch:

EESchema Schematic File Version 2

The PCB only contains a single line (It’s 51 bytes).

(kicad_pcb (version 4) (host kicad “dummy file”) )

Opening the project, and then the schematic in KiCad V8.0.6…

  1. KiCad complains about missing (default) libraries.
  2. Remap Symbols dialog pops up. Click in Remap Symbols & Rescue Symbols & Close

The schematic looks OK, inclusive a symbol I made myself.

  1. Save the project.

  2. Schematic Editor / Preferences / Manage Symbol Libraries / Project Specific Libraries has two entries.

    • ${KIPRJMOD}/asdf.lib
    • ${KIPRJMOD}/7_segment_display-rescue.lib
  3. Exit KiCad. Directory listing now is:

paul@cezanne:~/schema$ ls -hl
total 1,2M
drwxrwxr-x 2 paul paul 4,0K Oct 31 14:21 7_segment_display-backups
-rw-r--r-- 1 paul paul 8,5K Dec 16  2015 7_segment_display.bak
-rw-r--r-- 1 paul paul 5,7K Dec 17  2015 7_segment_display-cache.lib
-rw-r--r-- 1 paul paul   51 Dec 16  2015 7_segment_display.kicad_pcb
-rw-rw-r-- 1 paul paul 1,3K Oct 31 14:21 7_segment_display.kicad_prl
-rw-rw-r-- 1 paul paul 7,8K Oct 31 14:25 7_segment_display.kicad_pro
-rw------- 1 paul paul  75K Oct 31 14:21 7_segment_display.kicad_sch
-rw-r--r-- 1 paul paul 1,3K Oct 31 14:17 7_segment_display.pro
-rw-rw-r-- 1 paul paul  352 Oct 31 14:19 7_segment_display-rescue.lib
-rw-r--r-- 1 paul paul 8,5K Dec 17  2015 7_segment_display.sch
-rw-r--r-- 1 paul paul 430K Dec 16  2015 asdf.bak
-rw-r--r-- 1 paul paul  92K Dec 16  2015 asdf.bck
-rw-r--r-- 1 paul paul  92K Dec 16  2015 asdf.dcm
-rw-r--r-- 1 paul paul 431K Dec 16  2015 asdf.lib
drwxrwxr-x 2 paul paul 4,0K Oct 31 14:19 rescue-backup
-rw-rw-r-- 1 paul paul  245 Oct 31 14:25 sym-lib-table
  1. Opening the asdf library in the Symbol Editor (Which is also the library management tool in KiCad) shows it has my custom made symbols in it, apparently I had already put those in the asdf library back in 2015.

  2. The [Project]-rescue.lib in the file listing is new. Opening it in the Symbol Editor shows it only contains a resistor:

  3. So the project “just opens”, and apart from going through the automatically triggered rescue process, there are no problems. Having the [Project]-rescue.lib added to the project is a bit ugly, but fixing that is just normal project & library maintenance.

  4. Use: Schematic Editor / Tools / Edit Symbol Library Links to get an overview of all symbols, and from which libraries they are:


    You can also change the links here, so they use a different library.

  5. Schematic Editor / File / Export / Symbols to New Library is also worth mentioning. With it you can export all used symbols in your project to a single library. Near the end of this process, KiCad asks you: Update symbols in schematic to refer to new library?. If yo answer this with clicking on [Yes], then KiCad does this, and your newly updated project only references this new library. The old libraries, and library links can be deleted afterward. KiCad itself does not delete old files that it does not use them anymore. You have to delete them yourself.

  6. For the PCB, it works pretty much the same, except that it’s a bit easier, because the PCB does not directly depend on external libraries, because all used footprint data is stored in the PCB file itself. But it is likely links to external libraries are broken. This can be fixed with:

    • PCB Editor / File / Export / Footprints to New Library (And make sure to update the footprint links at the end of this process)
    • PCB Editor / Tools / Update Schematic from PCB This is the reverse direction from the normal workflow, and it updates the schematic (which is always the reference) to update the footprint links, so the schematic editor also has footprint links to the newly created footprint editor.