3D Pin Headers Exceeds 1GIG: If KiCad Includes, Will Be Over 2 Gig


what do you mean by less efficient?
long story short you will need the full library downloaded if you want full offline acces. On the other hand you cant download the full library if you want to save the amount of data downloaded/stored. I find this a pretty good solution for people who dont want the full library (I would prefer downloading the full). The files should ofcouse be added to the local library when downloaded, this way building up the local library as the files are needed.


I’ll be the first one to agree that I don’t have a clue regarding the large scale view of things. As you correctly pointed out there are a lot of different users each with his own workflow and a lot of technical details. Thanks for pointing this out.

The zip download (available also on Github, and being developed for official Kicad page) will cover basic users. Yes a tool for setting fp-lib-table and symbols table would be really welcome. Is the fp-lib-table equivalent for eeschema coming with V5? If so, then fp-lib-table and symbols-table could be included in the repo and .zip file, which would result in quite clear instructions how to update the tables (copy them)

A user will download zip file multiple times, while with git only initial clone takes some time, from then it should be quite quick if you do it regularly

As for the installation of git, I personally don’t see it as a turn off. If you need advanced features in Kicad you need external tools (Freecad, …)

Also my view on git (not git in particular but on SCM tools) is that if you program even a little bit, this is a basic tool that you have to have at your disposal. Just like a blacksmith needs an anvil, only hammer and fire are just not enough. From my experience a lot of people designing circuits have some programming experience and would benefit from git. But before you point it out I agree that Kicad is not in the business of educating about SCM tools. I am just saying that if Kicad requires Git for advanced library management I don’t see this as a problem.


very nice indeed!


No it doesn’t, as I explained. I’m a software developer by trade, I know how to use git. I also deal with hardware designers who don’t know what the command line is. Literally, I had to show them how to launch a Command Window.

A Git interface is not a solution for the typical KiCad user

If we can’t agree on that, there is no point in further discussion.

Sadly, this will be another one of those threads that will run to hundreds of posts and not go anywhere, probably because developers unable to see it from a user POV, and users who really have no idea of the development side.


Git is not intended as the tool for the average user. (I don’t think oliver wanted to imply this)

The average user will use the download page and download a release of the lib. (as a zip archive) Not the current master via git. Yes it would be nice to have an installer that would unzip this, put the files into a central location and setup kicad to use these files. But i don’t think we will get that ready for the v5 release.

Git should only serve for people who want to be at the cutting edge or who want to contribute to the lib. (Yes for contribution management github and it’s pull request infrastructure is the best option in my opinion. Is it easy to understand for everyone? No of course not. But it is easy for us maintainers. And we are the bottle neck.)


I was thinking of an ActionPlugins to download on demand what 3D models are required by a kicad project.
This will not use git to check updates, but it could be a start for an easy use…

I have then an issue related to the fact that KiCad installs as default its libraries in folders that can be managed only by administrator rights…
(tipically C:\Program Files\KiCad\share\kicad\modules in Win, /usr/share/kicad/modules in Linux and /Library/Application Support/kicad in OSX)
Is there a way to raise the level of a script running inside pcbnew to administrator level?
ATM I cannot copy what I download to the library folders…


This problem has evolved from an annoyance to a significant problem as Windows has evolved over the years.

The no-charge simulator “LTSpice” now installs its library of models to a folder in the user’s “Documents” directory, C:\Users\ {Username} \Documents\LTspiceXVII\ This isn’t a complete solution to the problem - other people using the same machine may not have access to my Documents directory - but at least I can add, edit, delete or move files as needed without admin privileges.

If it’s not practical for KiCAD to install its libraries in a comparable location, can there be an option during the installation process to place the libraries in a user-specified location? (Yes, I know - “Submit it to the Wishlist.”. But before I do that I’d like to hear other people’s opinions, refinements to the idea, or alternative suggestions.)



Seems like in the interim, the library can be copied to a user location and referenced by KiCad prior to or instead of the default location.

This would avoid developer intervention prior to them stripping the libraries from the install.


Has anybody figured out how to call git from within the pcbnew python, without an additional installation?


I agree very much that kicad libraries shouldn’t placed in an Administrator folder…
i.e. if you want to modify a simple footprint you need Administrator privileges…
I never used that location for my libraries… just switched to a local disk folder, changing the KiCad vars pointing to that folder.

Anyway for a standard installation on windows, a possibly common folder could be:


or as a var


This folder could be much more convenient for regular users and it will allow easy maintaining …

I imagine that a similar common location could be found also for Linux and OSX


In python, it’s straighforward to get the home directory:

savepath = os.path.join(os.path.expanduser('~'),'kicad')

which expands on windows to:


And on linux to


And further subfolders can be created


I already use:


for layerviewsets.py to store user created layer sets. And


for user commands in KiCommand.


your suggestion will work only on the actual User folder…
what I suggested is a Public folder to share the libraries among All the users of the same PC


Agreed. The I am not aware of a universally-recognized public folder in unix except maybe /var/public, but there’s not typically an os environment variable for that.

Sharing between users on one (Windows) machine seems like a less useful use case. What happens if different users are developing on different boards with different library versions and maybe they want their own control over their installed libraries?

Either way, your point is valid.


Far better to move these locations into User directories, with provision for a network share for shared corporate types. Program Files etc should be for the application program, not potentially changing data. The present situation violates the various OS design rules