4184

One of the cool features of KiCad is that it is extensible, allowing anyone to develop plugins and add-ons for it.

KiCad is a free and open-source tool for creating schematics and designing printed circuit boards (PCBs). Although its initial release was way back in 1992, its current version is only 5. It has steadily been gaining popularity and at Elektor too we are using it more and more.

One of the cool features of KiCad is that it is extensible, allowing anyone with an interest in (Python) programming (and electronic design) to develop plugins and add-ons for it. This has resulted in a multitude of tools and utilities being shared online. Some are more useful than others, and your mileage may vary, but checking some of them out may be worth it.  Things that you may want to know off 
  1. When installed properly so-called ‘Action Plugins’ are available from Pcbnew’s menu ‘Tools -> External Plugins…’ and do something with the design currently loaded in Pcbnew. Stand-alone tools do not need Pcbnew to be running but can use its functions to work with data from files.
  2. On Windows (and Mac-OS?) KiCad installs its own Python interpreter, which means that the ‘pcbnew’ module is not installed in a system-wide Python installation you may have. Furthermore, KiCad does not allow libraries with binary dependencies. Certain add-ons and toolboxes may therefore not work on Windows, so check this first before complaining about any problems you might encounter. This problem is hopefully resolved by a future version of KiCad.
  3. Details on plugin development for KiCad can be found at GitHub. Here you can also find the path to the folders where plugins must be installed. 
Our selection Here are a few plugins and toolboxes that we hand-picked for you. Here is a nice list of plugins and utilities for KiCad.

Stretch – Action Plugin to make pretty PCBs. Paradoxically, even though KiCad is essentially a drawing program, it is not particularly good at it. Drawing straight lines works great, but curvy lines and complex shapes are not its strong points. Stretch remedies that by allowing PCB designs to be exchanged with Inkscape. Typical PCB design things are done in Pcbnew, artistic touches and other complex operations are added in Inkscape and the design is exported back to Pcbnew to e.g. generate production files.

KiKit – Python toolbox for automatically producing panels, exporting production files, and creating board presentation pages. To make good use of this toolbox some knowledge of Python programming may come in handy. Note that due to Python issues related to KiCad this toolbox does not work on Windows (see inset).

Interactive HTML BOM – Action Plugin to create not only a bill of materials (BoM), but also an interactive component placement document that highlights graphically where a BoM part is located on the PCB. Parts can be searched by value or individually. Besides knowing where the parts go, this plugin also knows all the nets. This greatly speeds up locating a component or signal for board assembly, testing or repair.

RF-Tools for KiCAD – This collection of Action Plugins facilitates the design of high-frequency and RF boards with features like track corner rounding, track length calculation, via fencing and solder mask expansion. It also has some utilities for RF footprint creation.

KiCad-Diff – Python3 program for keeping track of PCB revisions supporting Git, SVN and Fossil. It can generate visual as well as textual reports as a web page showing the differences between two revisions of a board design. Works on Linux, Mac-OS and Windows.

KiField – A Python utility to extract all the component fields from a schematic or a library and place them into a spreadsheet for bulk editing. Field values can be modified, and new fields can even be added. When done the updated fields can be inserted back into the schematic or library.