Multiple Library Directories

Hello group,

I have tried playing with environment variables and have several places for eeschema and pcbnew to pull from. I am on Windows 7.
In Eagle I did this easily: had one folder that comes with the software originally (in program files), and one in my Google Drive-synced folder (to have the same stuff across multiple PCs). I am often using my university workstation, so I cannot mess with program files.

Here, nothing I try seems to work.
“Path Configuration” utility allows you to add a path, but there is no effect when I open the library to place a symbol.
Editing KISYSMOD to include multiple paths separated by a semicolon doe not work for KiCad. (works for some other software).

Has anyone tried something like this?
Thank you for your time!

What version of KiCad?

My apologies, should have mentioned. I’m using the latest build.
I think KiCad 4 had the support for this, no?

I think you only need to define a config variable for your 3D models, e.g MY_3D_MODELS.

Then you add symbol libraries to the symbol table, and footprint libraries to the footprint table. Your footprints should refer to ${MY_3D_MODELS} to find the 3d models.

1 Like

i have exactly the setup you describe (personal libraries in Dropbox, stock libraries elsewhere) running on a couple of recent nightly builds. It works fine on MacOS - i have just defined a system library path and system model path and a user library and model path to the relevant directories. I have found is easiest if you keep the same basic directory structure for your personal libraries as used by the system libraries/models.
As @bobc described you do have to actually add the libraries to your symbol table - they don’t just appear because you have set the paths.

Thank you for sharing your experience.

Could you show an example how you defined multiple paths in the same environment variable?
How would one do it in Windows 10 environment?
Is there any benefit of adding multiple paths to the environment variables, if you have to add them manually anyway?

You can’t do that… like I said before, you define new variables, one per location.

I don’t see much advantage in using environment variables, even if they make the library-tables portable, those still need to be explicitly copied/merged to your own config. You may as well just install the library from it’s location.

1 Like

You set environmental variables to define the path to the system libraries and, additionally, set personal environmental variables for your own custom libraries. Within my custom libraries, I have laid these out in a similar pattern to the system libraries.

Here I have my personal libraries in Dropbox and I have the system libraries elsewhere (not actually in the default location for MacOS but in a user writeable location - which I have done for other reasons).

I have not tried this on Windows but I don’t see why it shouldn’t work.
The main point is that you should keep your personal libraries separate from the system libraries. That way you can update the system libraries without any danger of interfering with your personal libraries.

A bit different for 3d models. In that case it makes the footprints portable so there it is definitely needed. But i agree it is not really necessary for anything else.

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