Not sure if this is the right category. New to KiCad and having fun with its ‘quirks’. I created a new library from a footprint created in Geda PCB. I can see the library .pretty folder and .kicad_mod contents in Finder on my Mac. I understand that I also need to add this new library (I guess it’s not possible simply to add it when I create it…) I followed the video here:
and from Footprint Editor I selected Preferences> Footprint Libraries Wizard to add the library to global library configuration. However, in contrast to what’s shown in the video, when I then Select Library it is not available as an option. It is visible in Footprint Libraries Manager as a Global Library. I don’t understand what I am doing wrong and it’s starting to do my head in.
I personally never had a problem with that. So lets assume its a bug:
Which version of kicad are you using?
Which operating system?
Have you ever successful added a library before?
Other things that could be a problem:
Does your user have read permissions for the .pretty folder?
Is there another library already with the same name?
Is your .pretty folder in another .pretty folder?
Are there other files than .kicad_mod files in this folder?
Wrong plugin type? (github instead of kicad)
Not the full path given? (Does it start with $KIGITHUB or $[some other variable name])
Hm never had this problem with full libraries. But i discovered that if you copy kicad_mod files into an existing .pretty folder (via the operating systems file-browser) you only see this new footprints once you restart kicad.
So it seems restarting kicad fixes a lot of things.
A side node for clarification (For users who have a similar problem which is not solved by restarting kicad):
If you open your fp-lib-table (with a text editor or with the tool preferences->Library manager) you see a path.
This path can be expressed as an absolute path. As for example something like /home/…/library.pretty (or c:/user/…/library.pretty for windows users)
Or it could have an environment variable in it (like $KIGITHUB). This environment variables are set in the project manager of kicad.
The problem in this case could be that either a wrong environment variable has been used or the variable has the wrong value.
Thanks for the help. Errr… I have an fp-lib-table stored under MainBootSSD>Library>Application Support>KiCad>template. (Note this system library directory is normally hidden in OS-X and I understand developers are encouraged not to use it.) It does not contain the global libraries I created. However, I saved one of the new libraries as a project specific library also (just to try) and I do see this with the correct file path in the fp-lib-table file stored in that project directory.
I see all the libraries I created (with correct file paths) from Pcbnew->Preferences->Footprint Libraries Manager - both the ones saved/stored/loaded/whatever as global libraries and the one which was saved as a project specific library.
The whole library management seems very cumbersome. I would make the following observations as a new user:
I would expect to be able to create an empty library and save it anywhere
at the time of creation I’d expect to be able to save it as either a global or project library and change that later as necessary (rather than a separate action)
when I open a library I’d expect to see somewhere the components (symbols, footprints whatever) stored in that library, if any, and be able to select them for editing
I’d expect to be able to import into the open/working library symbols/footprints etc from other libraries or files on my computer or elsewhere, work on them and have them saved in that library when it is saved
It seems to me to be rather convoluted to keep track of where one is in KiCad in this regard. Just an initial observation and I’m sure I will get used to it, but for now it is confusing as all hell.
PS: I’ve also had problems with Pcbnew not displaying footprints properly - as if it is experiencing memory issues. I’ve had to close Pcbnew and reopen it to remove the problem. This is with just 16 footprints to display. The footprint (8 occurrences) which was having trouble displaying was the footprint imported from Geda PCB. (A simple cap with multiple drills/pads to accommodate a number of cap pin configurations.) It would display portions of the F.Silk only. Since restarting I have not noticed the issue again but it’s the start of a new day.
There are two fp-lib-tables. One global table (per user on your pc) One local table (per project)
You found the standard template that will be used if you don’t have a global lib-table in your home directory yet. (This will be copied to your home directory the first time you open either pcbnew or the footprint editor.)
The correct fp-lib-table is stored in your home directory.
Under linux the global table can be found under: ~/.config/kicad/fp-lib-table
I think in osx it should be the same as linux.
For windows i’m not sure but i think it should be in some hidden folder in your home directory.
You can save your libraries anywhere. But you can’t create an empty library (i think.)
I have all my personal libraries somewhere within my home directory. (In an version controlled directory to be precise.)
Just create your libs, add them via the library wizard (select global or local depending on your needs) And restart kicad (the later one is not necessary in the development version. Which means this is a bug that got fixed already but didn’t make it into stable.)
The difference between global and local does not depend on the library itself.
Global means add the library to the global fp-lib-table (This table is stored in your home directory.)
Local means it is added to the fp-lib-table of this project. (File in the project folder)
The symbol editor is worked on currently. (I have seen a preview video for version 5 which shows that all features you wish for will be there in the next major release.)
In the footrpint editor you can do what you expect.
Press the button “load footprint from library”.
After that either select “list all” (this lists all footprint in this library).
Or “select by browser” (this opens a library browser)
Here with screenshots:
Symbol library editor (will get better as mentioned above):
If the lib you want to import from is already added to the path:
simply select this lib as active
open your symbol you want to import
set the target lib as active
store current symbol to lib
save lib to disk
If you want to import a stray symbol, there is a import button in the top toolbar
If the library you want to import from is in the fp-lib-table:
set your target lib as active
open footprint with browser (as shown above)
store footprint to active lib.
There is also an import symbol in the top toolbar
You could also use your operating systems file browser. Just copy the footprint (kicad_mod file) you want into your .pretty directory.
I hope this answers at least some of your questions.
In short: Your original problem is a bug. (That is already fixed in the development version.)
A lot of your wishes are either already possible (footprint editor) or will be possible in the next kicad release. (schematic stuff)
I have searched everywhere for another, including using Cocktail to demand that Finder display invisible items. There’s nothing relating to kicad under steve/.config.
Also, when I look in Pcbnew->Preferences->Footprint Library Manager I can see under path substitutions the path to the fp-lib-table for the project specific version but not the global ones. I see the three KiCad generated paths (to github, library/application support/kicad/modules and library/application support/kicad/modules/packages3d) and the project specific: users/steve/kicad/my projects/amp PSU. That’s it.
Thanks. I will work through the rest of your comments.
Thanks Andy. It was only the fp-lib-table file that I was having trouble finding. I think it doesn’t appear in a Finder search because the user library is now made invisible by OS-X by default. Even if one uses a utility like Cocktail to make it visible, Finder doesn’t seem to search in it.
Anyway, this at least is all sorted. One needs to quit KiCad and relaunch it for the newly added library to appear in library selector.