I will be giving a KiCad intro to my colleagues in a couple of days. I will have only 30 minutes, so I am trying to focus on some of the more important and or troublesome areas for newbies (and occasionally for me…)
I run KiCad OK. But…I noticed that in the Project Manager: Preferences > Configure Paths, I HAD nothing pointing to my custom symbol libraries. But I had no problems accessing these symbols from within KiCad. I think that if my custom footprint libraries were not included there, I would not have been able to access them. What am I missing?
Starting with 6, KiCad copies symbols and footprints into the schematic and PCB files so that you don’t need the original libraries to open the design files.
I use KiCad since 2017 (V4). I have never done anything with Configure Paths, and really don’t know what is there.
I use only my own libraries and in library list I use full library path. If I use full library path then I suppose Paths from Preferences have nothing to it.
I think everything depends on what is your task - to teach them to use KiCad or to convince them to use KiCad and we don’t know what is the task.
When the word PATH comes up in KiCad, people think of it like a search path. But they are just variables that are set and dereferenced. If you don’t use variable substitutions like ${KICAD_USER_SYMBOL_DIR} but have the full filesystem path to your symbols, then there’s no PATH substituion going on.
For example here are the symbol properties of a nixie I have where I use a PATH to the datasheet directory:
The reason why you might want to use user defined paths is if you are working on multiple platforms and want your library to work for all of them, simply by having different substitutions.
No I am just trying to “grease the skids” for my audience to get started with KiCad. If they embrace KiCad I am sure that some will soon surpass my skill level. This does not bother me as I have gone from schematic to gerbers and ordering good boards without much problem.
One issue that I fought with was to send a project (and the needed personal libraries) over from my own PC to my employer’s PC. Then when I wanted to view a symbol (or a footprint) in the library of course all of the paths were different. I went through maybe 30-45 minutes of screwing with it before I got it to work. I do not remember exactly what I did.
I do not really understand what you are saying here… “dereferenced”? “Variable substitutions”? I am a hardware guy…
Yes but I want to show how to work with symbols and footprints; not just show my design. I think that being able to create and use custom libraries is essential.
I noticed that in the Project Manager: Preferences > Configure Paths, I HAD nothing pointing to my custom symbol libraries.
The clue is Environmental Variables.
These paths are not for Symbol and Footprint libraries. (Which is probably why they have their own entries in the Preferences) menu.
It is a good way to explain to new users how KiCad treats Symbols (for Schematic) and Footprints (for PCBs) differently. [AND that they can be configured at a Global or Project level.]
I guess that is news to me. So…what are they for?
When I look at it, much of what I see is libraries.
When I transferred my project and libraries from one computer to another, I think I needed to work with the environmental variables in order for the new installation to find them. But I do not remember exactly what I wrestled with. I am familiar with managing symbol and footprint libraries, which is another item under “preferences.”
Apologies if I am being dense…
Here is what I see when I “manage footprint libraries:”
If I am, how do I undo that? I wonder if this is the key to my initial question. In “manage footprint libraries” I try to point directly to the folder on my C drive. But that does not eliminate the “$”.
OK…I have experimentally deleted the listing of footprints in the environmental variables. Then I went back to “manage footprint libraries” and updated the folder references. (dereferences??). It now seems to still work and be a bit simplified…
First, I think if your goal is to teach people how to do something useful in KiCad in 30 minutes, this is the exact wrong path to head down. (No pun intended.)
Personally, I have never defined a variable for my personal libraries or ever changed anything in Preferences -> Configure Paths. I just use the Preferences -> Manage Symbol\Footprint Libaries... to add my custom libraries–usually as Global. Then I never worry about it again. I couldn’t tell you where KiCad stores that information (and I really don’t care.)
Regardless, there are plenty of built-in symbols and footprints to get someone up and running. If they understand the fundamental difference between the two units, then where or how they get stored is trivial.
Thanks. I guess I ran based on the inferences of all posted above.
As for me, I am sort of a die hard non-conformist and I work almost entirely with my own symbols and footprints.
I am not completely sure what is meant by “environmental variables” but I took the plunge and deleted the footprint row from there before updating my footprint library paths. I mentioned this above a few minutes ago. This might have been the source of my question as well as the minor issues I was fighting with after attempting to access libraries which I had copied to my work computer. I will power that one up on Monday (It is now Sunday evening California time) and see what I have set up on that computer.
Puns are OK!! I guess that if I were to show using only the KiCad library symbols and footprints, the question about custom libraries would arise immediately. The ability to connect symbols together to build a schematic is akin to placing one foot in front of the other. Without that we do not have schematic capture. I don’t plan to spend much time on that.
The reason a lot of people don’t use environment variables for personal libraries are usually:
The UI doesn’t assist. The chooser from the library managers allows you to navigate to the library you want to add, and then it inserts the whole path into the library table.
People often work on only one platform where they don’t have to worry about the portability of the library path.
But for the standard libraries they are essential. The paths will be different for the three main platforms (Windows, MacOS, *nix), only the final part being the same. Having environment variables like KICAD7_SYMBOL_DIR allows these to be different for each platform so the library tables can be the same for all.
For me I like to define environment variables such as KICAD_USER_SYMBOL_DIR and KICAD_USER_FOOTPRINT_DIR. Although I will never move my work to another platform, this gives me the flexibility of moving my libraries somewhere else on my filesystem without having to edit the library tables. But it does mean that when I register a library I have to edit the path to use the environment variable.
For Linux the environment variables are in ~/.config/kicad/7.0/kicad_common.json The symbol and footprint library tables are in ~/.config/kicad/7.0/sym-lib-table and ~/.config/kicad/7.0/fp-lib-table This is for v7 of course. I don’t know if the library manager chooser in v8 or a future version will assist by suggesting an existing variable to substitute for the first part of the path.