One of the best things that 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 few 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 KiCad 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 process such as PCB designing. We use Git with KiCad.
Main Differences Between KiCad v5 and v6
- 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. The 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 upon saving. So if you want to keep your old design files as it is, make a backup of them before opening them in KiCad v6.
- New Application Names: Applications names have been changed to more straightforward names such as Schematic Editor, PCB Editor, etc. instead of eeschema, pcbnew, etc.
- New Plugin and Content Manager (PCM): Previously we had to copy and paste entire plugin folders to some directory in order to get the plugins to work. That has changed. We now have a dedicated plugin manager for finding, installing, and updating KiCad plugins.
- 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.
- 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.
- 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 them 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.
Open the installer by double-clicking it.
The 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 libraries, Footprint libraries, and Footprint 3d models. Each of these items belongs to a separate library.
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.
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.
With that, we can finish the installation and KiCad icons would now appear on your desktop and start menu.
Now let’s look at the folder we just installed KiCad to. The bin has all the application files. share has all your 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. This 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 complaining about missing items.
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 sets 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.
KICAD6_3DMODEL_DIR– This is the location in your system where KiCad 3D shapes are stored. This is applicable only to v6.
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.
KICAD6_FOOTPRINT_DIR– This is where your footprints are located. Only applicable to v6.
KICAD6_SYMBOL_DIR– This is where the schematic symbol library is located. Only applies to v6.
KICAD6_TEMPLATE_DIR– Templates are worksheets that you can use for your KiCad drawings. Only applies to v6.
KICAD_SYMBOL_DIR– This is also a schematic symbol library location but applies to v5.
KICAD_TEMPLATE_DIR– v5 template directory.
KICAD_USER_TEMPLATE_DIR– User-generated templates directory. We don’t know which version this applies to.
KIGITHUB– This is the KiCad GitHub page link. KiCad is currently being maintained at Gitlab though.
KISYS3DMOD– 3D shapes library for v5.
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. This means the environment variables get precedence. For this reason, we do not use environment variables and instead set the paths directly on the application.
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 at any time with 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 the latest changes.
When you want to create custom symbols, footprints, etc., save them to a custom library located elsewhere. With this method, you can avoid a lot of clashes and inconsistencies. Below is how we keep our libraries at CIRCUITSTATE.
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.
Would you lose your KiCad settings if you installed a new version? Fortunately, no. KiCad’s settings 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.
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 change 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 the 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.
That’s all for 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 🔌
- Short URL to this page – https://circuitstate.com/installki6