Interactive Html Bom Plugin - Page 1
Forum section: electronics / general

author: qu1ck
author_rank: Regular Contributor
timestamp: July 25, 2018, 12:07:19 pm
content: Hi all,I just released first beta for my plugin. I find it super handy for building prototypes.Instead of describing what it does and how is it different from all the other BOM plugins I better show a nicedemo.And here is thegithub repo.More demos, download link, install and usage instructions are on github.Try it out and let me know if you find it useful. If you find bugs please report them, if you would like to see some features discuss below.Thanks!

author: firewalker
author_rank: Super Contributor
timestamp: July 25, 2018, 02:46:27 pm
content: Nice!

author: rachaelp
author_rank: Unknown
timestamp: July 25, 2018, 02:48:44 pm
content: I'm not a KiCAD user but if I was I would 100% want to use this plugin. Nice jobBest Regards,Rachael

author: Bassman59
author_rank: Super Contributor
timestamp: July 25, 2018, 09:28:15 pm
content: Quote from: qu1ck on July 25, 2018, 12:07:19 pmVERY cool. I'll try it tonight.

author: bson
author_rank: Unknown
timestamp: July 27, 2018, 04:42:32 am
content: Nice. I wrote a custom BOM generator that groups components by their designator, value, top/bot, and footprint so I get separate sections for R 0402, R 0603, C 1206, C 0402, etc sorted by value. Separate sheets for the two sides. This is how I store my components, so lets me place parts one case at a time and reflow one side, then place the other and reflow that by simply going down the sheet. The code is super ghetto so I'm not going to post it, but it's a useful feature.Oh, and I output csv and import that to a google sheet on gdrive in case I want to make additional rearrangements or remove parts I'm not populating.

author: Warhawk
author_rank: Frequent Contributor
timestamp: August 05, 2018, 03:50:15 pm
content: I like it a lot. Please consider paypal "buy me a beer" donation. I would be in.

author: qu1ck
author_rank: Regular Contributor
timestamp: August 05, 2018, 09:49:42 pm
content: I appreciate the thought but I don't drink beer and also do well for myselfYou can donate that amount to your local charity in my name, if you wish.

author: Warhawk
author_rank: Frequent Contributor
timestamp: August 06, 2018, 01:09:45 pm
content: I hope you stay motivated. I've just given dionation to KiCad developers.Thank you one more time for the excellent plugin.

author: Kibi
author_rank: Unknown
timestamp: August 12, 2018, 07:26:02 pm
content: This is very nice. Please keep up the good work!

author: ehughes
author_rank: Frequent Contributor
timestamp: August 24, 2018, 02:09:36 pm
content: I have been wanting something like this in Altium. Great Job

author: mdszy
author_rank: Unknown
timestamp: August 24, 2018, 02:22:02 pm
content: Wow, this is really well made! Great work!

author: janoc
author_rank: Super Contributor
timestamp: August 24, 2018, 02:39:08 pm
content: Jeeze, I have been looking for something like that for a long time!Well done!

author: LapTop006
author_rank: Unknown
timestamp: September 11, 2018, 01:38:46 pm
content: Finally gave it a try tonight, awesome.

author: lutkeveld
author_rank: Regular Contributor
timestamp: September 25, 2018, 10:06:35 am
content: Has anyone had any success installing this amazing plugin on Windows? Can not get it to work on Kicad 5.

author: qu1ck
author_rank: Regular Contributor
timestamp: September 25, 2018, 10:14:04 am
content: I develop and use it on Windows.Describe in more detail how exactly it doesn't work and I may be able to help. Does the button appear? Does tools->external plugins entry appear? Does it run but not produce anything? Did you try running it from scripting console as described in instructions on github?

author: lutkeveld
author_rank: Regular Contributor
timestamp: September 26, 2018, 09:55:47 am
content: The button does not appear, just like tools->external plugins.After some googling this seems to be caused by "KICAD_SCRIPTING_ACTION_MENU" being disabled, but I can not find how to enable it.I entered this commandC:\Program Files\KiCad\bin\python.exe C:\InteractiveHtmlBom-master\InteractiveHtmlBom\generate_interactive_bom.py C:\Users\pathtokicadpcbfilePlease mind that I have no experience whatsoever with Python, so I could easily be doing something wrong in the python shell (scripting console).I just enter this command and hit enter, but I get a syntax error.

author: qu1ck
author_rank: Regular Contributor
timestamp: September 26, 2018, 05:49:55 pm
content: And the error is... ?KICAD_SCRIPTING_ACTION_MENU option is a compile time flag, if you don't know how to compile KiCad from sources you won't be able to change it.To check if you have it on or off you can go to Help->About kicad->Show version infoActually just paste the output of that window here.Also where exactly did you put the plugin folder? If you have KiCad installed in program files I recommend putting plugins in %APPDATA% folder (see instructions on github) because program files are not writeable by default.Copy paste this in address bar of explorer%APPDATA%/kicad/scripting/pluginsafter pressing enter you will be in right folder, copy plugin directory there. If you have latest version of plugin you can copy the whole repository folder, otherwise copy just InteractiveHtmlBom subdirectory.

author: kerrsmith
author_rank: Regular Contributor
timestamp: September 26, 2018, 06:11:44 pm
content: Just a second thing to check - have you made sure you are using the InteractiveHtmlBom directory found in the zip file when placing it in the required location. If you just use the complete directory of the zip file the button will not appear.You need to extract the zip file and then open the directory InteractiveHtmlBom-master and use the InteractiveHtmlBom folder found inside, this is what needs to be placed in the Kicad folder (C:\Users\USERNAME\AppData\Roaming\kicad\scripting\plugins for example).

author: qu1ck
author_rank: Regular Contributor
timestamp: September 26, 2018, 06:29:07 pm
content: kerrsmithIn latest versions you can copy the whole repository too. I addressed that in my comment.

author: kerrsmith
author_rank: Regular Contributor
timestamp: September 26, 2018, 09:56:41 pm
content: Quote from: qu1ck on September 26, 2018, 06:29:07 pmThat's good to know - the version I originally got was from a couple of weeks ago and I had the issue of the missing button as I had linked directly to the main folder, once I changed it to go to the sub folder it worked perfectly.I now have it set up in a folder in my home directory so I can run git updates on it easily from a script that also checks a few other git projects - I then use a link from the KiCad directory as suggested in the documentation.I also have to say that this is an amazing plugin that is incredibly useful. Usually I print out the PCB footprints layout and bill of materials and then work from them but this plugin makes it so much easier - just hover and everything is highlighted.I think it would be great if it came as standard with Kicad as it is so helpful.

author: qu1ck
author_rank: Regular Contributor
timestamp: September 26, 2018, 10:10:53 pm
content: Quote from: kerrsmith on September 26, 2018, 09:56:41 pmI'm glad you like it.Unfortunately I don't think getting this plugin packaged with standard distribution of KiCad is going to happen any time soon. Core devs put the whole responsibility of maintaining plugins on plugin authors. Even current python interface is provided "as is, may or may not work at any given time". They accept patches if something breaks but generally don't test it.Maybe when a proper API is designed and implemented, one which they will support, they would integrate some useful plugins as well.

author: kerrsmith
author_rank: Regular Contributor
timestamp: September 27, 2018, 10:58:59 am
content: I have just had a quick look on their website and they have an 'External Tools' section under the top 'Discover' drop down menu. I think this would be a great place for your plugin to go.I am not sure about how you go about getting it added but if you need people to contact KiCad via their website to offer suggestions I would be happy to do this - assuming you want to try and get it featured on their site of course.

author: hermit
author_rank: Frequent Contributor
timestamp: September 27, 2018, 04:12:04 pm
content: You seem to have gotten a shout out and I thought I'd post it here in case you didn't see it.https://www.eevblog.com/forum/oshw/open-source-oscilloscope-can-it-be-done/msg1851776/#msg1851776Open Source Hardware / Re: Open Source Oscilloscope, can it be done?« on: Yesterday at 12:17:42 pm »Someone out there does seem to be working on an open source scope.The (wonderful) Interactive HTML BOM Kicad plug-inhttps://github.com/openscopeproject/InteractiveHtmlBomhas a couple of interactive demos "of (soon to be published) in house designs" one of which OSPx201 which looks like a pretty-far-along oscilloscope.https://openscopeproject.org/InteractiveHtmlBomDemo/OSPx201/ibom.htmlA two-sided <10x10cm open source oscilloscope (cheaply fabbed) with a ~$100 BOM capable of 10Mhz or so would be revolutionary.

author: desertgreg
author_rank: Contributor
timestamp: October 10, 2018, 04:26:48 pm
content: This looks absolutely awesome.

author: Warhawk
author_rank: Frequent Contributor
timestamp: November 21, 2018, 01:08:26 pm
content: qu1ck: I am just wondering if there is a chance to have something similar, which would highlight complete tracks based on nets, or at least highlights a pad associated with the net.I would love to help and contribute but this is beyond my programming skills.Additionally, I would like to also have an option for selecting a different layer for part outlines. For example, I don't use the solder mask layer but F.Fab and B.Fab.

author: Bassman59
author_rank: Super Contributor
timestamp: November 21, 2018, 06:01:30 pm
content: Quote from: Warhawk on November 21, 2018, 01:08:26 pmCertainly in Kicad 5.0.0, that feature already exists. From the main menu choose Inspect then List Nets. Select a net and it is highlighted in the layout.QuoteThose layers are built into the footprints. I think that the most-up-to-date standard Kicad libraries actually do what you want -- the outlines (or at least part body) are on a fab layer. Look at them to see if they are what you want. Otherwise, you can modify the footprints as you like and save them to your own libraries.

author: qu1ck
author_rank: Regular Contributor
timestamp: November 21, 2018, 07:56:28 pm
content: Quote from: Warhawk on November 21, 2018, 01:08:26 pmAs noted in a reply above, Kicad can already do that, no plugin needed.Quote from: Warhawk on November 21, 2018, 01:08:26 pmThis plugin aims to assist with manual population of the board. That is you have a board in one hand and bunch of components you need to place in a pile. On the pcb render only things that you can actually see on the board are drawn: silkscreen and pads (solder mask layer is ignored). That helps you visually identify places where each component goes.I personally don't see how adding fab layer helps with that but maybe I'm missing some use case. Still, more than one person asked for that so I plan to add that option.If you explain how you envision using fab layer I would prioritize that feature higher.Btw plugin was recently updated to v2, grab the latest from github.

author: doobedoobedo
author_rank: Regular Contributor
timestamp: November 22, 2018, 12:23:28 am
content: Loving this.Thanks for sharing and the effort you put into it.

author: malagas_on_fire
author_rank: Frequent Contributor
timestamp: November 22, 2018, 12:39:45 am
content: Very nice html plugin. the "copy bom table " function works to text editor as well spreadsheets.Reset zoom on right clickThanks for sharing you're work.

author: bson
author_rank: Unknown
timestamp: February 03, 2019, 04:23:07 pm
content: This is absolutely awesome.The only improvement I would suggest is to use the PCB "rev" data if non-blank for the name. I've been renaming ibom.html to e.g. RevA.html. Like, take the rev string and remove blanks, or turn blanks into _. (So, "1.0" could be normalized to ibom_rev_1_0.html, but the exact scheme isn't important as long as they can coexist without risking clobbering one another.) It also gives a nice way to quickly pull up different revs side by side without having to git checkout tags in different folders, which is rather tedious.I upload the html file to google drive and access it from my 12" Samsung Android tablet on my bench (which I normally use to access datasheets), works fantastically! I love that it can show me the parts and pick a board side. The tablet standing vertically has a MUCH smaller footprint on my bench than a printed page or laptop!Actually one additional feature would be the ability to mark individual components as having been placed... not sure how that would be done in the UI (like maybe change color on click/tap), but I find if I have say 35x 100Ω resistors it's easy to lose track of which one I'm at. Or I counted 35 before, and now I have one left over... did I miss one or count 36? If so which one is missing? When using paper I'd cross each one out as it's populated. (Or every few.) Edit: HTML strikeout!

author: 2N3055
author_rank: Super Contributor
timestamp: February 03, 2019, 04:46:07 pm
content: Great work!!

author: qu1ck
author_rank: Regular Contributor
timestamp: February 04, 2019, 02:28:06 am
content: Quote from: bson on February 03, 2019, 04:23:07 pmThis functionality was already added. You can download latest from github or wait for v2.1 release.Quote from: bson on February 03, 2019, 04:23:07 pmAlso, in the works for v2.1 (not implemented yet).

author: bson
author_rank: Unknown
timestamp: March 11, 2019, 01:05:02 am
content: Looks great!One thing I haven't figured out is the dialog has an Extra Fields tab, but I can't find a way to add any extra fields? It doesn't appear to discover them automatically if present, either.

author: qu1ck
author_rank: Regular Contributor
timestamp: March 11, 2019, 01:13:12 am
content: bsonYou need to generate either xml or netlist file from eeschema. Plugin does not read .sch files directly, it needs that intermediary format to get extra field info.