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. Acoptex.lt
- Sketch: None;
- Libraries: None.
Third party tools, plugins and addons
- 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.
- 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.
- 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.
- 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.
- 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.
- xess_fp_wizard.py – 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.
- Laksen/kicad-bga-tools – A script to generate via fanouts for BGA components on a board.
- panelize.py – 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.
- dren.dk/kicad-util – 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.
- 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_modfootprints 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.
- 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.
- KiCad-Diff – Python3 script for performing image diffs between pcbnew layout revisions in Git, SVN and Fossil VCS. Recent SVG based diff for significant speed improvements.
- Massaging your git for kicad – Instructions how to integrate KiCad with Git VCS
- PlotKicadsch – PlotKicadsch is a small tool to export Kicad Sch files to SVG pictures.
- Scripting KiCad Pcbnew exports – How to plot properly formated SVG files from pcbnew for VCS diff-ing
- Improving open source hardware: Visual diffs – Using ImageMagick for visual diff file generation
- KiCAD to SVG Converter – Scripts for headless SVG generation of schematic files using eeschema.
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.
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.
2.If you are using Linux, create a folder named .kicad_plugins in your Home directory and extract the snapeda_plugin.py file inside of it.
3. As we are using Windows OS, after files extraction move both snapeda_plugin.py 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/)
4.Open KiCad, click on PCB Layout Editor button.
5. In Pcbnew, go to Tools -> External Plugins -> Refresh Plugins.
6. You will now be able to see and initiate the SnapEDA KiCad Plugin from within the External Plugins dropdown.
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