Learn ESP32, ESP8266, Arduino, and Raspberry Pi

KiCad overview

We will go inside and have a look at KiCad, KiCad project manager and its components.

Tag: Project 135d KiCad overview.

Project resources

  • Sketch: None;
  • Libraries: None;
  • Other attachments: None.

What is KiCad?

KiCad is an open source software suite for Electronic Design Automation (EDA). The programs handle Schematic Capture, and PCB Layout with Gerber output. The suite runs on Windows, Linux and macOS and is licensed under GNU GPL v3.

KiCad logo
KiCad logo

The first release date was in 1992 by its original author, Jean-Pierre Charras, but is now currently under development by the KiCad Developers Team. The name of KiCad comes from the first letters of a company of Jean-Pierre Charras’ friend “Ki” being combined with “Cad”. But it now has no meaning other than being the name of the software suite.

KiCad is a free, easy to download software that is used for electronic design automation (EDA) and computer-aided design (CAD). While using this program, PCB design schematics can be realized from their electrical circuits. Within, there are tools that allow the creation of a bill of materials (BOM), artwork, 3D view of the PCB + components and Gerber files. From the workflow of KiCad working process, kiCad offers using of import or export methods to make the process of doing the project easier by adding done and completed projects or components and just modifying on them then export them to the wanted file extension.

Despite its similarities with other PCB design software, KiCad is characterised by a unique workflow in which schematic
components and footprints are separate. Only after creating a schematic are footprints assigned to the components.

The KiCad workflow is comprised of two main tasks: drawing the schematic and laying out the board. Both a
schematic component library and a PCB footprint library are necessary for these two tasks. KiCad includes many
components and footprints, and also has the tools to create new ones. In the picture below, you see a flowchart representing the KiCad workflow. The flowchart explains which steps you need to take, and in which order. When applicable, the icon is added for convenience.

kicad workflow

Beneath its singular surface, KiCad incorporates an elegant ensemble of the following software tools:

  • KiCad: Project manager
  • Eeschema (Schematic layout editor): Schematic editor and component editor
  • Pcbnew (PCB layout editor): Circuit board layout editor and footprint editor
  • GerbView (Gerber Viewer): Gerber viewer

3 utility tools are also included:

  • Bitmap2Component: Component maker for logos. It creates a schematic component or a footprint from a bitmap picture.
  • PcbCalculator: A calculator that is helpful to calculate components for regulators, track width versus current, transmission lines, etc.
  • Pagelayout Editor: Page layout editor.

These tools can be run as stand-alone tools or run from the project manager when you start kiCad.

KiCad does not present any board-size limitation and it can handle up to 32 copper layers, 14 technical layers and 4 auxiliary layers.

KiCad can create all the files necessary for building printed circuit boards, including:

  • Gerber files for photo-plotters
  • drilling files
  • component location files

Being open source (GPL licensed), KiCad represents the ideal tool for projects oriented towards the creation of electronic hardware with an open-source flavour.

KiCad is available for Linux, Windows and Apple macOS. System Requirements (hardware, software and specific) are well described here.

Step by Step Instruction

We assume that you have the KiCad v5 already installed.

Double-click on the KiCad shortcut to start the program.

shortcut KiCad

You will see KiCad project manager window opened.

Kicad project manager and its components

KiCad project manager is a tool which can easily run the other tools (schematic and PCB editors, Gerber viewer and utility tools) when creating a design. Running the other tools from KiCad manager has some advantages:

  • cross probing between schematic editor and board editor.
  • cross probing between schematic editor and footprint selector (CvPcb).

However, you can only edit the current project files. When these tools are run in stand alone mode, you can open any file in any project but cross probing between tools can give strange results.

KiCad overview
  1. Window title. Shows the version of KiCad and full path to the file in use.

2. Main top menu. Contains a list of options or commands presented to the user.

3. Top toolbar. KiCad top toolbar allows for some basic file operations:

  • new project. Create a new project. If the default template file ( is found in kicad/template, it is copied into the working directory.
  • new project with template. Create a new project from an existing template.
  • open project. Open an existing project.
  • save project. Update and save the current project tree.
  • zip. Create a zip archive of the whole project. This includes schematic files, libraries, PCB, etc.
  • reload. Refresh the tree view, sometimes needed after a tree change.

4. Project tree view. The project tree view contains the files and directories that make up your project. If you have just installed KiCad, then this area will be empty. Double-clicking on the schematic file runs the Schematic layout editor, in this case opening the file KiCardProject3.sch. Double-clicking on the board file runs the PCB layout editor, in this case opening the file KiCardProject3.kicad_pcb. Right clicking on any of the files in the project tree allows generic file manipulation.

5. Utility launch pane. The launch pane is made of the 8 buttons below that correspond to the following commands (1 to 8, from left to right):

kicad launch pane
1EeschemaSchematic Layout editor.
2Symbol EditorComponent editor and component library manager.
3PcbnewPCB layout editor.
4Footprint EditorFootprint editor and footprint library manager.
5GerbviewGerber viewer. It can view Gerber files and display Drill files.
6Bitmap2componentBitmap to component converter. Tool to build a footprint or a component from a B&W bitmap image to create logos.
7Pcb CalculatorTool to calculate track widths, and many other things.
8Pagelayout EditorPage layout editor, to create/customize frame references.

6. Message window. Contains a list of all activities done within KiCad project manager.

KiCad files and folders

KiCad creates and uses files with the following specific file extensions (and folders) for Schematic layout and PCB layout editing.

KiCad project manager file:

*.proSmall file containing a few parameters for the current project, including the component library list.

Schematic Layout Editor files:

*.schSchematic files, which do not contain the components themselves.
*.libSchematic component library files, containing the component descriptions: graphic shape, pins, fields.
*.dcmSchematic component library documentation, containing some component descriptions: comments, keywords, reference to data sheets.
*_cache.libSchematic component library cache file, containing a copy of the components used in the schematic project.
sym-lib-tableSymbol library list (symbol library table): list of symbol libraries available in the schematic layout editor.

PCB layout editor files and folders:

*.kicad_pcbBoard file containing all info but the page layout.
*.prettyFootprint library folders. The folder itself is the library.
*.kicad_modFootprint files, containing one footprint description each.
*.brdBoard file in the legacy format. Can be read, but not written, by the current PCB layout editor.
*.modFootprint library in the legacy format. Can be read by the footprint or the PCB layout editor, but not written.
fp-lib-tableFootprint library list (footprint library table): list of footprint libraries (various formats) which are loaded by the board or the footprint editor or CvPcb.

Common files:

*.kicad_wksPage layout description files, for people who want a worksheet with a custom look.
*.netNetlist file created by the schematic, and read by the board editor. This file is associated to the .cmp file, for users who prefer a separate file for the component/footprint association.

Special file:

*.cmpAssociation between components used in the schematic and their footprints. It can be created by Pcbnew and imported by Eeschema. Its purpose is to import changes from Pcbnew to Eeschema, for users who change footprints inside Pcbnew (for instance using Exchange Footprints command) and want to import these changes in schematic.

Other files:

They are generated by KiCad for fabrication or documentation.

*.gbrGerber files, for fabrication.
*.drlDrill files (Excellon format), for fabrication.
*.posPosition files (ASCII format), for automatic insertion machines.
*.rptReport files (ASCII format), for documentation.
*.psPlot files (Postscript), for documentation.
*.pdfPlot files (PDF format), for documentation.
*.svgPlot files (SVG format), for documentation.
*.dxfPlot files (DXF format), for documentation.
*.pltPlot files (HPGL format), for documentation.

KiCad shortcut keys

KiCad has two kinds of related but different shortcut keys: accelerator keys and hotkeys. Both are used to speed up working in KiCad by using the keyboard instead of the mouse to change commands.

Accelerator keys. Accelerator keys have the same effect as clicking on a menu or toolbar icon: the command will be entered but nothing will happen until the left mouse button is clicked. Use an accelerator key when you want to enter a command mode but do not want any immediate action. Accelerator keys are shown on the right side of all menu panes:

Accelerator keys

Hotkeys. A hotkey is equal to an accelerator key plus a left mouse click. Using a hotkey starts the command immediately at the current cursor location. Use a hotkey to quickly change commands without interrupting your workflow. To view hotkeys within any KiCad tool go to Help -> List Hotkeys or press Ctrl+F1 on your keyboard:


You can edit the assignment of hotkeys, and import or export them, go to the Preferences ->Preferences…-> Hotkeys.


KiCad paths configuration

In KiCad, an environment variables used to define the paths for libraries, 3D shapes, etc. This is useful when absolute paths are not known, when you transfer a project to a different PC or when one base path is shared by many similar items. The following items may be installed in different locations:

  • Eeschema component libraries
  • Pcbnew footprint libraries
  • 3D shape files used in footprint definitions

KiCad environment variables:

  • KICAD_PTEMPLATES. Templates used during project creation (DEPRECATED as of version 5.0.0-rc2, use KICAD_TEMPLATE_DIR instead). If you are using this variable, it must be defined.
  • KICAD_SYMBOL_DIR. Base path of symbol library files.
  • KIGITHUB. Frequently used in example footprint lib tables. If you are using this variable, it must be defined.
  • KISYS3DMOD. Base path of 3D shapes files, and must be defined because an absolute path is not usually used.
  • KISYSMOD. Base path of footprint library folders, and must be defined if an absolute path is not used in footprint library names.
  • KICAD_TEMPLATE_DIR. Location of templates installed with KiCad.
  • KICAD_USER_TEMPLATE_DIR. Location of user templates.

Please note that the environment variable KIPRJMOD is always internally defined by KiCad, and is the current project absolute path. If you modify the configuration of paths, please quit and restart KiCad to avoid any issues in path handling.

KiCad tools

Let’s concentrate on the eight large buttons in the utility launch pane (right side of the KiCad project manager). These buttons give access to the tools that come with KiCad.

1.Schematic Layout Editor (Eeschema) is an integrated application where all functions of drawing, control, layout, library management and access to the PCB design software are carried out within Eeschema itself. Eeschema is intended to cooperate with PcbNew, which is KiCad’s printed circuit design software. It can also export netlist files, which lists all the electrical connections, for other packages. Eeschema includes a symbol library editor, which can create and edit symbols and manage libraries. It also integrates the following additional but essential functions needed for modern schematic capture software: Electrical rules check (ERC) for the automatic control of incorrect and missing connections; Export of plot files in many formats (Postscript, PDF, HPGL, and SVG); Bill of Materials generation (via Python or XSLT scripts, which allow many flexible formats).

Schematic Layout Editor (Eeschema)

2. Symbol Editor. A symbol is a schematic element which contains a graphical representation, electrical connections, and fields defining the symbol. Symbols used in a schematic are stored in symbol libraries. Eeschema provides a symbol library editing tool that allows you to create libraries, add, delete or transfer symbols between libraries, export symbols to files, and import symbols from files. The library editing tool provides a simple way to manage symbol library files.

Symbol Editor

3. PCB Layout Editor (Pcbnew) is used the information from Eeschema to create PCB boards. Pcbnew manages libraries of footprints; provides a design rules check (DRC) tool which prevents track and pad clearance issues as well as preventing nets from being connected that aren’t connected in the netlist/schematic; provides a rats nest display, a hairline connecting the pads of footprints which are connected on the schematic. Pcbnew has a simple but effective autorouter to assist in the production of the circuit board. An Export/Import in SPECCTRA dsn format allows the use of more advanced auto-routers. Pcbnew provides options specifically provided for the production of ultra high frequency microwave circuits (such as pads of trapezoidal and complex form, automatic layout of coils on the printed circuit, etc).

PCB Layout Editor (Pcbnew)

4. Footprint Editor enables the creation and the editing of footprints:

  • Adding and removing pads.
  • Changing pad properties (shape, layer) for individual pads or globally for all pads of a footprint.
  • Editing graphic elements (lines, text).
  • Editing information fields (value, reference, etc.).
  • Editing the associated documentation (description, keywords).

Footprint Editor allows the maintenance of the active library as well by:

  • Listing the footprints in the active library.
  • Deletion of a footprint from the active library.
  • Saving a footprint to the active library.
  • Saving all of the footprints contained by a printed circuit.

It is also possible to create new libraries.

Footprint Editor

5. Gerber Viewer (GerbView) is an application that gives you a view of a set of files (Gerber files (RS-274X format) and Excellon drill file) that are exported from Pcbnew. These files you will give to the PCB manufacturer to make the actual PCB board. Just before you do that, you can inspect these files visually with GerbView.

Gerber Viewer (GerbView)

6. Bitmap to Component Converter allows you to convert an image into a footprint which you can put on your PCB board. For example, logo image of your company or a graphic that you would like to put on your PCB boards. To do that, you should convert a graphic into a footprint using Bitmap to Component Converter.

Bitmap to Component Converter

7. PCB Calculator is a set of utilities to help you find the values of components or other parameters of a layout. The Calculator has the following tools:

  • Regulators. This calculator helps with the task of finding the values of the resistors needed for linear and low-dropout voltage regulators.
  • Track Width. The Track Width tool calculates the trace width for printed circuit board conductors for a given current and temperature rise. It uses formulas from IPC-2221 (formerly IPC-D-275).
  • Electrical Spacing. This table helps finding the minimum clearance between conductors. Each line of the table has a minimum recomended distance between conductors for a given voltage (DC or AC peaks) range. If you need the values for voltages higher than 500V, enter the value in the box in the left corner and press Update Values.
  • Trans Line. Transmission line theory is a cornerstone in the teaching of RF and microwave engineering. In the calculator you can choose different sorts of Line Types and their special parameters. The models implemented are frequency-dependent, so they disagree with simpler models at high enough frequencies. This calculator is heavilly based on Transcalc.
  • RF Attenuators. With the RF Attenuator utility you can calculate the values of the resistors needed for different types of attenuators: PI, Tee, Bridged Tee, Resistive Splitter.
  • Color Code. This calculator helps translating the color bars from the resistor to its value.
  • Board Classes. Contains a table with Performance Classes and PCB types.

8. Page Layout Editor is a tool to create custom title blocks, and frame references. The title block and other graphic items (logos) is called here a Page layout editor.

Page Layout Editor

Wrapping up

We have learnt about KiCad, KiCad project manager and its components.

If you need more information on PCB and design, check out Printed circuit board and terms used in connection with PCB design and manufacturing

Thank you for reading and supporting us.

Check for more DIY projects on and!

If you are looking for high quality PCBs PCBWay is the best choice: