App for locating parts on PCB for hand assembly - Page 1
Forum section: electronics / projects

author: mdkendall
author_rank: Newbie
timestamp: December 27, 2022, 09:18:20 pm
content: When assembling printed circuit boards with surface mount components by hand, for example for prototypes, I typically want to place all the components of a given type before moving on to the next, because the handling time associated with finding the right bag or reel and decanting a handful of parts is significant. So I fit all the 10k resistors, then all the 100k resistors, then the 100nF capacitors, and so on.But the silkscreen and the assembly drawing typically don't show component values, they show reference designators. So there is a lot of back and forth between the assembly drawing and the bill of materials. Or more often I prepare marked-up assembly drawings - print out the assembly drawing and highlight in different colours all the parts that have the same value.It seems that there should be some way of producing such drawings automatically, but I am not aware of one. So I made a tool to do this. It is a single page web app to which you can just drag a parts list and board image; it gives you a drop-down where you can select a part type; and it highlights all the instances of that part on the board. At work we have been using it for a few weeks now and have built several different prototype boards, and it has been a significant time saver.I thought others might find it useful so I have made it more generally available. It is hosted on Azure and currently has a temporary URL; if it gets any traction I will move it to a custom domain. Please take a look and let me know what you think.https://nice-ocean-0f01a2510.2.azurestaticapps.net/For demo purposes example files can be downloaded here:https://nice-ocean-0f01a2510.2.azurestaticapps.net/example.zipOn the Setup tab drag the parts list file to the parts list box; drag one of the board image files to the Assembly Drawing box and select the appropriate layer. The parts list gives the component locations in mils so enter the board width as 4000 and the height as 2000. On the Assembly tab you should be able to select various parts and see them highlighted.If you try it out with your own data here are some things to keep in mind:- Board images must be cropped to the board extents (what you enter for width and height). Do not include surrounding whitespace.- Board images are probably best as PNG, but any format understood by a browser and renderable within SVG should work.- The bottom layer image is assumed to be viewed from the bottom.- Going full-screen (F11) makes significantly more space for the image.Note that although this is a "web app", nothing is ever uploaded to the cloud. Everything happens locally in the browser. When you drag a parts list or board image on to the page, it is just used by local JavaScript to render the page, it is never uploaded anywhere.Constructive feedback is welcome. Is this useful, or not? Is there some other, better way I was not aware of? Have you found any bugs, or situations that are not handled well? Are there missing feature that would be useful?The source code is here. Pull requests welcome.https://github.com/mdkendall/Locate

author: jpanhalt
author_rank: Super Contributor
timestamp: December 27, 2022, 10:34:13 pm
content: I organize my parts by name, not value before assembly. However, if you want them organized by value, that is a "native" ulp in Eagle, and I would be surprised if it were not quite common in other programs (see attachment). The reason I like by name is that with the solder paste that I use, you have a limited open time, and by name seems to be faster.

author: m98
author_rank: Frequent Contributor
timestamp: December 27, 2022, 11:32:21 pm
content: KiCad has the Interactive HTML BOM plugin that is basically the polished version of your project. However, it only works for KiCad. I think such interactive placement diagrams are super useful, especially for larger designs.

author: tooki
author_rank: Super Contributor
timestamp: December 28, 2022, 05:19:28 am
content: My coworker wrote his own program, doing much the same thing, for Altium. I don’t think he’s released it in any way, though.

author: thm_w
author_rank: Super Contributor
timestamp: December 28, 2022, 11:03:45 pm
content: Quote from: tooki on December 28, 2022, 05:19:28 amhttps://boastools.com/https://www.eevblog.com/forum/altium/interactivehtmlbom-equivalent/