Project Specific Libraries on MacOS

Greeting, KiCad 5.1.9 on MacOS10.14 (Mojave). Trying to follow the provided tutorial. I get to this step in the eeschema section where it begins describing adding a Project Specific Library:

  1. Select the Project Specific table. Click the file browser button below the table. You need to find where the official KiCad libraries are installed on your computer. Look for a library directory containing a hundred of .dcm and .lib files. Try in C:\Program Files (x86)\KiCad\share\ (Windows) and/usr/share/kicad/library/ (Linux). When you have found the directory, choose and add the MCU_Microchip_PIC12.lib library and close the window. It will be added to the end of of the list. Now click its nickname and change it to microchip_pic12mcu . Close the Symbol Libraries window with OK.

The problem is that /usr/share/kicad does not exist in this installation as verified by using Terminal. There appear to be libraries in /Users/[thisuser]/Library/Preferences/kicad/syms-lib-table but those seem to be the Global Libraries. What “official libraries” are being referred to in the tutorial? Are they both in the same place?

What is the correct thing to do?

Many thanks
Jim Wagner
Oregon Research Electronics

Global or Project specific libraries are independent of where they are located in your drive system.

Libraries can be stored anywhere you like, thoung there is a default directory (I do not know which is this directory in MacOS).

Having the libraries stored into a hard drive is not enough to have them available. The libraries must be loaded into KiCad too.

The attribute Global or Project specific is chosen by the user. It is the user who decides if a library is one type or the other.

Global means available by all KiCad projects.
Project specific means the library is available for that specific project.

I read the tutorial as saying that one has to go looking for the Project Specific Library, There is no explanation of the library structure, it just springs this on you as something you should do.

If is given library has an attribute that indicates that it is Global or Project Specific, are they all stored in one single directory? In the version I have installed, ,making absolutely NO installation changes of any kind, it appears to open the Library Manager into /Users/[thisuser]/Library/Preferences/kicad/syms-lib-table and the Global library listing appears to match what is in that directory.

As I reread the tutorial, in the light of the previous comments, I now see that it really tells you (though not clearly) to select a library from the Global list and to designate it as a Project Specific library. Am I reading it more accurately, now?

An even later review finally got a bit more to sink in. I really don’t want to criticize the tutorial writers, but the MacOS version is significantly different from either the Windows or Linux versions such that SOME words are really warranted Further, with the default library in /Users/[thisuser]/Library/Preferences/kicad/ there are some really important Mac details. /Library/ has been a privileged directory for well more than 10 years and direct user access has been strongly discouraged for more than 5 years. It is extraordinarily rare for the system Library directory to be available in a regular file navigation dialog (MacOS Finder); programmers have to go to considerable lengths to make that happen. Yet, there it is (unexpectedly) in the KiCad MacOS library manager file selector dialog. Surely, this warrants some word in the tutorial as few Mac users would expect to find ite there.

Things do seem be under better control, now, and proceeding with the tutorial Thanks for the helpful words from Pedro.


Project specific libraries are usually stored in the folder for the project that they are specific to. Other projects won’t see them. Global libraries are (should be) located in the path as indicated in the Configure Paths window (here is mine as an example):

Symbols should be in the path for the name “KICAD_SYMBOL_DIR” and is highlighted in blue in my example screenshot. Footprints should be in the path for the name “KISYSMOD”. Note, this is for v5.1.9, and should be valid for all v5 stable releases. I’m not sure if v6 uses the same path names.

All projects should be able to see the global libraries.

Modifying the official libs is not recommended.
Many of us copy the whole library system to a folder with read/write permissions.

Any update of the official libraries will overwrite the old ones. Any change made by the user, even the change of a library name, will be lost.

There are some entries in the FAQ related to libraries.

Others (like me) have their own personal libraries in parallel with the official ones. If a symbol or footprint needs to be changed we copy from the official library to our personal and make changes there. That way if a symbol or footprint in the official libraries are modified (hopefully bug-fixed) we don’t need to know of that change and copy the new symbol/footprint over to our mirror of the official libraries. :stuck_out_tongue_winking_eye:

One cat, may ways to skin it. :wink:

I’m sure (because I’ve heard them talk about it) some only use their own personal libraries to be sure that each and every symbol or footprint they use has been individually verified/validated by them.

I do both: my own libraries and the official ones in a user folder :slight_smile:

thanks, that is VERY hjelpful!