how to make [almost] anything mas.863.12   work about
customPCB week_2  

in - circuit programmers

The focus of this week was an introduction to custom pcb fabrication. To get familiar with pcb fabrication we began by making an in-circuit programmer to program future electronic projects by milling the traces onto a rigid board blank via the Roland Modella milling machine.



There was a section of existing design that we could build from and I was interested initially in building the snap-off USB version to bypass the solder and de-solder method of programming the initial board. I downloaded the files for the board and used the fab modules to import the .png and make the .path file. I zeroed the machine with a 1/64” end mill and sent the .rml file and the board started trying to mill on the far right rear of the bed. So all to quickly I was deep in learning how to pause a job from the Modella and run the command line to cancel the job, restart, repeat. I must have gone through this problem 2-3 times before I noticed a small error on the fab modules window stating that the size of the .png was not recognized and 72dpi was being assumed. At this point I clearly knew there was a scaling issue with the .png but being that it was a usb type board I was hesitant to resize it on the fly.

I decided to revert to the standard board as a mode of troubleshooting the mill and sure enough the file ran fine. I milled the traces though as you can see from the screen all of the debugging caused me to hastily send the .rml for the traces as ‘default’ (I did not realize this is why my traces left so much copper on the board until I went back to document).

Milling the traces

Programming and making the .rml for the cut out using the 1/32” end mill. The preset for the cut-out left me with a z-depth of 0 so I programed this in myself. -0.065 was still a little bit light and I had to a bit of scoring to get the board to pop free after the final passes.

Here is the milled board. (note how tight the clearance is around the traces). I deburred the board with steel wool including the edges. I then made sure to use the flux penn on the whole board before soldering. Not shown here but I made sure to pick all of my parts and place them on to a print out of the schematic diagram prior to soldering. I also used a bit of double stick tape to stick my board down to the table (one less thing to try to hold).

Here is the finished board. I haven’t done much soldering since high school so it took a few tests to get a feel for it again. Once I got comfortable it was a breeze. I used several of the tips and tricks Neil suggested: start from the center and work outward and to put a starter spot of solder to ‘tack’ parts down. One twist I put on this was to solder the ATT TINY and the USB port on last since they have many pins and I wanted to have a smooth hand on soldering so I was not fumbling with taking them off etc. You can see near my USB port that I had a bit to much solder on the iron and some of the leads crossed but it wasn’t something a but of heating and smoothing didn’t take care of.

The board on my laptop for scale: I downloaded and unzipped the to my mac for future use but ran the firmware from the Linux machine in the shop:: USB power; make clean; make hex; (sudo) make fuse; (sudo) make program; de-soldered SJ1 and SJ2 and made an IDC ISP cable
  -- jared laucks -- © 2006-2012 --