KiCad is a free and open-source tool for creating schematics and designing printed circuit boards (PCBs). Since its initial release way back in 1992, it has steadily been gaining popularity and at Elektor too we are using it more and more often. One of its cool features is that it is extensible, allowing anyone with an interest in (Python) programming (and electronic design) to develop KiCad plugins and add-ons. 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.

Our selection

Here are a few plugins and toolboxes that we hand-picked for you. A nice list of KiCad plugins and utilities is maintained at https://github.com/xesscorp/kicad-3rd-party-tools.


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.

https://github.com/JarrettR/Stretch
 

Action plugin "Teardrops"
Action plugin "Teardrops" before (left) and after (right). Get it at https://github.com/NilujePerchut/kicad_scripts



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).

https://github.com/yaqwsx/KiKit


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.

https://github.com/openscopeproject/InteractiveHtmlBom


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.

https://github.com/easyw/RF-tools-KiCAD


KiCad-Diff – Python3 program for keeping track of PCB revisions with Git, SVN or 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.

https://github.com/Gasman2014/KiCad-Diff
 

KiCad Plugins - Example of an interactive report
Example of an interactive report generated by the action plugin 'Interactive HTML BOM'.


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.

https://xesscorp.github.io/KiField


Want to Learn More about KiCad Plugins and PCB Design?

Take out an Elektor membership today and never miss an article, project, or tutorial.