How to import a .pretty into global library?

I’m using KiCad 6.0.6. I’ve been pulling my hair out for two hours trying to import a .pretty file/folder from github into the global library. The file is here:

I created a new folder in:
C:\Program Files\KiCad\6.0\share\kicad\footprints

Then I copied the text from the github page, and created a text file with a .kicad_mod extension. In Windows File Explorer, I opened properties on the new folder and the new .kicad_mod file to allow all permissions. I created a new line in the Footprint Manager and carefully typed in the path (see screenshot).

When I try to assign the new footprint to a symbol in the schematic editor, I get error messages (see screenshot).

Does anyone have clear step-by-step instructions for how to add footprints from github to the global library?

Thanks.

I am only using my own libraries and only global. Never tried to get libraries from github.
I think: It is generally wrong idea to add anything to C:\Program Files… manually.
Windows don’t likes if someone rummages around ‘his’ files and says: “Access is denied”.
I have my footprint libraries at D:\Mm\KiCad\_PcbLib (Mm is my directory to be backuped each day).

In KiCad V4 pdfs I found even info to not install KiCad in Program Files directory as the default template used when you open “New Project” was also there and if you wanted to modify and then save it you get into trouble. Because of it all V4 and V5 versions I installed in created by me C:\Programs\ directory so as not to upset Windows.
With V6 I decided to install KiCad as it is default so in C:\Program Files\ as I suppose (not sure) KiCad no longer saves any configuration there.

So my advice is to not modify C:\Program Files\ yourself.

Hi @pvanderv

The system libraries are write protected.
You have tried to create a new system library (by using the same path as the Kicad system libraries), so I’d guess that Kicad won’t let you access it to modify it.

You need to create a Personal Global Library with a different path then you will be able to import your Git library and do with that library whatever you wish.

Do you know how to create personal libraries?

EDIT: In light of @retiredfeline s’ comment, to avoid any confusion I edited above.

It’s a pity that KiCad uses global with a different meaning from the OS. Global in KiCad means available to all projects of that user as opposed to project specific, whereas global in OS usually means available to all users. So making a KiCad library “global” doesn’t mean you should put it in a system location.

C:\Program Files\KiCad\6.0\share\kicad\footprints

Don’t ever use the windows program directories to store user data. This will in most cases create (permission-) problems.

Either use:

  • the windows provided infrastructure:
    c:\Users\pvanderv\AppData\Roaming\kicad\6.0\your_user_libraries\
  • or use a completely free harddisk-location, for instance: c:\pvanderv\allmy_data\kicad_libraries

You should additionally provide/change a user-variable pointing to this path (with Preferences–>configure path).

Nah, no permission problems, but when you upgrade kicad it will delete them :3

Please don’t use AppData\roaming. That folder can also be deleted on a whim by the OS or user action. It’s meant for configuration store, not data.

On Windows, I provide C:\Users<username>\Documents\KiCad\6.0(footprints|symbols|3dmodels)

I don’t see the mixup. If you want to share libraries globally on your system with all users. Simply place the files into C:\Users\Public\ Public Documents\KiCad<something something>

This is simply just not understanding the nuances of each OS. On Windows, system folders like Program Files are Administrator restricted and require account elevation constantly to access (similar to sudo)

1 Like

Piotr, jmk, retiredfeline, and mf_ibfeew -

Thank you for your input.

I think maybe I’ve figured it out. Here are my proposed step-by-step instructions:


How to add new footprint(s) by importing a .pretty file so it can be used in any project (KiCad Vers. 6, Windows PC):

  1. Open Main KiCad project window > Preferences > Configure Paths

  2. Under “Environmental Variables”, look for a Name called “KICAD_6_3RD_PARTY”

  3. Open a Windows File Explorer window, and navigate toward the folder shown in the Path field, but stop when you get to the folder KiCad\6.0. In this folder, you should see eight sub-folders (3dmodels, 3rdparty, etc.). Double-click on the “footprints” folder.

  4. Right-click in the path field near the top of the window. Left-click on “Copy address as text”.

  5. Going back to the KiCad “Configure Paths” window, click on the little “+” box under “Environmental Variables” (NOT the “+” box under “3D Search Paths”).

  6. In the Name field, type something like “ADDL_FOOTPRINTS”. Note that you cannot use spaces or lower-case letters.

  7. In the Path field, paste the path of the Footprints folder you copied when you were in Windows file explorer.

  8. Click “OK” at the bottom.

  9. In your web browser (github or wherever), download the .pretty file you want to use. You can download it directly into the Footprints folder, or copy/paste it into the Footprints folder from whichever folder it downloaded into.

  10. Open your KiCad schematic editor window. Highlight (left-click once) the device symbol you want to attach the imported footprint to. Press “e”.

  11. Click inside the Footprint Value field, then click again on the three vertical lines (books on shelf icon) on the right end of the field. The Footprint Library browser should now appear. Look in the folder list on the left. You should be able to find the name of the .pretty file you added.

I was only pointing out that the word global in KiCad doesn’t mean shared in case some people might think that. You can have global shared, or global private. I’m sure there are many ways to achieve this on various OSes. You confirmed the distinction by using those two words separately.

1 Like

May be your description is correct. I was doing my library structure when KiCad was V4.
I suppose the description should be simpler. Something like:

  • copy *.pretty directory were you want,
  • add it (*.pretty directory is KiCad footprint library) to global library list.

I don’t think you have to use any Environment Variables to do that. May be you can use it for some purposes but I don’t know what for.

Piotr -
I’m using KiCad version 6. I tried and tried, but couldn’t figure out a way to add a .pretty file to the global footprint library. And as you can read above, several people said it’s not possible (or at least not practical).

Again we need to know what “global” means in this context.

In this context I suppose “global” doesn’t actually mean global in general, but the default official KiCad libraries which have been installed with the software. It’s true that you shouldn’t make any modifications or additions to those libraries.

Piotr is right: it is really as simple as putting the footprint file into a directory which you can read and write and then add that directory to the library table through Preferences → Manage Footprint Libraries → Global Libraries.

Adding a path variable is an extra step which makes the library structure more flexible, for example if you want to reorganize it later. It’s not necessary and adding a new variable for each new library directory may even be counterproductive. It depends on the situation.

The problem is that (for last 3 days) I am writing from PC with Win7 so I don’t have V6 here and because of it I avoid using the names of menu functions to not mislead you.

@pvanderv

You need to create a Personal Global Library, then you need to download the GIT library you want, then you need to place that GIT library in the Personal Global Library you have created.

I asked earlier: Do you know how to create a Personal Global Library?

jmk and eelik -

Footprint Editor > File > Add Library > Global
Leads to this window:

We’re asked to select a folder from “No items match your search”. You can’t browse to find a folder. Dead end. You can’t add footprints to the Global Library.

I couldn’t find any clear, specific instructions for how to add footprints to a library which can be accessed for any project, so I wrote my own (above). They can probably be improved.

To add to my library a footprint from KiCad library I just copy *.kicad_mod file using file manager. Never tried how to do it in KiCad. I use FreeCommander as file manager.
If I will be needing a new library I will create (also with file manager) a new *.pretty directory and copy there some *.kicad_mod files. Then in KiCad - Prefernces - Manage Footprint Libraries… I would add that library (directory) in Global Libraries tab.

1 Like

You didn’t try clicking “Select Folder” there, did you? :slight_smile:

Adding a library doesn’t mean adding a footprint file, it means adding a folder. When you have navigated inside an empty folder you can select it, or you can select it in the upper level by highlighting it and clicking “Select Folder”.

1 Like

If there are no folders in opened directory than it is natural for window destined to select folder saying: “No items match”.
It is hard to guess where you have your *.pretty directory but I see you have drive D: defined as Data. I have all my data files at D:. My KiCad libraries are also at D. May be you have it there. You should simply navigate to the right place in directory structure to select your *.pretty directory you want to add to global directories list.
I have never learned to use pseudo directories like Documents/Downloads/Music/Pictures/Videos. I understand these are aliases for some real directories that are somewhere there at HDD. I always use the real directories that were created by me at drive D: in place in directory structure where I want it to be.

1 Like

Okay. Thanks for the clarification, Piotr.

Okay eelik. Thanks for taking the time to clarify all this.