Poll: GitHub Integration

Hi everyone,

I want to get a feel for how people are using the GitHub “plugin” in KiCAD - specifically for accessing .pretty libraries and also for downloading 3D models.

There always seems to be someone asking how it works, or why it doesn’t work, or why it is even there at all.

Please take some time to read through the questions below, and answer any that seem appropriate to you (select as many options as you like). The more responses we get the better, to get a clearer picture of how people are using this feature (or if it is even being used).

  • I have not heard of the KiCAD GitHub library feature
  • I like the GitHub feature! Give me more!
  • I use the GitHub libraries as my primary libraries
  • I use the GitHub libraries as a basis for my libraries
  • I made my own libraries from scratch and do not use the GitHub libs
  • I use the libraries on GitHub but use a separate Git tool to manage them
  • I would like to use Git to manage my libraries but I don’t want to use GitHub
  • The GitHub library plugin is too slow
  • I don’t find the GitHub library plugin to be slow at all
  • I use the “3D shapes libraries downloader” in PCBNEW to get 3D models
  • I have not known about the “3D shapes libraries downloader”
  • I never use the “3D shapes libraries downloader”
  • I like that each .pretty folder is in a separate repository
  • I hate that each .pretty folder is in a separate repository
  • I love participating in online polls
  • Polls are the worst. Total waste of time. SAD!

0 voters

  • I use subversion and hate Git
  • My VCS is a bunch of .zip files on Google Drive
  • Who needs version control? I get everything right the first time.

0 voters


As a person with shaky internet, I hate the default github integration. I like that you provide the option to download. I think it would be better for beginners, if download option was shown at first start (after installation).

I used to base my libraries on official github repositories, because I wanted to contribute everything I designed. But pull requests take too long to be accepted and until then I’m stuck with my duplicate version of the library. I know about branches and merges but still it is a nuisance. So I stopped doing that. Nowadays I just create one library per project. One day I might gather around all my footprints (that I think are worthwhile) and create pull requests for them.

By the way, it would be nice if we could only download the specific 3D models that is used in current board. I think github® would love it too.

Apply for library maintainer. There are only a few active people in the team.


It does not work through a proxy.

https GET command failed
Cannot get/download data from: ‘https://api.github.com/users/KiCad/repos?per_page=99&page=1
Reason: ‘Se ha intentado una operación de socket en una red no accesible’

1 Like

As someone who uses KiCad semi-professionally, I appreciate that there is community development of the libraries. However, we have to maintain our own repository as we can’t afford for a change in a library to break our projects.

Also, we use lots of weird parts that nobody else cares about :smiley:.

It is a petty that a lot of effort is duplicated in this way. Isn’t there a way to automate the creation of parts from the parts database of suppliers? That would make this whole effort a bit more controllable. I assume most of us make parts based on the datasheets of parts.

Kind Regards

The libraries that are being created with/for KiCAD are mostly done via scripts already (footprints & the new era 3d models in STEP format). Don’t know if the same is true (or even possible) for the symbols (components in KiCAD speak).

The next step after that - complete part definitions will always be a personal endeavor, as KiCAD - or better human beings - working for free won’t be able to keep up with what is out there while also adhering to a common standard.

What database is that? I’m not aware of any suppliers provides a suitable database. There is also the question of what license the data is provided with, typically suppliers like to keep control of data, which may not be compatible with KiCad libraries (particularly allowing redistribution).

A script that could create a part from a datasheet would have to be pretty smart.


You might take a look at the KicadLibCreator project https://github.com/pioupus/kicadLibCreator which generates consistently formatted libraries from an octopart query. Octopart is probably the closest you get to a comprehensive database of all components - however it is not without its problems and occasional errors. Using this program still requires you to make some formatting choices for your ‘base’ device and a bit of work to select appropriate classes of components but It facilitates formatting the data nicely. It is quite easy to use this to produce a ‘house’ atomic library simply by inputting MPNs for a series of similar components. It is not so suitable for individual ICs though. How big your library then becomes is then a different problem and you might then need to look at a different approach to storing and searching it…

Do you mean you could import components into a KiCAd library for direct use in schematics with eeschema? I can understand this is very difficult to do for IC’s, but are you suggesting it will work for most connectors?


This program is ‘rules’ based. You define a rule depending on the component class and the use the data to create a library entity with octopart data

Here I am using a ‘capacitor’ rule to create a library entry. You can define your own rules relevant to the component class - here I bring in package size, value & precision, dielectric material and voltage and associate it with a specific kicad library component diagram. here you might have a problem with connectors as you would need to choose a different connector diagram depending on number of pins.

The description field is then searchable in Kicad. Works well for series of common components though - i.e. will make a nice job of resistors/caps & inductors. Might be extendable if you have the time inclination!