KIGITHUB vs KISYSMOD, winner is?

After my out of the box install (Windows), i’ve been doing a lot of reading on the forums regarding the “library” settings. I’m still not clear how KiCAD ‘out of the box’ works, and where the footprints ‘really’ originate when i select something for my project. Below is a screen shot of my Path Configuration:

With the paths pointing to the stock settings, does KiCAD use the GITHUB or C:\Program Files… content? Not sure which one takes precedence.

maybe it depends on whether one is online or offline?

From reading several posts, sounds like most users change the KISYSMOD variable to point to their personal footprint folder location. Seems like that would render a large volume of files installed into the C:\Program Files… location pretty useless.

thanks, Chip

Look at your fp-lib-table.
To do that simply open pcbnew->preferences->footprint library manager.

If the entries start with kigithub you get your footprints directly from github and need a internet connection for every action that reads the libraries (starting cvpcb, editing footprints, importing netlist into pcbnew, …).
If you don’t want that:
Delete everything in the fp-lib-table
After that start the footprint library wizard (also under pcbnew->preferences)
and add the git libraries with the local copy selector enabled. (you need to select a directory where your user has write permissions.)
If you use local copies the libraries will not be updated automatically.


Ahh, yes, the fp-lib-table has all KIGITHUB paths, so the libraries installed locally werent configured by the installer. The internet connection isnt a big deal, but I’m unclear of the implications on version control for my projects, since the GITHUB footprints will most likely change over time, which could break the projects, although there appears to be a local copy embedded in the project too. Maybe i can submodule the kicad github or something. but that’s a bit off topic here, and requires more thought. Thanks for the clarification on the library source.

The footprints used in a project are not taken from the library once they are added to the pcbnew file.
(Look at this file with a texteditor, you will discover that the first part of this file holds a description of all used footprints.)

Footprints are only updated from the library if the user gives the command for this action.

1 Like

The biggest folder actually are the pdfs in footprint_doc - at least for my old install that was based on a 2015 stable.
Don’t know if those still come with KiCAD.

Anyhow, if you want to use the ones that are coming from KiCAD while also using your personal ones there is the option to ADD another variable and point it to wherever you want it to…

Example (note MYMOD, numbers give order of modification or appearance):

PS: for this example I downloaded the inductors.pretty repo from github… I don’t have any kicad repos on my machine normally.

PPS: if anything is wrong (I had the variable name in fp-lib-table wrong for a moment there - MYSYSMOD instead of MYMOD and also 2 times z_Test as lib name) and you restart KiCAD the footprint editor will refuse to open + no error msg (at least not in the nightly I currently use).

PPPS: and yes, the library manager doesn’t list any other environmental variables - only the path config shows them - you have to remember them and put them there.
As @dchisholm wrote yesterday in another thread somewhere, we need a central place to get this all set up and more consistency - and the devs work on it.

1 Like

@Rene_Poschl : good to know i control the update to the project.

@Joan_Sparky: the modules folder is around 530MB on my install i did earlier this week. Thanks for putting a special example together, using homebrew variables looks very promising for my setup.

Keep in mind, works for footprints and 3d shapes only at the moment - the component libraries and pdf links (as can be seen in my path setup window - there are 9 all together) are not possible yet.

just so i am clear, do you mean the fp-lib-table or the .pro file?

@Rene_Poschl means the projects .kicad_pcb file

i was just about to start a seperate post regarding the symbols and EEschema, but since you brought it up :slight_smile:.

I’m not sure where the stock install gets the schematic symbols from either. i read some of your previous posts on how to setup the libraries in the template\ file. But when i open that file, there isnt any path listed by default.

Does that seem correct?

The path is correct and you got the right file.
That’s where KiCAD v4 stores the component library setup.


One sec though… as my doesn’t contain the correct stuff. I need to investigate to not talk BS here.

[Edit] all good, the latest nightly I installed changed my file - and didn’t tell me.
It’s back to working order now (just copy&paste from an old project were all was correct).
Looks now like this (KiCAD v4 stable):


no it’s not - at least not in this nightly.
The template file contains [eeschema] as field and the projects .pro file works with the old [cvpcb] field (just tested by creating a Test4 project from scratch).
Naturally the custom library folder is lost in that process - probably a parsing error.
Bugreport is probably useless as they change the system for v5 anyway and the rollout of the new component library framework is right around the corner…

To solve it one has to rename [cvpcp] to [eeschema] in the projects .pro file.

This is NOT A PROBLEM for STABLE versions of KiCAD

wait, i got lost there. so a blank LibDir entry is proper?

what i’m worried about, is when i add my cust path, then the stuff coming from the ‘blank’ path will get stomped on.

If you don’t have custom libs in a custom place, yes.

KiCAD will try to search other places, see the library setup dialog (access via EEschema>Preferences):

As you can see, the custom path is just one of many.

First it searches the project folder for the xyz-cache.lib (*) file, then the custom path and after that the standard folders, where KiCAD-out-of-the-box stores libs.

And take not of the note I posted in that other thread about how the framework ‘works’ and the order of libraries in that list ^^^

*) that one stores the components you actually use in the schematic of that project, so a change in the libs doesn’t destroy your schematic
The footprints use a similar system, just that there the ‘copies’ are stored in the .kicad_pcb file itself


ok, the standard out-of-the-box libs being in C:\Program Files\KiCad\share\kicad\library?


(and 17+ more letters, for you forum)

1 Like

what action pulls an updated footprint into my project from a GITHUB based library? opening the pcb file, re-associating in CvPCB, …?

It depends:
Footprints that are already placed on the pcb can be updated in the properties dialog of the footprint. (Press e: choose change footprint -> leave the new footprint field unchanged)
In this change footprints dialog you can then select which footprints to update. (only the one selected, all with the same old footprint, by value, or even all footprints on the board.)
In most cases you update either the one selected or all who have the same old footprint.

if you add a new component to the schematic and assign a footprint to it, the footprint is taken from the library. (This is true even if you already have an old version of the same footprint on the board. The new component gets the new version. But footprints that are already on the board are not touched.)


That directory is on my machine (at .\KiCad\share\kicad\modules\footprints_doc ), but the file timestamps are at least 8 months old so I suspect it’s not being actively maintained.