Skip to content

Instantly share code, notes, and snippets.

@Duckle29
Last active February 22, 2020 22:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Duckle29/40b15add74d249d143694b0a25c32b42 to your computer and use it in GitHub Desktop.
Save Duckle29/40b15add74d249d143694b0a25c32b42 to your computer and use it in GitHub Desktop.

KiCAD has a huge library of components and footprints, and it's only ever going to grow. I find that to best use these components, to have my libraries set up via git repositories, not through kicad, but locally.

This gist will explain how I go about it.

First, find a place on your computer that you want to keep these libraries. I use ~/kicad

Once you've decided on that, fork and clone the kicad-symbols repository, the kicad-footprints repository, and the kicad-packages3D repository

mkdir ~/kicad
cd ~/kicad
clone https://github.com/{YOUR USER}/kicad-symbols.git symbols
clone https://github.com/{YOUR USER}/kicad-footprints.git footprints
clone https://github.com/{YOUR USER}/kicad-packages3D.git packages3d

You should then have the following directory structure:

~/
├── kicad/
│   ├── symbols/
│   ├── footprints/
│   └── packages3d

Now, in kicad go to preferences -> configure paths

in here, you want to change the paths for KICAD_SYMBOL_DIR, KISYSMOD, and KISYS3DMOD, as seen on the image. I have a lot of noise in here so I have blanked out irrelevant stuff. If you are on windows, then these fields will be dark grey, because they're set in your windows environment values. Either change them there, or remove them there and set them in kicad.

From now on, all you have to do to update your libraries is just a git pull in the different folders, for example:

cd ~/kicad/symbols
git checkout master && git pull

It also has the benefit that if you want to make a new component, and contribute it to kicad, you can simply check out a new branch, make the new component following the Kicad Library Convention, and then open a pull-request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment