FabTiny*ISP - Milling the Printed Circuit Board


Milling the traces.

Before we can start we need to fix a piece of blank FR-1 stock to the sacrificial layer of the Modela, and insert the 1/64 milling bit.

Make sure that the sacrificial layer is clean and any leftover tape and glue is properly removed. Also check if the blank stock is straight by looking along the edges, and bending it back until flat if it isn't. Five or six pieces of double sided tape should usually be enough to hold the big piece of blank stock in place, just make sure it isn't folded or overlapping. The stock needs to be fixed to the sacrificial layer as flat and level as possble.

Insert the milling bit way to high at first (you don't want to hit the copper when lowering the head) then lower the head almost to the end, leaving enough room for the head to move down, as shown in the third picture below. Finally loosen the milling bit and lower it onto the stock, optionally wiggle it back and forth once or twice (by turning the collet with your fingers) to make sure there is no dust or dirt underneath, then tighten it again. Take care not to overtighten it or you will quickly wear out the little screw and the hex wrench. Now we have set the zero point of the Z-axis, and we're ready to mill.


When using the old compiled fabmodules: Start the make_png_rml program from the commandline, and load the "fabTinyStar-012_top.png" image. We'll be using the default settings for "mill traces (1/64)", except for the "offsets" value which was set to "-1" in order to take all the unwanted copper away as we need the USB connector to be clean. And we have set the "xmin(mm)" and "ymin(mm)" starting point values to where we are going to mill.


When using the html5 fabmodules: Start a suitable webbrowser and go to fabmodules.org, also start mod_serve if needed. Here in Amsterdam we need to change "dsrdtr" to "rtscts" under "send command", your milage may vary. Most of the default settings are fine, except for "number of offsets (-1 to fill):" which needs to be set to "-1" to take away all the copper from the USB connector. However as you can see there is a problem with the html5 fabmodules, it seems to think there is not enough room for the drill to go through in serveral places (mostly diagonally).


The workaround for this problem is simply to lie to the fabmodules about the width of the endmill, by setting "tool diameter (mm): " to "0.35", this results in slightly smaller traces, but the design is robust enough to handle it.


The milling turned out to be to shallow, most likely due to a dull milling bit. Don't panic, this happens quite often as the bits get near the end of their lifespan. It also happens when the board isn't completely flat/level and/or when the blank PCB isn't taped down properly so the PCB can slightly move up and down as the double sided tape kind of acts like a spongy spring!


The height setup was allright, with enough room left to cut through the board and the bit being minimally extended from the collet to reduce vibrations.


Now we're milling a little deeper, "z(mm)" set to "-0.2" value.


Traces milled out of the copper layer, it may look horrible but not to worry as we will clean up the rough edges later.


Cutting out the board.

Milling PCBs has one huge advantage: you don't have to cut it out (and/or drill holes) by hand, instead the machine will do this for us with much greater accuracy and in just about any desired shape including usb dongles.


Loaded "fabTinyStar-012_out.png" into make_png_rml. The default presets for "cut out board (1/32)" do not need to be changed and "xmin(mm)" and "ymin(mm)" are left at the previous values that we also used to mill out the traces.


Changed the milling bit with the 1/32 bit used for cutting. The height is fine, leaving enough room to cut through with the bit minimally extended from the collet.


Now we're all done with the modela, so carefully remove the new PCB from the sacrificial layer.


Deburring and cleaning the board.


It almost looks like several traces were ruined, but that's just the fluff of the rough edges obscuring them.


After a little wet-sanding with P1000 sandpaper, we can clearly see that no traces were actually hurt in the making of this PCB. Alternatively you could scrape it with the back of a ruler (or scissors) as Neil recommends, there are lots of ways to Rome. The two little pieces of copper that remained between the pads were easily removed with a fingernail (if you bite yours: try a sharp hobby knife).


To clean the board from any remaining dust and grease, just wash your hands with dishwashing liquid (or hand soap) and hold the board in between your hands. As a bonus your fingers will also get degreased leaving less prints and smudges when handling the board.


Difference between using the old and HTML5 fabmodules.


This is what the result looks like when you get things right the first time. As you can see there are no rough edges, so deburring isn't necessary, washing it however is a good idea anyway. One of these boards was done with the old fabmodules, the other with the new HTML5 version (after fibbing about the actual tool width), can you guess which is which?


Last modified: 2016.03.19