KiCad (pronounced "Key-CAD") is a free software suite for electronic design automation (EDA). It facilitates the design of schematics for electronic circuits and their conversion to PCB designs. KiCad was originally developed by Jean-Pierre Charras. It features an integrated environment for schematic capture and PCB layout design. Tools exist within the package to create a bill of materials, artwork, Gerber files, and 3D views of the PCB and its components.
KiCad was created in 1992 by Jean-Pierre Charras while working at IUT de Grenoble. Since then KiCad has gained a number of both volunteer and paid contributors. Notably in 2013 the CERN BE-CO-HT section started contributing resources towards KiCad to help foster open hardware development by helping improve KiCad to be on par with commercial EDA tools.
KiCad adopted a point release versioning scheme in December 2015 starting with KiCad 4.0.0. This was the first release featuring the more advanced tools implemented by CERN developers. CERN hopes to contribute further to the development of KiCad by hiring a developer through donations. Contributions may be made through the links on KiCad's website.
The KiCad suite has five main parts:
- KiCad – the project manager.
- Eeschema – the schematic capture editor.
- Pcbnew – the PCB layout program. It also has a 3D view.
- GerbView – the Gerber viewer.
- Bitmap2Component – tool to convert images to footprints for PCB artwork.
KiCad uses an integrated environment for all of the stages of the design process: Schematic capture, PCB layout, Gerber file generation/visualization, and library editing.
KiCad is a cross-platform program, written in C++ with wxWidgets to run on FreeBSD, Linux, Microsoft Windows and Mac OS X. Many component libraries are available, and users can add custom components. The custom components can be available on a per-project basis or installed for use in any project. There are also tools to help with importing components from other EDA applications, for instance EAGLE. There are also third party libraries available for KiCad, including SnapEDA, and the Digi-Key KiCad Library. Configuration files are in well documented plain text, which helps with interfacing version control systems, as well as with automated component generation scripts.
Multiple languages are supported, such as Bulgarian, Catalan, Chinese, Czech, Dutch, English, Finnish, French, German, Greek, Hungarian, Italian, Japanese, Korean, Lithuanian, Polish, Portuguese, Russian, Slovak, Slovene, Spanish, and Swedish.
Eeschema has features including hierarchical schematic sheets, custom symbol creation, and an ERC (electrical rules check). Schematic symbols in Eeschema are very loosely coupled to footprints in Pcbnew to encourage reuse of footprints and symbols (e.g. a single 0805 footprint can be used for capacitors, resistors, inductors, etc.).
Internally Pcbnew supports up to 32 copper layers and 32 technical layers. Dimensions are stored with nanometer precision in signed 32-bit integers making the theoretical maximal PCB dimension 231 nm, or approximately 2.14 meters.
Currently Pcbnew is being heavily refactored, including getting a new rendering engine (called the graphics abstraction layer, or GAL) with OpenGL and Cairo back ends. Pcbnew is also getting a new tool framework to more easily allow developers to add tools without having to deal with supporting multiple renderers. Due to this some tools are only available on the legacy XOR-based renderer and some are only available with the GAL renderers.
KiCad has a built-in autorouter for basic, single connections. Alternatively, Alfons Wirtz's open-source Java-based FreeRouting can be used to externally autoroute boards. Anthony Blake's Toporouter, a topological autorouter developed in 2008 for gEDA PCB as a Google-funded open source project mentored by DJ Delorie, has been adapted for use with KiCad as well.
A DRC (design rules check) is available to check for common logical errors.
Some recent additions follow.
An interactive router, which features the ability to walk around existing traces in the way or shove existing traces into a different position while maintaining their connectivity.
High-speed PCB routing tools such as track-length matching and differential pair support.
Python scripting support.
- Comparison of EDA software
- List of free and open source software packages
- List of free electronics circuit simulators
- ""KiCad Developers" team". Archived from the original on 2018-07-29. Retrieved 2018-07-29.
- Halvick, Remy (2007-07-08). "Re: About KiCad first release". kicad-users.
[…] JP Charras said me that the first drafts were made in 1992 for a DOS version, but not diffused […]
- "5.1.6 Milestone". GitHub. Retrieved 2020-05-14.
- Manveru (2009-10-13). "KiCad". Archived from the original on 2018-07-29. Retrieved 2011-01-20.
- "kicad-i18n - Translations for KiCad source code".
- "KiCad Program License". Archived from the original on 2018-07-29. Retrieved 2016-07-12.
- Stambaugh, Wayne (2018-02-03) . "KiCad Version 5 New Feature Demo". Archived from the original on 2018-07-29.
- "Kicad". iut-tice.ujf-grenoble.fr. Archived from the original on 2015-12-21. Retrieved 2015-12-29.
- "Digi-Key KiCad Library".
- Wirtz, Alfons (2014-03-08) . "FreeRouting - Printed Circuit Board Routing Software from FreeRouting.net". Archived from the original on 2017-09-23. Retrieved 2017-09-24.
- Blake, Anthony (2009-07-07) . "Topological Autorouter - Introduction". Archived from the original on 2011-02-27.
- "Olimex Ltd."