Cutting solder paste stencils with the silhouette plotter — gerber2graphtec modification for tiny structures

By | October 13, 2017

Some weeks ago I wrote about using a silhouette portrait craft plotter for cutting solder paste stencils. The described process uses the collection of the  gerber2graphtec python scripts to process the fabrication data from kicad and send the cutting instructions to the plotter.

The solder paste stencils I did cut for the VESC came out perfectly. My recent work on my new ESC design features smaller 0402 sized components and EFM8 controllers with a very fine pitch. Most of the time it works quite well, but with the knife getting more and more worn out and the stick-on-mat not being that sticky anymore I was facing some problems with some of the tiny cuts.

This is why I wrote an add-on for the gerber2graphtec toolchain which will merge multiply tiny pads in close proximity into one bigger pad that surrounds the same area. I think a picture will make this more clear:

The first image shows the EFM8 QFN package as exported from kicad. The small cuts are highlighted in red. The next picture shows the  output of my modified script: The red cuts have been merged into a single cutout that spans the very same area. This way it is easier to cut that solder paste stencil and the results will be still fine.

You can see an example on how this looks after you applied the solder paste in the following picture:

Even though I misplaced the stencil quite a bit I had only a few bad spots that I had to clean manually. It seems a bit strange to have those pads all covered up in a single blob of solder paste. Surface tension is a wonderul thing, it will do its magic and there will not be any shorts!

I pushed the modified scripts to my github account and created a pull request. So this will either find its way into the gerber2graphtec suite or you can use my fork if you want to use it. The pad merging is enabled by passing “–merge 1” as a parameter.

Happy plotting!

Leave a Reply

Your email address will not be published. Required fields are marked *