June 8, 2019

284 words 2 mins read



Interactive HTML BOM generation plugin for KiCad

repo name openscopeproject/InteractiveHtmlBom
repo link https://github.com/openscopeproject/InteractiveHtmlBom
language Python
size (curr.) 457 kB
stars (curr.) 754
created 2018-07-25
license MIT License

Interactive HTML BOM plugin for KiCad


This plugin generates convenient BOM listing with ability to visually correlate and easily search for components and their placements on the pcb.

This is really useful when hand soldering your prototype and you have to find 50 places where 0.1uF cap should be or which of the SOP8 footprints are for the same micro. Dynamically highlighting all components in the same group on the rendering of the pcb makes manually populating the board much easier.

This plugin utilizes Pcbnew python bindings to read pcb data and render silkscreen, fab layer, footprint pads, text and drawings. Additionally it can pull data from schematic if you export it through netlist or xml file that Eeschema can generate from it’s internal bom tool. That extra data can be added as additional columns in the BOM table (for example manufacturer id) or it can be used to indicate which components should be omitted altogether (dnp field). For full description of functionality see wiki.

Generated html page is fully self contained, doesn’t need internet connection to work and can be packaged with documentation of your project or hosted anywhere on the web.

Demo is worth a thousand words.

Installation and Usage

See project wiki for instructions.

License and credits

Plugin code is licensed under MIT license, see LICENSE for more info.

Html page uses Split.js, PEP.js and (stripped down) lz-string.js libraries that get embedded into generated bom page.

units.py is borrowed from KiBom plugin (MIT license).

svgpath.py is heavily based on svgpathtools module (MIT license).

comments powered by Disqus