Kicad is a computer-aided electronic board design software suite. The Kicad project was initiated in 1992 by Jean-Pierre CHARRAS, a professor at IUT in Saint-Martin-d’Hères (Grenoble) and a researcher at the fire LIS (Laboratory of Images and Signals of Grenoble).
Originally, it was a project for the author to learn the C++ language. And as he said on the old Kicad site: now he knows C++ :).
The software suite includes everything needed to design the PCB of an electronic board:
- schema entry with Eeschema,
- component placement and routing with PcbNew,
- the generation of the files necessary for the production, assembly and testing of the circuits: Gerber manufacturing files, list of components, “netlist” indicating how they are connected,
- and even a 3D card visualization software called 3D viewer which exports in industrial 3D formats for the integration of the card in the product.
The images and screenshots in this dispatch come from the Kicad 6 release note and are licensed under Creative Commons CC-BY 3.0 or GPL 3.0 as desired.
For a very long time, Kicad had the reputation of a complete software for designing simple electronic boards, but reserved for an audience of hackers or simple enthusiasts. The routing part had to be done entirely “by hand”, which made the design of complex boards really tedious. Not to mention the regular software crashes.
Until 2006, the project was developed solely by Jean-Pierre Charras and his students, with the sources distributed in the form of a tar archive, without a version manager (we were already talking about it at Linuxfr in 2005). It was not until 2007 that some users convinced him to create a SourceForge project to be able to manage external contributions. Subsequently, the code was reworked to harmonize formatting, translate comments from French to English, set up a compilation system based on CMake, set up Doxygen…
The first versions of Kicad did not have an automatic router and all the tracks had to be positioned by hand. Subsequently, the Freeroute online service was integrated into Kicad, but then disappeared due to licensing issues.
Since 2012, CERN has been interested in this software, and has made employees available to improve it.
CERN has adapted Kicad for its own purposes, in particular by adding tools to route tracks into differential pairs. These are tracks that must be the same length and follow different rules to carry signals that are more resistant to interference. Differential pairs are used for example for USB, Ethernet, and many other protocols requiring high frequency signals. These changes were published in version 4 (and we were still talking about it at Linuxfr) with a lot of work on the PCB editor: new display modes using Cairo or OpenGL, track routing push and shove which allows several tracks to be moved automatically to make room for routing an additional one, etc.
After the publication of this version, in 2017, Eagle (a competing software that was very popular among enthusiasts, because there was a limited free version) was acquired by Autodesk, which implemented a subscription licensing system (with a limited duration, and mandatory connection to the license server at least every 15 days). This has prompted many Eagle users to migrate to Kicad, and Kicad version 5 allows direct import of Eagle projects to facilitate this migration.
At the same time, Digi-Key (a reseller of electronic components) began supporting Kicad financially, first with the acquisition of the domain name kicad.org (which had previously belonged to a cybersquatter), then with sponsorship of the project.
Today, Kicad allows the production of complex circuits (up to 64 superimposed layers) and most electronic component manufacturers directly provide the footprints of their components in the format used by Kicad, thus facilitating the use of these components.
An example of a fairly complex project: some electronic boards for System76’s Thelio computers are designed with Kicad (the files are published on their GitHub account). It is possible that other companies design their motherboards with it, but without shouting it from the rooftops.
New in version 5
There was no dispatch on Kicad 5, so let’s do a little catching up on what’s new:
- Migration from bazaar to git for source management. Using Github for Git repositories of component footprints and symbols (but not for source code)
- Integration with ngspice for electrical schematic simulation.
- Many improvements in the schematic editor (search by regexp in the component library, automatic alignment of labels with the corresponding components, possibility to draw lines with different colors and patterns…)
- Direct update of the PCB editor from the schematic, without going through an intermediate netlist file.
- Highlighting a net with all components connected, synchronized between the schematic editor and the PCB editor.
- Rewrite of the 3D viewer with support for ray-tracing for more realistic renderings, and also with the import and export of 3D models in the format STEP. The STEP format allows for example to import the 3D model of the circuit (with the components) into FreeCAD to design the box that will go around it.
- Rewrite of the symbol library editor which makes it easier to copy a component from one library to another, rename a symbol, and edit its graphical representation.
- Rectangular pads with rounded corners.
- Automatic component spreading when creating a new PCB.
- Mirrored view in the PCB editor (to see the back of the board upright).
Antialasing of OpenGL rendering and possibility to display layers of the printed circuit in a partially transparent way (to see the other layers below).
- Export of PCBs in GERBER X2.
- Display of clearance when routing push and shove.
- Improved libraries of symbols, component footprints, and 3D models.
- Migration of GERBER file viewer (printed circuit board production files) to OpenGL.
This version finally came out early for Christmas. After version 6, the release date will be set on the FOSDEM show. The idea is to release the major version on January 31 and open the window for new features (feature merge window) for the next release on February 1.
So what are these new features integrated into version 6?
- Migration from Github and Launchpad to Gitlab to have all Git repositories in the same place and to be able to accept contributions by “merge requests” (this is not possible on Launchpad)
- Change of icons and harmonization of the interface of the different tools.
- Redesign of the format of schematic files (this had already been done for PCB files). The new format allows used component symbols to be included directly in the file, avoiding problems if the used symbol library is no longer available.
- Migration to Python 3 and GTK 3 for the Linux version (still through WxWidgets).
- Improved printing (using Cairo).
- Removal of the old graphics rendering engine (there were two engines usable in parallel in Kicad in previous versions, the new one being faster, but missing some features). Use of the new engine for the schematic editor allowing new functionalities: assigning a color to a net (set of wires connected together), grouping of signals in a bus
- In the PCB editor: colorization of each track with a different color, masking of parts of the ratsnest (markers indicating parts of the circuit that have not yet been connected), saving presets of the editor (to easily go to a specific area of the PCB), configuration of the opacity of the display for the tracks, vias and pads separately.
- Possibility of having tracks in an arc and not just in a straight line, hatched filling areas.
- Router improvement and optimization push and shove
- In the 3D viewer, real-time highlighting of selected elements in the PCB editor
- A new system to define the constraints to be checked for the DRC (Design Rules Check) allowing to have rules applying to only certain areas or certain nets.
Kicad is now CAD software “that counts” in the electronic design landscape. This software is supported by most PCB and electronic board manufacturers. Supported by the Linux Foundation since 2019, the development team can also count on corporate sponsors to ensure its sustainability and future development.
With the support of online PCB fabrication services, it has also become the tool of choice for all electronics tinkerers. It is now much easier and cheaper to make a four-layer board of industrial quality by ordering it on the internet than to make a two-layer board yourself with ferric chloride and a mini drill in your cellar.