switchcraft / kicad-projects

KiCad Project files, schematic files, layout files and netlists
3 stars 1 forks source link

KiCad 5 libraries #1

Closed ptr727 closed 4 months ago

ptr727 commented 6 years ago

Hi, I found your repo via this great blog post: https://www.switchcraft.org/project-blog/2016/12/11/designing-a-voltage-sensing-pcb

I'm a KiCad novice, so please excuse my ignorance if this is something I should know. When I open the Current_Sensor project using KiCad 5.0.0, all is well, when I open the schematic, I get the following error: image

Do I need to source the libraries myself, or could you include them in the project?

gbThreepwood commented 6 years ago

Hi, and thanks for your interest in our project.

The libraries in your error message are included in the official installation of KiCad 4 ("/usr/share/kicad/library" on my computer). Thus I don't think it makes sense to include them in the project.

We have not migrated to KiCad 5 (yet), but I think this is why you get the error. It looks like the official KiCad 5 libraries are maintained in the following github repository: https://github.com/kicad/kicad-symbols. I guess you could clone the repository and configure KiCad to look for it, but you will have to ask at the KiCad forums if you need more KiCad 5 specific help.

ptr727 commented 6 years ago

Ok, seems KiCad 5 had a major library revamp vs. v4. On opening the file there is an option to automatically match the libraries. Power matched, most other components did not, see error report.

I'm really not a KiCad expert, so I don't know what the best practices are for "portable" library management. But maybe you could you consider explicitly including all symbols and footprints in your project so it opens in KiCad 4 and 5, and you'll also know you have the correct version of the symbol and footprint? report.txt

gbThreepwood commented 6 years ago

Your suggestion makes sense. We already have a repository for our custom libraries at: https://github.com/switchcraft/kicad-lib, but perhaps it would make more sense to keep all symbols and footprints on a per project basis.

I will do some research as to what is considered best practices, this is something we have neglected for too long anyhow.

Maintaining backward compatibility with KiCad 4 will not be a big priority once we merge to KiCad 5 however.

gbThreepwood commented 6 years ago

OK, so I did a quick test to see what KiCad 5 would do on my computer, and It seems to successfully load the libraries.

There where some warnings from the remap tool, but both the schematic and the layout looks ok.

I discovered some hard-coded paths in the project files for the Volt-sensor project, and thus I have committed a new version that uses an alias pointing to our library (This is how we do it for our newer projects, and it is documented here: https://github.com/switchcraft/kicad-lib/blob/master/README.md)

ptr727 commented 6 years ago

I updated and added the lib path, but I'm I'm still getting missing symbols in the current_sensor project? Maybe because v5 no longer looks in paths but expects individual items to be added, like the LEM?

image

Not urgent, I'll wait for you to advise on appropriate library management in v5. Replacing the standard temples path and making global config changes does not seem very portable, vs. possibly per project settings.

Thx

forthnight commented 6 years ago

I experienced the same issues as you when I started to work on my inverter card after upgrading to KiCad 5. I found out that most of the library names were different, typically removing the plural form (before: THT_resistors, now: THT_resistor). I spent a few hours re-arranging and re-mapping the schematic and the whole Frontend_Inverter project is designed for KiCad 5 (https://github.com/switchcraft/kicad-projects/tree/master/FrontEnd_Inverter).

All of the old components are still there, they just need to be remapped to a folder without the plural form. I solved it by simply cloning the three official KiCad git-libraries (symbols, modules, 3d-shapes) and pointing Kicad to those three folders.

The custom symbols, like LEM and Semikron components were always in a separate library which we had own pointers to (we created an environmental variable for it) and I never had any issues with those.