How to Install KiCad Version 6 and Organize Part Libraries

Tutorial on installing the latest KiCad version 6 on your Windows system and tips for organizing and managing part libraries.
How-to-Install-KiCad-Version-6-and-Organize-Part-Libraries-Featured-Image-01-2-1
How to install KiCad version 6 and manage part libraries.

One of the best things happened in 2021 for open source hardware enthusiasts is the development and release of KiCad version 6. It was a near-complete overhaul of the much admired open source EDA suite used by professionals and hobbyists alike. Even though the stable version is available for download, the documentation is still in the works and we do not know when it will be finished. So we thought we should write a afew brief tutorials on explaining the overall changes from version 5 to 6 and introduce KiCad to new folks who are starting with electronics. The reason is that version 5 was a little ambiguous and unintuitive for beginners who had been using some other EDA tools like Eagle. Compared to that, KiCad version 6 is way more beginner friendly.

In this tutorial we will walk you through the important changes with version 6, how to install it and how you should manage the KiCad symbol and footprint libraries on your system. If you are new to KiCad and your system is fresh, follow the first part of the tutorial. If you already have KiCad installed, presumably version 5, and want to keep it for some reason, follow the second part of the tutorial to learn how to manage multiple KiCad installations and libraries. We will be using the latest version 6 release on a 64-bit Windows machine. We also assume you are familiar with Git version control. If not, it’s a good time to learn it. Version control is essential for any iterative design processes such as PCB designing. We use git with KiCad.

Main Differences Between KiCad v5 and v6

  1. New File Formats: KiCad v6 uses a new non-backward compatible format for the schematic and PCB files. The new format is better than the old one and supports extensive features. To differentiate the new formats from old files, the file extensions have been changed. Schematic file has .kicad_sch, PCB file has .kicad_pcb and project file has .kicad_pro extensions. KiCad v6 can still open any old files but will be converted up on saving. So if you want to keep your old design files as it is, make a backup of them before opening in KiCad v6.

  2. New Application Names: Applications names have been changed to more straight-forward names such as Schematic Editor, PCB Editor etc. instead of eeschema, pcbnew etc.

  3. New Plugin and Content Manager (PCM): Previously we had to copy and paste plugin folders to some directory who know where to get custom plugins work. That has changed. We now have a dedicated plugin manager to find, install and update KiCad plugins.

  4. New Library Format: Similar to the file formats, we also got new library formats. The old library format will be called “Legacy Format” and the new one as “KiCad” (as how it appears on the library manager). You can convert your existing legacy libraries to the new format right from the new library manager.

  5. New Workflow: Previously we had to create netlists and manually import them to the PCB editor to start the PCB design – a process that never made sense at all. It was something the application should have been doing. That has been fixed. With KiCad v6, it is far easier to import changes from your schematic to PCB design and vice versa.

  6. Themes: Even though you could change the appearance of the schematic or the PCB in v5, themes are now supported by default in v6. You can create new themes and share with your friends as JSON files.

Part 1: Fresh Start

If you are a complete beginner to KiCad, it would be better to start understanding how KiCad is organized in your system. We can start by installing KiCad. First download the latest stable release for your operating system. The installer file you download will be around 1.5 GB. This is the standard installer and contains the application programs and the latest libraries pack. The programs alone would be under 200 MB. The remaining is for the libraries. A lite installer file is available but only for nightly builds.

Installation

Open the installer by double clicking it.

KiCad-Version-6-Standard-Installer-Setup-01
KiCad version 6 setup

First step is to choose what you want to install. The main application will be installed by default. If you are not maintaining any KiCad libraries yourself, then you can choose to install them from the installer package. Choose to install all three components; Schematic symbols, Footprints and 3D shapes. Each of these items belong to a separate library.

KiCad-Version-6-Standard-Installer-Setup-02
Choose components to install

It is also a good idea to install the demo projects. You can open these projects as soon as you finish the installation. The demo projects can give you an overall idea about KiCad’s capabilities. Also keep the file associations so that you can open KiCad files right from the file explorer.

KiCad-Version-6-Standard-Installer-Setup-03
It is a good idea to install demo projects

The next step is to choose where you want to install KiCad. Usually this should be your system folder (C:\). By default, KiCad will be installed to C:\Program Files\KiCad\6.0. This wasn’t the case with KiCad v5 which would be installed to C:\Program Files\KiCad. This also means that even if you have the v5 installed, there will be no conflicts installing the v6 along with it, as the files remain in separate folders. For this tutorial, we will use the default location.

KiCad-Version-6-Standard-Installer-Setup-04
Choose installation directory
KiCad-Version-6-Standard-Installer-Setup-05
Installation tree

With that we can finish the installation and KiCad icons would now appear on your desktop and start menu.

KiCad-Version-6-Standard-Installer-Setup-08
Setup finished

Installed Files

Now let’s look at the folder we just installed KiCad to. The bin has all the application files. share has all your libraries.

KiCad-Version-6-Root-Directory
KiCad version 6 root directory
KiCad-Version-6-share-Directory
share directory
KiCad-Version-6-Symbols-Directory
Symbols directory
KiCad-Version-6-Footprints-Directory
Footprints directory
KiCad-Version-6-3D-Shapes-Directory
3D shapes directory

Managing Libraries

When you make changes to any components from the standard library, such as symbols or footprints, those changes will be saved here. But what happens when there is a new version of KiCad and you want to install it? Currently KiCad does not have an update manager. You have to do it yourself. When you install a new version or even the same installer, all files in the root directory will be overwritten. Means you will lose all the changes you made to the component libraries. That can really become a headache when you open your project files later and see it complains about missing items.

KiCad 6’s new file format caches all symbols and footprints within the source files. This means, KiCad can rescue all changes you have made to symbols and footprints even if you have lost the source libraries.

So what’s the solution? Simple; keep your KiCad application directory and library directory separate. This way, you can always update your KiCad application by downloading and installing a new package without overwriting your modified libraries. But how do you tell KiCad where our libraries are at? There are two ways to do that; environment variables and path configurations.

Environment variables are OS-wide customizable placeholder values that you can use anywhere in your operating system. For example, if I had a variable like PYTHON and set the value to my Python installation directory, any running app can fetch the value of the PYTHON variable and thus the installed directory. This is useful because I can change the value of the variable at any time but the variable itself will remain unchanged. KiCad has a few set of such environment variables. KiCad checks the presence of these in your system when it runs. There are separate sets of v5 and v6 environment variables. This allows you to use different libraries for different installations.

  1. KICAD6_3DMODEL_DIR – This the location in your system where KiCad 3D shapes are stored. This is applicable only to v6.
  2. KICAD6_3RD_PARTY – This is where third party applications and extensions are saved. For example when you download a plugin, the packages are stored here.
  3. KICAD6_FOOTPRINT_DIR – This is where your footprints are located. Only applicable to v6.
  4. KICAD6_SYMBOL_DIR – This is where schematic symbol library is located. Only applies to v6.
  5. KICAD6_TEMPLATE_DIR – Templates are worksheets that you can use for your KiCad drawings. Only applies to v6.
  6. KICAD_SYMBOL_DIR – This is also schematic symbol library location but applies to v5.
  7. KICAD_TEMPLATE_DIR – v5 template directory.
  8. KICAD_USER_TEMPLATE_DIR – User created templates directory. We don’t know which version this applies to.
  9. KIGITHUB – This is the KiCad GitHub page link. KiCad currently being maintained at Gitlab though.
  10. KISYS3DMOD – 3D shapes library for v5.
  11. KISYSMOD – Footprint library location for v5.

You can see the values of these by going to Preferences > Configure Paths. If you have these environment variables present on your system, any value set from this window will be ignored. Means, the environment variables get precedence. For this reason, we do not use environment variables, and instead set the paths directly on the application.

KiCad-Version-6-Environment-Variables-and-Path-Configurations
KiCad version 6 environment variables and path configurations
Windows-11-Environment-Variables
We do not use environment variables for KiCad

So where should we store the libraries? Anywhere that you are confident that they won’t be overwritten by a new installation process. What we recommend is to keep your official libraries and custom libraries separate. This way, official libraries can be updated any time by a git-pull when there are new changes. Currently the official libraries are located at KiCad Libraries at Gitlab (the ones at KiCad Github are old types and now have been archived). You can clone this library to your system and keep it synced with latest changes.

KiCad-Version-6-Cloning-Libraries-from-Gitlab
Cloning official KiCad libraries from Gitlab

When you want to create custom symbols, footprints etc., save them to a custom library located elsewhere. With this method you can avoid lot of clashes and inconsistencies. Below is how we keep our libraries at CIRCUITSTATE.

KiCad-Version-6-Libraries
KiCad libraries
KiCad-Custom-User-Part-Libraries
Our custom footprint libraries

The Official has the official KiCad libraries cloned from Gitlab and the User has all of our custom part libraries. Our custom libraries are not public yet, but we will soon share them through our Github. We have to make many things right before we release them, that’s why.

Settings

Would you loose your KiCad settings if you installed a new version? Fortunately, no. KiCad’s setting are stored in a different folder located inside your user Roaming folder. In our case, this is C:\Users\Vishnu Mohanan\AppData\Roaming\kicad\6.0. Settings for v5 KiCad will be stored just inside the kicad folder. If you want to backup your settings, this is the folder you want to save. KiCad v6 saves most configurations as JSON files.

KiCad-Version-6-Settings-Directory

Part 2: Side Loading and Migration

Can you install multiple versions of KiCad and maintain multiple versions of libraries on the same system? You can. Every major changes made to KiCad v6 is done in a way that is backward compatible. Therefore all your old project files, design files, libraries etc. will be openable in KiCad v6, but workable only after you convert them to the new formats. If you want to keep your old version of KiCad for some reason, you can do so by using separate installation directories and library locations.

If you do not want to keep old versions but you have custom libraries in old formats, you can do a complete migration to KiCad v6 by converting all your existing libraries from legacy version to the new version. This can be done from the Libraries Manager window. This makes sure that all your old footprints symbols will become compatible and extensible with the new v6. Every other steps are identical to what we have explained in Part 1. Sometimes KiCad will ask you to set Global Symbol/Footprint Libraries Table if it can not find where your libraries are located. In that case, set your path configuration to the right locations and locate the fp-lib-table and sym-lib-table files.

KiCad-Version-6-Migrate-Libraries-OptionvKiCad-Version-6-Migrate-Libraries-Option
Find the migrate option for legacy formats

That’s all about this tutorial. Hope this helps you to get started with KiCad v6 in an organized way. Let us know if you have any improvement suggestions. Our next tutorial will be on designing your first schematic and PCB. Happy KiCading.

  1. Download KiCad Version 6
  2. KiCad Source Code – Gitlab
  3. Official KiCad Part Libraries – Gitlab
Share to your friends
Default image
Vishnu Mohanan
Founder and CEO at CIRCUITSTATE Electronics
Articles: 42

Leave a Reply