Open Source CAD systems for electronics

Wikipedia lists 17 FOSS (Free & Open Source Software) projects for electronic design automation (EDA): . Of these only three offer versions for the big three, Windows, Mac OS and Linux operating systems. The two main contenders are Fritzing and KiCad. Both have a slightly different orientation. The third, LibrePCB ( ) will not be discussed further because it is “… currently under heavy development to bring out first stable releases as soon as possible.”


Fritzing has all the parts needed to work with Raspberry Pi, Arduino and Node MCU’s

Fritzing is more for amateur/ hobby designers transitioning from prototype experimentation to building more permanent circuits. It was developed at the Interaction Design Lab at the Fachhochschule Potsdam, with version 0.0.4 coming out in 2007. As this is being written in March 2017, the current version is 0.9.3b from June 2016.

My experience with Fritzing is related to its use with the Arduino microcontroller. It provides a system for project documentation, where one can start with a conceptual design (using the schematic view) or simply build a prototype on a breadboard (using the protoboard view). From either of these, a printed circuit board layout can be created (using the PCB view). Among the standard board designs provided are Arduino shields and Raspberry Pi Hats (Hardware attached on top). Fritzing can be regarded as an EDA for non-engineers. PCBs can only consist of up to two layers (top and bottom). However, it does include a customizable design rule checker. Its website allows users to share and discuss their experiences. There is a code view option, which allows one to access, modify and upload code to an Arduino device.

One of the challenges with Fritzing is its Vendor lock-in. Its fabrication service,, forces people into using Aisler, which appears to be a German high-tech startup. Even if the people at Aisler are pleasant enough, and have improved on the PCB builds previously offered, including lower prices and higher quality, the result is still vendor lock-in.


A64-OLinuXino is a single-board computer running Linux & Android. The design based on a 64-bit ARM CPU and includes 1 or 2 GB DDR3 RAM, 4 GB flash memory, microSD card socket, WiFi & BLE4.0, Ethernet, HDMI & audio output. (photo: Olimex)

KiCad is a more mature product, that was originally created in 1992 by Jean-Pierre Charras while working at Instituts universitaires de technologie de Grenoble. Since then KiCad has gained a number of both volunteer and paid contributors. Since 2013, CERN (Conseil Européen pour la Recherche Nucléaire) has contributed resources towards KiCad to improve KiCad so that it is equal to commercial EDA tools.

KiCad version 4.0.0. was released in December 2015. This was the first version with advanced tools provided by CERN developers. There are five main parts to KiCad: 1) KiCad, the project manager window; 2) Eeschema, the schematics and components editor. This also contains 3) CvPcb, a footprint selector helper that runs from Eeschema. 4) Pcbnew, is a circuit board layout and footprint editor;  5) GerbView, the Gerber file viewer, is an important feature because many other EDA programs do not offer this ability. There are also three utilities, the PL Editor, the page layout editor; the IDF Exporter, that exports an IDFv3 compliant board (.emn) and library (.emp) file for communicating mechanical dimensions to a mechanical CAD package;  and the KiCad Plugin, a new plugin system to handle 3D models. Note: this is not currently available in KiCad 4.

Where to begin

The electronic hobbyist that focuses on Arduino or Raspberry Pi may find it easier to begin with Fritzing. In fact, if they have no objection to paying more for PCBs, they may opt to stay there. It is only if they have a need for PCBs with more than two layers that they need to go over to KiCad.

Others may opt to begin with KiCad, and its components, despite a steeper learning curve.  Documentation is provided in nine different languages, and three different formats (html, pdf and epub): Getting Started, provides an essential and concise guide to mastering KiCad. Several text-based as well as video-based tutorials have been prepared by KiCad users. See:

Over the next few weeks, I will begin learning about KiCad, with A KiCad Quick-Start Tutorial by Windsor Schmidt (~20 m), followed by a video series by Ashley Mills, that shows how to build a board from scratch (12 parts ~300 m). After this I will consider watching further videos by Chris Gammell (7 parts ~150 m).