SMTAssistant is a handy utility for working with printed circuits boards provided free-of-charge by the French company Alciom. Thank you W4GNS (Gary) for pointing it out to me.
When assembling or testing a PCB, it can be difficult to locate a particular part, especially on crowded boards that may not even have the reference designators printed on the silk screen. SMTAssistant is a simple, yet powerful tool that allows showing the component location on a picture or drawing of the board. One window highlights the general area on the board while a second window shows a close-up view of the location. This is invaluable when stuffing a complex board.
SMTAssistant overlays a centroid file generated by the PCB layout program over a picture of the board. The picture can be generated by the layout software, by a Gerber file viewer or even a picture of the bare or assembled board. If a picture of an assembled board is used, it's a great tool to check for assembly errors too. Most layout programs have tools to generate the needed centroid files, which are used with pick&place machines. Files to generate the centroid files are included for Eagle and PADS.
The illustration below shows SMTAssistant with my vibration monitor board - I've highlighted the selected area on the drawing with is normally shown in a yellow box. Selecting Q302 in the parts list highlights the area on the board and shows a close-up of the mounting location. Depending on what information is available in the PKP file (centroid file), the parts list may show the value and package. The parts list may be sorted in different ways to aid in assembly - for example, resistors of the same value can be listed together so that that can all be placed at the same time.
This photo shows the same vibration monitor board using a picture of the actual PCB. This may make placing parts a bit easier. The zoom control determines how large an area is shown in the close-up view.
This picture shows an assembled TAP-28 board which would make checking assembled boards easy. In this case, R3 is shown, so the color code can easily be verified.
SMTAssistant uses an INI file to identify the contents of the PKP file. It's pretty self-explanatory as shown below. The one gotcha is that the INI file in the directory where the SMTAssistant resides is used. Make sure to edit the correct file.
Board Drawing and Calibration
The board drawing should be in BMP or JPG format and should be in the same orientation as the board when the PKP file is generated. I didn't have much luck in trying to use the rotational controls to get the board picture and PKP file in the same orientation.
The close-up view of SMTAssistent uses the centroid of the part for the closeup view. The centroid should be just that; sometimes component footprints are improperly designed with the "centroid" being located at pin 1 or other location. If the footprint was designed using an improper centroid, the close-up view will not be centered on the component.
Showing All Components
SMTAssistent is designed to include SMT parts only. For my applications, including all components is often more useful. Fortunately, this is easy to change, at least in the case of Eagle. Eagle uses a ULP (user language program) to generate the PKP file. The supplied ULP specifically excludes everything but SMT parts. In a very inelegant hack, I modified the ULP to include all parts... well, actually to eliminate the test if a part is SMT.
SMTAssistant should prove a useful tool for printed circuit board assembly. For providing documentation for users, a PKP file and drawing could be supplied to aid the user in assembling the board.