Getting old work into KiCAD 5 - Page 1
Forum section: electronics / general

author: jolshefsky
author_rank: Regular Contributor
timestamp: January 23, 2020, 09:20:09 pm
content: I finally started working on what I knew was going to be a difficult project: updating to KiCAD's latest version (5, I guess, or specifically 5.0.2). I had been using an old version from 2011 which I deliberately never updated so things would not break. But now I'm moving from a Mac to a Linux machine and decided to try and stay at least a bit current. I think I was right.The trouble is I've spent many,manyhours making parts libraries and footprints (a.k.a. "modules" in the old days) so I want to be able to add them to the new version.I have managed to kind of figure out a convoluted route to actually get my old schematics migrated. Kind of. It's a mess and doesn't quite work like I expect, but I have actually succeed without too much pain. I also was able to access the schematic symbols I had made myself, so that's kind of working too.But then I turned to the PCB layout editor and found that it would not recognize my old "*.mod" files. In fact, it throws assertion failures, so not only is it not working, it's basically crashing. Am I relegated to redoing all my old work in the new version? I figure there might be a way to take some of the most painful-to-build footprints and cobble them into the new system using a combination of using the GUI and hacking the files in a text editor. But I'm hoping for something more ... better.(My central issue here is lack of trust: I don't trust people to make working footprints. At least not ones I can just plug-and-play. I would always want to review the footprint against the datasheet and make sure it was right; once I tweak it right, I want my own "right" version to be the one I use, and not one that quietly gets changed next update cycle.)

author: donotdespisethesnake
author_rank: Super Contributor
timestamp: January 24, 2020, 02:57:56 am
content: I have upgraded several old projects (some pre v4) to v5, there various issues but I haven't seen any problems with assertions loading footprints.If you post one of the problems files, I can take a look.

author: jolshefsky
author_rank: Regular Contributor
timestamp: January 24, 2020, 03:02:09 pm
content: Not the projects but the module libraries. I have no idea how to import them into the latest version. When I try to open them in the footprint editor is when I get the crash. I just wondered what the process is *supposed* to look like.

author: donotdespisethesnake
author_rank: Super Contributor
timestamp: January 24, 2020, 05:11:46 pm
content: For legacy libraries, add them to the Footprint Library table and use them as normal, should be nothing special required.Although KiCad devs have a general principle of maintaining backward compatibility, sometimes breaking changes sometimes are introduced. But as I say, I've never had issues with legacy libraries.If you think it's a bug, then raise it on gitlab, but they will ask you for the same thing as I did : a sample file showing the error.https://gitlab.com/kicad/code/kicad/issues

author: jolshefsky
author_rank: Regular Contributor
timestamp: January 25, 2020, 07:44:07 pm
content: OK, there was a bug in the file somehow (dimension of "e00" which should have been a decimal number.) It worked in old KiCAD, so I didn't notice it. Weird.Thanks for all the help and interest regardless.

author: donotdespisethesnake
author_rank: Super Contributor
timestamp: January 28, 2020, 01:34:34 pm
content: Yes, I think I recall a bug like that someone reported before. As the codebase gets cleaned up, new versions of the parser may be more strict than old versions, so if you have anything non-standard in the legacy file it can cause an error.

author: Clear as mud
author_rank: Regular Contributor
timestamp: April 05, 2020, 12:40:11 pm
content: I have not done it yet, but I have done a whole lot of research, as I also spent many, many hours customizing libraries in the old July 2013 version, and I am just now trying to get back into it and start some projects in the new version, and update some old projects if I want to keep working with them.My understanding is that the new .pretty files for modules are actuallyfolders, filled with individual .mod files containing only one module each. Gone are the days when you could put multiple modules in a .mod file. So, somehow you need to take each of your old modules (packages) and save it to its individual .mod file before incorporating related ones into a .pretty folder.Also, I didn't research this as much yet, but I think the 3D model files might be a different format now.I'll post back here again with some links when I find them (I have them written on a piece of paper in the other room).

author: poeschlr
author_rank: Regular Contributor
timestamp: April 07, 2020, 09:34:49 pm
content: https://forum.kicad.info/t/converting-kicad-version-4-projects-to-version-5-remap-a-project/13767

author: Clear as mud
author_rank: Regular Contributor
timestamp: April 08, 2020, 04:14:03 am
content: Ah, yes, that was one of the links I was going to post. Here are the other ones:Library management in KiCad version 5provides an overview of how the libraries work in version 5.Thecurrent documentation on CvPcbis also helpful to understand how it all works.How to convert my local library of module .mod into the new pretty formatfrom 2016, a few details of the difficulties involved in converting libraries from an earlier version.Converting/opening 2013-stable layout file in 4.0.4 stable - How?Mod to kicad_mod?How to install KiCad 2013-07-07 BZR 4022 on Ubuntu 64, for when you give up and want to just run the older version instead.Finally, here are theKiCad library conventionsthat people have been trying to follow for the last couple of versions. Of course, back then, I made my own conventions since there weren't any, and some of mine are at odds with the official ones, so I may still see if I can convert some of my old libraries for my own use. I guess if I'm developing something as part of a team effort, I'll have to follow the agreed-upon conventions.