/Import-LIB-KiCad-Plugin

Helps to import KiCad component libraries imported from ultralibrarian and snapeda zipfiles.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Static Badge Static Badge

Static Badge Static Badge Static Badge Static Badge Static Badge

GitHub Release GitHub Downloads (all assets, all releases)

KiCad Import-LIB-KiCad-Plugin icon

This plugin allows importing downloaded libraries from the platforms Octopart, Samacsys, Ultralibrarian, Snapeda and EasyEDA. It can import symbols, footprints, descriptions, and if available, 3D files. Normally, when you select the imported symbol in KiCad, the appropriate footprint and the 3D file should also be linked. Provided, of course, that the libraries have been included as specified below.

SC2 Video

YouTube - Instructions for installation and use

Installation

Install the plugin easily through KiCad's Plugin And Content Manager. Select icon Import-LIB-KiCad-Plugin in the Plugins tab, press Install and then Apply Pending Changes.

You can also download the latest version here and install it via KiCad -> Plugin And Content Manager -> Install from File... -> select Import-LIB-KiCad-Plugin.zip and import.

Use of the application

The import window is accessible in the PCB Editor -> Tools -> External Plugins -> impartGUI

Screenshot_GUI

The libraries to import must be located in the folder specified as Folder of the library to import. After pressing Start, the libraries will be imported into the specified folder (Library save location). Provided that the paths have been added correctly in KiCad, the parts can be used immediately in KiCad. If the libraries have not been imported correctly, a warning will indicate this.

Including the imported libraries in KiCad

To use the imported libraries from the plugin, you will need to add a couple entries to KiCad's path first to see them. You can either let the plugin make the changes automatically (auto KiCad setting) or set the following changes manually in KiCad.

Preferences -> Configure paths -> Environment Variables -> Add the following entry

Name Path
KICAD_3RD_PARTY YourLibraryFolder/KiCad

Preferences -> Manage Symbol Libraries -> Global Libraries -> Add the following entries (Note: Errors will show up if components weren't imported yet. The errors will disappear after importing as libraries will be created)

Active Visible Nickname Library Path Library Format
✔️ ✔️ Samacsys ${KICAD_3RD_PARTY}/Samacsys.kicad_sym KiCad
✔️ ✔️ Snapeda ${KICAD_3RD_PARTY}/Snapeda.kicad_sym KiCad
✔️ ✔️ UltraLibrarian ${KICAD_3RD_PARTY}/UltraLibrarian.kicad_sym KiCad
✔️ ✔️ EasyEDA ${KICAD_3RD_PARTY}/EasyEDA.kicad_sym KiCad

Preferences -> Manage Footprint Libraries -> Global Libraries -> Add the following entries (Note: It is best to add the library only after the import has been done with the plugin. Afterwards only the created libraries have to be imported. Lower entries are only for example.)

Active Nickname Library Path Library Format
✔️ Samacsys ${KICAD_3RD_PARTY}/Samacsys.pretty KiCad
✔️ Snapeda ${KICAD_3RD_PARTY}/Snapeda.pretty KiCad
✔️ UltraLibrarian ${KICAD_3RD_PARTY}/UltraLibrarian.pretty KiCad
✔️ EasyEDA ${KICAD_3RD_PARTY}/EasyEDA.pretty KiCad

Migrate the libraries

It is strongly recommended to migrate the libraries. If you see the “migrate the libraries” button, you have been using the plugin for some time. From now on, only the latest library format will be supported. If this does not work, the old format will continue to work.

GUI_migrate

By pressing “migrate the libraries” the following window appears. Depending on how many libraries you use, fewer libraries may be displayed. Now you can start the conversion process. Important: The conversion only works completely from KiCad 8.0.4. If possible, use the latest stable GitHub Release version.

Migration

Depending on the setup, further changes may be necessary. You will be notified if this is necessary. Press ok to apply them. A restart of KiCad is mandatory to apply the changes.

update setting

Warranty

None. Zero. Zilch. Use at your own risk, and please be sure to use git or some other means of backing up/reverting changes caused by this script. This script will modify existing lib, dcm, footprint or 3D model files. It is your responsibility to back them up or have a way to revert changes should you inadvertently mess something up using this tool.

Please write an issues if an import does not work as requested.

FAQ

Do I have to manually create a library that does not yet exist before using the plugin? No, you do not need to create a file manually. Your only task is to download your desired part from the internet and start the import process with the plugin.

Where can I save the library? It is possible to save the files in any place on your PC where you have read and write permissions. It is also possible to store the files on network drives or cloud storage to share the library with others. In the libraries relative paths are used, the absolute path is not considered.

Can I change the storage location? Yes, this is of course always possible. But you should keep in mind that the existing libraries will not be moved automatically. You would have to do that yourself if necessary.

If I import from one source, do I have to stay with that source, or can I import from all sources? For each source, a separate library is created for KiCad. Maximum actually three (Samacsys, Ultralibrarian and Snapeda), Octopart components as well as from other suppliers can be found in the Snapeda library. So if you import from a new source, a new library can be created. But maximum three.

Why are there two symbol libraries? In the latest version both the old and the "new" (since KiCad 6) symbol library format is imported. It is possible to prevent this by deselecting "import also old format". An automatic conversion from the old to the new format should only be done if you are an experienced KiCad user.

General KiCad Questions

I have entered a library in the settings in KiCad that does not exist at this time, what happens? You get a message that this library does not exist. Nothing more. As soon as it exists, it can be accessed.

Can I remove a library from the settings? Yes, you can always do that. The libraries are neither deleted nor edited in any way. They are just not included.

Todo List

  • Updating the library before an import kicad-cli sym upgrade
  • Updating the footprint library kicad-cli fp upgrade *.pretty
  • add jlcpcb parts to import (integrate uPesy/easyeda2kicad.py
  • Automatic background import
  • Test on a Mac
  • Testing all library formats
  • Using the new KiCad format
  • Possibility of automatic KiCad settings adjustment

If you notice an error then please write me an issue. If you want to change the GUI or the functionality, I am also open for ideas.

Create Issue

Support via Ko-fi

Many thanks to

wexi with impart and topherbuckley for the code on which the GUI is based. I would also like to thank uPesy for enabling the import of EasyEDA through his python project uPesy/easyeda2kicad.py (AGPL-3.0 license). I also thank the people who helped me find the errors in the code.