Interactive Html Bom Plugin for KiCad 5.0


Please stop editing your post so many times. If you want to amend it add an “update: …” or “edit: …” to the end. Otherwise a lot of confusion will ensue.

As far as I understand currently you are running it from console. You don’t have to, since KiCad v5.1 this plugin works from GUI on latest Linux distributions.
If you do prefer to run from console you can pull up configuration dialog anyway by passing --show-dialog flag to the script in addition to the pcb file path.
You should read the wiki it has some good information on installation and usage.


I simply needed to refresh the plugin list. Got it. But I don’t know how to sort the BOM to a suggested placement order

  1. Add an extra field in schematic Tools->Edit Symbol Fields... with preferred order of populating the board for each component.
  2. Generate netlist from eeschema Tools->Generate Netlist File... or alternatively xml file Tools->Generate Bill Of Materials.... In the latter case you can select any plugin from KiCad5\bin\scripting\plugins doesn’t matter which one, just press Generate, an xml file should appear in project directory. You can ignore errors. Overall it’s messy, better to generate netlist file.
  3. Launch pcbnew and press plugin button.
  4. Switch to extra fields tab. The generated netlist/xml file should already be loaded, if it’s not or incorrect one is loaded you can choose it manually. A list of extra fields should be populated with any extra fields you have in you schematic. Tick off the ones you want.
  5. Generate BOM. It should have your extra field as a sortable column. Just click on the header cycle between normal->ascending->descending order. Keep in mind sorting is just alphabetical strings comparison so ‘11’ will be less than ‘2’. Add padding zeros if needed so that ‘02’ will be less than ‘11’.


The new field doesn’t seem to become persistent regardless of which button I use “Apply, Save…” or “OK”. Proceeding further along your instructions confirms to me there was no field added. I suspect a problem/bug doing this under Mint: The “Extra fields” listbox under the “Extra fields” tab is totally blank. Totally. Or I need to examine all my path settings?

Edit: Yes, I followed step 2 and 3 as well…to the letter.
Edit: I do the XML file select click just to make sure it is forced to load
uno shield.xml (35.0 KB)
Edit:The XML file simply never picks up my explicitely created new field though I tried several different paths through your instructions.


What is the name of your new field?


PlacementOrder is the name of my new field


It’s not in the xml file.
When you add new field in Tools->Edit Symbol Fields dialog you have to add at least one value otherwise it will not be persisted. Try that and regenerate xml file.


I never tried populating the new field. Let’s call this problem RESOLVED. Thank you very kindly!!!


Another problem is that field names do not support Chinese


Please share the project files (pcb, schematic, netlist) to help me debug this.
Also it appears that you are same person that filed #89 on github so why not file this one too?


封装制作测试工程.zip (38.7 KB)

Thank you for your hard work.
Yes, # 89, that’s me.
I uploaded my test project. Both the component footprint name and the field name are expressed in Chinese.
This problem has only recently been discovered. I am building my own component library to link PCB SMT manufacturers in China. So I need to use this Chinese field, of course, also I can use English, But that’s not my mother tongue., the expression is not very clear, some components do not know how to express in English.


Thanks, I just pushed a fix. Let me know if it works, it does for me.


Yes, it works well now. thanks.


Version 2.1 is released

New stuff:

  • Shiny new icon (thanks @hildogjr for ideas)
  • Python3 support
  • Fabrication layer support
  • Option to hide pads
  • Touchscreen pinch/zoom and pan support (thanks to github user JJJollyjim, don’t know if they are on this forum)
  • Custom output name format with substitutions
  • Option to blacklist components with empty value
  • Smart sort for value column

Also bunch of bug fixes. Try it out and have fun!
Unless you are using git checkout it’s best to delete previous version before installing this one (you can transfer config.ini file).


3 posts were merged into an existing topic: BOM from Eschema


I know this is probably blasphemy on this forum but EasyEDA support was implemented. If anyone here uses EasyEDA feel free to test.

Also I made it fairly easy to add other ecad software support. Just implement an EcadParser according to the data format.


Where is the thumbs down button in this forum!? :stuck_out_tongue_winking_eye:


Blasphemy or not, KiCad allow us to be a laboratory for new IT technologies. Also KiCost, at the past, made me develop some BOM XML Altium and CSV compatibility. The intention was made less hard the user migration and re-use old design.
But of course, the full compatibility / integration of this tools will be reach just in KiCad.




4 posts were split to a new topic: Trouble with pos file