How It Works

Just in case you don't know, KiCad's plugin manager works by first generating an XML file that holds all of the project information include the list of parts you are using. After it generates this file, it will run a user define program with the XML file as an input parameter with any other user define parameters.

KiCad_BOM_Wizard works by scanning through all of the template files ( here's the list ) and replacing any of the Short Codes with the data that is associated with it. It will then output all of the data into one file based on the order that it finds the short codes.

For example, if KiCad_BOM_Wizard finds the short code <!--TAG_TITLE--> in template.conf then it we replace it with the project title as set in the KiCad root document.

The plugin will group and sort all components together that have same parts value, the same starting designator reference prefix and the same fields value.

For example, if your project component list consist of;

R1 10K, R2 100K, C1 10pF and R3 10K

then it would be grouped like this;

ref qty value
C1 1 10pF
R1 R3 2 10K
R2 1 100K

Project Repository

https://github.com/HashDefineElectronics/KiCad_BOM_Wizard.git

KiCad.Info Forum Post

https://forum.kicad.info/t/kicad-bom-wizard-plugin-with-customisable-output-can-make-html-and-csv-bom/2142

Installing Node.Js

First you will need Node.js install and configure in you system. if you are using ubuntu then you can installing it by running the following commands.

sudo apt-get install nodejs sudo apt-get install npm

If you are using windows or a mac you can follow this link to download node.js installer.

https://nodejs.org/en/download/

MAC OSX Note!

there have been reports that `node` wont run in KiCad BOM generator unless its full path has been specified.

If you have this issues, try replacing `node` with `PATH_TO_NODE/node` where PATH_TO_NODE is your system absolute path to node.

  • It might this: /usr/local/bin/node

Here's where it was first repoted: kiCad.info

Download and isntall KiCad_BOM_Wizard

Video Instructions

https://youtu.be/k9EE21K-m8M

___

Installation

nodeJs

The following serves as a quick reference.

Debian/Ubuntu Linux:

sudo apt-get install nodejs npm

Mac OSX using Homebrew:

brew install node

Installing nodejs on other systems:

[NodeJS.org](https://nodejs.org/en/download/)

Installation KiCad_BOM_Wizard via npm (prefer method)

npm install -g --production kicad_bom_wizard

Installation KiCad_BOM_Wizard via github download

This assumes that you have downloaded the project's 'ZIP' file from github. (ie, you now have `KiCad_BOM_Wizard-master.zip`)

unzip KiCad_BOM_Wizard-master.zip -d KiCad_BOM_Wizard-master

cd KiCad_BOM_Wizard-master

npm install -g --production kicad_bom_wizard

Installation KiCad_BOM_Wizard via git clone

git clone https://github.com/HashDefineElectronics/KiCad_BOM_Wizard.git

cd KiCad_BOM_Wizard

npm install -g --production kicad_bom_wizard

Video Instructions

Writting Instructions

You will need to open an existing project schematic using KiCad Eeschema. For this example I am going to use KiCad complex_hearachy project example and setup KiCad_BOM_Wizard to generate the HTML and CSV BOM. I am also going to assume that you have the install node.js and proven that it works. And finally, I also going to assume that you have a copy of the KiCad_BOM_Wizard in your computer root directory.

Hash Define Electronics KiCad complex_hierarchy KiCad_BOM_Wizard Eeschema

Adding HTML Profile

In Eeschema, Click the BOM icon. this should bring up the following window.

Hash Define Electronics KiCad complex_hierarchy KiCad_BOM_Wizard Eeschema BOM Manager

Now click on the "Add Plugin" button. On the file explorer file, find and open "KiCad_BOM_Wizard.js".

Hash Define Electronics KiCad complex_hierarchy KiCad_BOM_Wizard Eeschema BOM Manager file exploere

When prompt for the Plugin name, type in BOM_HTML and click OK.

Hash Define Electronics KiCad complex_hierarchy KiCad_BOM_Wizard Eeschema BOM Manager plugin name

So far the new plugin profile should look like this. Its not ready, we still need to add the extra parameters to make it work.

Hash Define Electronics KiCad complex_hierarchy KiCad_BOM_Wizard Eeschema BOM Manager with plugin partial

Under Command line: change it to the following.

node "SCRIPT_ROOT_DIR/KiCad_BOM_Wizard.js" "%I" "%O.html"

SCRIPT_ROOT_DIR is the directory path to where your KiCad_BOM_Wizard.js is located, "%I" is replace by kicad with the xml...

Read more »