Dealing with library shakedown

Hi,

I have been using kicad on and off for about 10y. Originally I build from source, currently I have Fedora’s 5.0.2 installed.

Last time I used it on Fedora must have been on version 4. I now find I have no footprints available despite some old projects are still correctly showing the footprints in PCBnew.

However, if I want to place a new footprint it cannot find one already on the PCB. ( AK300 terminal for example. ). Much of this seems to be due to pedantic renaming like Connectors.pretty becoming Connector.pretty .

If I open and existing kicad_pcb file and try to place a footprint , I get a dialogue. If I select “list all”, I get a window full of errors about “Footprint library path … does not exist”. This mostly seems to be about the renaming issue.

I then find I have a grand total of 40 footprints available !

Now I don’t want to have to redefine and replace every single footprint on everything I have ever done with kicad, so what is the way forward on this without being hooked into deprecated, unmaintained libraries?

If I replace the old library names with the new ones, will my old PCB layouts still find the footprints like AK300, without further work on my part?

If I go to Preferences | Configure paths , I get invited to set the environment variables but they seem correct already.

KISYSMOD is set to /usr/share/kicad/modules which has the current v5 named *pretty directories and datestamps for January 2019. Why doesn’t PCBnew show me the footprints which are there ??

This seems to be very poorly done. It is neither backwards compatible nor even self-consistent, working v5 installation. “Ni fait , ni pas fait” , as the French would say.

Would simlinking Connector.pretty to Connectors.pretty work?

What is the best way to get a working upto date kicad, without needing a major reworking of all I have ever produced up until now?

Thanks for any tips.

As far as I know for KiCad V4.0.7 the used Footprints are stored in the .kicad_pcb file itself, and that’s why you don’t loose them.

Rene has written an extensive FAQ entry about library management, converting & migrating from KiCad V4 to V5.

https://forum.kicad.info/c/faq

The most interesting FAQ entries for you are probably:
https://forum.kicad.info/t/library-management-in-kicad-version-5/14636

https://forum.kicad.info/t/i-had-kicad-4-installed-previosly-now-i-updated-to-v5-now-i-have-some-problems-with-the-library-setup/11932

1 Like

All v4 footprints are valid for v5 while v5 footprints may or may not work on v4.

So, if your v4 designs are unfinished, just load the v4 libraries. You can keep v4 and v5 libraries in your installation.

As @paulvdh said, the footprints are kept into the .kicad_pcb file, so for v4 finished projects you don’t need to do anything.

The schematic .sch file doesn’t keep the symbols, you need to keep the cache.lib file within the project.

For new projects, load only v5 libraries.

IMHO moving forward you should start working on your own pair of libraries one with schematic components and one with footprints. You should look at kicad components solely as templates to be copied and customized. You should never assign any component options on the schematic but instead assign all fields in the library so that you then can easily instantiate the component many times and be able to use “update fields” to update all instances when you change something in the library.

This approach also means that you have to have several components for parts that may look similar but have different values - such as resistors. What I do is avoid using the Value field at all and instead use it as a unique component ID. I then place value as static text inside the component.

This has been by far the most valuable and productive change to my workflow that I have ever done and suddenly everything fell into perfect alignment. It has allowed me to create boards with hundreds of components without any hassle at all. I have used the same approach in altium and it works great.

Watch me using this method in practice in the videos below:
KiCad: https://youtu.be/5-GwQi7LG-A
Altium: https://youtu.be/CrC3Xresv30

Thanks for all the replies. I did not realise the footprints got copied to the project files. That helps.

I have removed most of the old v4 libs. Though it seems not all components were included in the v5 equivalents.

@mkschreder : I often find I need to modify the std components anyway. Though I do tend to use them as generic components and edit values. I’ll think about what you suggested.

Problem with modifying std components though is that you then have modified them globally with potential side effects. It is often necessary to modify large portion of footprints to match recommended landing patterns from datasheets to make parts fit perfectly and that’s where it then gets really messy unless footprints are copied to part specific files each time a modification needs to be made.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.