Learn ESP32, ESP8266, Arduino, and Raspberry Pi

Installing the third party plugin for KiCad

We will learn how to install plugin for KiCad – SnapEDA. You can use this DIY project as the reference for any KiCad plugin installation.

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. Here are a few plugins and toolboxes that we hand-picked for you. A nice list of KiCad plugins and utilities located here.

Tag: Project 135b Installing the third party plugin for KiCad v5.

Project resources

  • Sketch: None;
  • Libraries: None.

Third party tools, plugins and addons

Schematic Tools

Schematic Entry Tools

  • Skidl – A module that allows you to compactly describe the interconnection of electronic circuits and components using Python. The resulting Python program performs electrical rules checking for common mistakes and outputs a netlist that serves as input to a PCB layout tool such as KiCad’s PCBNEW.
  • KiField – A utility for manipulating part fields in KiCad schematics. KiField can extract all the component fields from a schematic and place them into a spreadsheet for bulk editing, after which you can insert the edited values from the spreadsheet back into the schematic.
  • KiCad Partslist Editor – KiCad Partslist Editor (PLE) allows you to export/import customizable fields from a hierarchical KiCad schematic file to and from a CSV
  • qucs2kicad – Convert Quite Universal Circuit Simulator schematics to KiCad schematics.
  • KiCad Sheet Rearranger – Simple tool for defining a certain oder of multiple sub-sheets in a schematic project
  • KiCad2sycira – Symbolic circuit analyzer for the Maxima computer algebra system. Using KiCad Eeschema for circuit enrtry.

Symbol Library Tools

  • Kicad-tools/libgen – A Python script to generate schematic symbols from XML input.
  • Quick Library Generator – A web service to generate common “box type” symbols for ICs from pin descriptions.
  • KiPart – A utility that generates single and multi-unit symbols from a CSV file containing all the pin information for one or more parts.
  • KiField – A utility for manipulating part fields in KiCad symbol libraries. KiField can extract all the component fields from a library and place them into a spreadsheet for bulk editing, after which you can insert the edited values from the spreadsheet back into the library.
  • QEDA QEDA is a Node.js library aimed to simplify the creation of Kicad libraries of electronic components. Qeda creates both symbols for Eeschema libraries and IPC7351 Compliant footprints for PcbNew placement.
  • kicadLibCreator KicadLibCreator is a tool which will generate ‘atomic’ parts from an Octopart query. By setting up some simple rules, entering a part number in the Octopart search and selecting the appropriate model will add a fully defined component with a consistant style to any library.
  • KiCAD Part Manager Part manager for KiCAD electronic design suite. Based on a MySQL database of components with ability to categorize parts, store part name, part label and part number, description, parameters and also stock count and price. Parts can be assigned to components in KiCAD schematic based on component name, type and value. (Built for KiCad 4, this may not work with KiCad 5!)
  • KiCad Librarian The KiCad Librarian is a utility to manage and maintain libraries with schematic symbols and footprints. It supports the KiCad EDA suite. Allows components to be moved between libraries, footprints adjusted etc. Can connect to a server based repository of components to facilitate sharing between workstations.
  • Kicad Multiedit Simple way of editing large number of components in spreadsheet type view. Will parse the values and footprints of components found in a KiCAD schematic.
  • KiLibMan A utility to examine library components and move them between libraries.
  • uConfig – A tool to extract pinout from PDF datasheet and create kicad schematics.
  • KiCad-Db-Library – Inspired by Altium, KiCad-Db-Lib creates one or more KiCad Symbol Libraries with atomic parts based on your database. Create and maintain a database for your electric components, symbol reference, footprint reference, value, reference (R, L, C, etc.), description, datasheet, keywords and your custom fields (manufacturer, order codes etc.) inside of KiCadDbLib. Created with Angular and Electron KiCad-Db-Lib can be used on Windows, Linux and MacOS.
  • KiCad CSV Symbol Libraries – Manage KiCad symbol library files using CSV format. The purpose of this tool is to translate back and forth symbol library data (stored in “.lib” and “.dcm” files) into the CSV format.
  • Ki-nTree – Fast and automated part creation tool for KiCad and InvenTree. From a manufacturer or Digi-Key part number, Ki-nTree uses Digi-Key’s API to fetch the part specifications and automatically generates a KiCad symbol and/or InvenTree part.

BOM Tools

  • KiCost – A utility that generates a spreadsheet from a schematic filled with the part pricing information scraped from distributors like Digi-Key, Mouser, etc. For each distributor and part, the spreadsheet contains the quantity-dependent prices, available quantities, link to the part page, and ordering codes.
  • KiCad_BOM_Wizard This KiCad plugin can be used to create custom BOM files based on easy configurable templates files. The plugin is writing in JavaScript and has been designed to integrate into KiCad’s BOM plugin manager. Exports CSV, HTML and PDF files. The template files permit customisation of output to include (for example) certification docs, logo etc. KiCad_BOM_Wizard will group and sort all components together that have same parts value, the same starting designator reference prefix and the same fields value.
  • BOMs Away A Component/BOM Management tool for KiCad. Maintains a local database of components and facilitates associating components on schmatic with identified parts. Simply enter a part’s manufacturer, supplier, manufacturer PN, and supplier PN then click ‘save to datastore’. Information is keyed off of component value and footprint, so future uses can simply use the part lookup button to retrieve the information. Multiple suppliers, manufacturers, and part numbers are supported. (wxPython)
  • KiBoM KiBoM is a configurable BOM (Bill of Materials) generation tool for KiCad EDA. Written in Python, it can be used directly with KiCad software without the need for any external libraries or plugins. KiBoM intelligently groups components based on multiple factors, and can generate BoM files in multiple output formats. BoM options are user-configurable in a per-project configuration file.
  • KC2PK KiCad to PartKeepr BOM Tool. This tool, written in Python3, aims to integrate component management using BOMs produced from KiCad and inventory and stock management using PartKeepr. It also includes an Octopart lookup function to check on current pricing, availability and price breaks of components.
  • Interactive Html Bom (demo) tool designed to assist with hand assembling pcbs. Output is viewable in any modern browser and allows user to easily highlight a specific reference or all components in a group on a visual rendering of pcb. Script works both as Pcbnew action plugin and as a command line tool.
  • KiCad JLCPCB BOM Plugin Eschema plugin to produce BOM compatible with JLCPCB SMT Assembly BOM format. Also includes a script to convert the Footprint Position file into the format required by JLCPCB.

PCB Layout Tools

Footprint Library Tools

  • Kicad-tools/modgen – A Python Tkinter GUI for creating footprints.
  • monostable/kicad_footprints – A collection of all the KiCad footprints available on the internet and some scripts to manage them.
  • svg2mod – A tool to convert multi-layer Inkscape SVGs into footprints.
  • – A utility to make footprints for chips having pins around the periphery (SOICs, QFP, etc.) and ball grid arrays (BGAs).
  • KicadModTree – Python library for generating footprints. The scripts subdirectory contains the footprints that are already scripted with this tool.
  • SpiralInductorFootprintGenerator – A java utility for generating helical or polygonal inductor footprints in either gEDA footprint or Kicad legacy module format.
  • fped – A parametric constraint based editor for footprints with a GUI and KiCad and postscript outputs. Still quite rough around the edges but available on Debian based systems through an apt install fped.
  • KiCad Footprint Rotator – A sed script that takes a footprint and rotates it 90° counterclockwise. Run it twice to turn a footprint upside-down, or three times to turn it 90° clockwise. If you’re designing a board for automated assembly, you’ll need this tool to line up your footprints to match the alignment of components in your tapes and trays.

Layout Tools

  • Laksen/kicad-bga-tools – A script to generate via fanouts for BGA components on a board.
  • – A script to create panels. It can copy, rotate and flip rectangular areas from one or more PCB files into a new PCB file.
  • RenumKicadPCB – RenumKiCadPCB processes a KiCad PCB file and renumbers all the component reference designators ending in numbers based on where they are located on the PCB. It then processes the schematic hierarchy and updates the component reference designators to match. This makes working on a board much easier since you can locate all the components. The download includes a user manual, Windows executable and instructions for compiling to run on Linux.
  • KiPadCheck – KiPadCheck provides additional basic DRC checks to KiCad with lists to make tweaking pads for stencil creation easier. Functions include pad list, drill list, drill to drill spacing check, drill to track spacing check, stencil aperture check vs. stencil thicknesses, stencil aperture width vs. paste type, silk to pad spacing check.
  • Layer View Set – A gui for saving and loading ViewSets and interacting with a stack of ViewSets for quickly changing the currently visible layers and renders within KiCad.
  • Teardrop – A gui to teardrop the vias, pads and “T” tracks connections in the Pcbnew.
  • Replicate layout – This Kicad Action plugin replicates layout section. The replication is based upon hierarchical sheets. Basic requirement for replication is that the section for replication is completely contained within one hierarchical sheet, and replicated sections are just a copy of the same sheet.
  • svg2shenzhen – An Inkscape plugin to export SVG layers to KiCad PCB layers. You name your layers what they would be called in KiCad (F.Cu, B.Cu etc.), draw things on them and can then turn them into a kicad_pcb or a kicad_mod. Accepts arbitrary shapes on most layers (unlike svg2mod) by using PNGs as an intermediate step and automatically converting them with a fork of KiCad’s own bitmap2component.
  • HierPlace – A PCBNEW plugin that creates an initial arrangement of parts into groups that reflect the hierarchy of the design.
  • PadPainter – This PCBNEW plugin identifies pins that meet specified criteria and highlights the associated pads on the PCB. This is helpful for identifying sets of related pins when physically planning the layout of high pin-count packages such as FPGAs.
  • WireIt – This PCBNEW plugin lets you add wires between pads on a PCB, delete them, and swap wires between pads. This is helpful for physically connecting sets of related pins when doing the layout of high pin-count packages such as FPGAs.
  • flexRoundingSuite – Python script to round the corners of Kicad Pcbnew traces for RF / FlexPCB applications
  • DRMgr – A plugin that allows you to extract the design rules from a KiCad board and store them into a file, and then load the file into other boards to replicate the design rule settings.
  • RF-Tools for KiCAD – A Kicad Action plugin suite to help in RF and Flex pcb design. Footprint wizards for designing mitred bends, tapered track connectors, and arc tracks (radius bends) for RF layout included. Round track corners routing, track length measurement and a mask expansion tool for direct pcb routing. Via fencing tool for RF via shielding. Live demo available on line.
  • Qucs-RFlayout – A tool to export Qucs RF schematics (microstrip) to PcbNew board layout or footprint.
  • – Java utility for PCB layout cloning and panelization.
  • KiKit: Automation & panelizaton for KiCAD – Tool to automatically produce panels, export gerbers and board presentation pages.
  • SchematicPositionsToLayout – A script that takes a Kicad 5 schematic (.sch) and a PCB Layout (.kicad_pcb) file and arranges all the components on the PCB to mimic their positions in the schematic.
  • Stretch – Provides a bidirectional path so functional layout in PCBNEW can be iteratively combined with artistic design in Inkscape.

3d Model tools

  • KiCad StepUp – A FreeCAD Workbench for collaborative electrical + mechanical design which allows:
    • Export of KiCad board and parts as STEP and WRL models.
    • Precise alignment of kicad_mod footprints with their mechanical models.
    • Editing of KiCad PCB outlines in FreeCAD Sketcher.
    • Adjustment of PCB part positions between FreeCAD and KiCad.
  • cadquery 3d model generator – 3d model generators using freecad and the cadquery plugin. The scripts generate step and scaled wrl files similar to kicad stepup.
  • pcbmodelgen – Convert KiCAD PCB files to models for import in openEMS
  • fcad_pcb – The original purpose of these tools was to do PCB milling in FreeCAD. It can do much more now. It can generate gcode from kicad_pcb directly without going though gerber stage. It can let you modify the PCB directly inside FC (done already), and potentially export back to kicad_pcb (partially done). And finally it can generate solid tracks, pads and plated drills to enable FEM and thermal analysis on KiCad pcb boards.

Manufacturing Output Tools

  • kiplot – A python module and program that lets you run and script KiCad’s various manufacturing outputs such as Gerbers and other plots in a configurable way.
  • kibot – A much more advanced fork of kiplot.
  • kicad-exports – Auto generate files (schematics, gerbers, BoM, plots, 3D model) for any KiCAD project. You could run it locally or on every git push with Github Actions.
  • obra/kicad-tools – Productivity-enhancing tools primarily focused on automating generation of fabrication outputs and commandline productivity for projects tracked in git.
  • GerberZipper – A plugin that plots Gerber-files and Zip it for a specified PCB manufacturer.

Version Control Tools

Half-Baked Tools

If you have an interesting tool that’s not quite ready for prime-time, post it here! Maybe someone else can move it forward or use it as a starting point for their own tool.

  • footwork – Unfinished footprint editor that tries to mix the s-expression footprint format with Racket (Scheme) to programmatically create footprints.
  • fpmagic – Web based, Chrome only, SMD only experimental footprint editor. Draw footprints using the constraints from a datasheet drawing.


These are libraries/packages/modules that can help when creating tools like the ones listed above.

  • KinJector – Inject/eject JSON/YAML data to/from KiCad Board files. Primarily used to read/write design rules, net classes, net class assignments, and part (X,Y)/orientation/top-bottom positions.
  • kinparse – A parser for KiCad schematic netlist files that are output by EESCHEMA. Just pass a file containing a netlist to the parse_netlist() function and it will deliver a pyparsing object containing all the netlist’s information.
  • pykicad – The aim of this project is to provide high quality and well tested support for reading and writing KiCad file formats.
  • kicad-python – An abstraction layer for the KiCad python interface. (Be aware this is in initial development and the interface can change anytime!)
  • pykicadlib – A Python library to read and write KiCAD footprints and schematic files.
  • kicad-utils – KiCAD library / schematic / pcb parser and plotter written in TypeScript (JavaScript)


These are handy guides for using KiCad and related tools.

  • KiCad Cheatsheet – Lists common operations and keyboard shortcuts for KiCad.
  • KiCad StepUp Cheatsheet – A set of concise descriptions on how to do mechanical CAD tasks on KiCad PCBs with the StepUp tool.
  • Git Cheatsheet – Summarizes common operations on Git repositories that are often used to store KiCad libraries and projects.

Step by Step instruction

You need to have the KiCad installed. You can find out more about it here.

1.Go to website. Download the SnapEDA KiCad Plugin here and extract all files using 7Zip program.

Installing the SnapEDA Plugin for KiCad

2.If you are using Linux, create a folder named .kicad_plugins in your Home directory and extract the file inside of it.

3. As we are using Windows OS, after files extraction move both file and imagemagick folder into %KICAD_INSTALL_PATH%/share/kicad/scripting/plugins (in our case %KICAD_INSTALL_PATH% was equal to c://Program Files/KiCad/)

Installing the SnapEDA Plugin for KiCad

4.Open KiCad, click on PCB Layout Editor button.

Installing the SnapEDA Plugin for KiCad

5. In Pcbnew, go to Tools -> External Plugins -> Refresh Plugins.

Installing the SnapEDA Plugin for KiCad

6. You will now be able to see and initiate the SnapEDA KiCad Plugin from within the External Plugins dropdown.

Installing the SnapEDA Plugin for KiCad

Wrapping up

We have learnt how to install plugin for KiCad – SnapEDA. You can use this DIY project as the reference for any KiCad plugin installation.

If you need more information on PCB and design, check out Printed circuit board and terms used in connection with PCB design and manufacturing

Thank you for reading and supporting us.

Check for more DIY projects on and!

If you are looking for high quality PCBs PCBWay is the best choice: