How to assemble a PCB easy

If you have ever had experience in hand soldering a printed circuit board with surface mount components, you would know how tricky it is to place the right component at right place. One cannot take forever to place the components as the solder paste is drying up too. I remember the first time I tried to hand solder one of the first PSLab prototypes, I printed an enlarged version of the front silk screen and used color pencils to group different resistors and capacitors. So that I will not mess it up.

Getting back to the real topic, I used KiCAD to design PSLab circuits. KiCAD is open source and it has a Python interface (libraries ...). So there are many open source projects doing cool stuff with KiCAD PCBs and I found the one I was eagerly looking for months.

Interactive HTML BoM

InteractiveHtmlBom is an open source library we can just download and run out of the box. Keep in mind that, it would need the necessary KiCAD python stuff installed already. What this library does is, it reads a kicad_pcb file and generates an html file which has on one side the PCB (with silk screen and paste) and on the other side the list of components. The interactive part is when I hover the pointer across either the board or the list of components, it will highlight where and what the component is. 

This is how the view would look like. There are options to group the components. One of my favorites is the feature to highlight the 1st pin. It helps especially with IC placement.


How can I run this?

So, as I said earlier, if you have installed and configured KiCAD already, running this library is pretty straighforward.

  1. Step one would be to download the latest release from InteractiveHtmlBom Releases page. There is a file named "InteractiveHtmlBom.zip" and that the one we need. Download and extract it.
  2. Step two is to run it. Open a terminal window and type the following command.
$ python3 generate_interactive_bom.py path_to_kicad_pcb_file --blacklist "Z*"

When designing the PCB, I have set trivial footprints like logos and markings to have the group name Z. So we can simply blacklist them with the config option --blacklist. Running this command will create an html file and it will probably be opened with the default browser.

Enjoy this little tool and make your PCB assembly process a lot easier. Trust me :)

Comments

Popular posts from this blog

Mocking Point Clouds in ROS Rviz

Python Laboratory Excersices

Find Maximum Number in a Nested List Recursively