FabISP (Fab-able In-System Programmer)

This week we constructed FabISPs which we will use to program microcontrollers. A schematic of the circuit and and a photo of the final programmer are shown below.


The first step was to mill out the traces on the board. This was done using the Modela in the Architecture Fab Lab, the fab modules, and .png files of the traces.


At first, I ran into issues obtaining traces of consistent depth. This was probably due to the fact that part of the sacrificial board had been cut into during earlier runs, resulting in an uneven surface. Fixing my board completely on top of a clean sacrificial board solved this problem. The modella tutorial says to not to overtighten the bit but I found that I needed to tighten the drillbit beyond snug so that it wouldn't slip up into the chuck when force was applied. After cutting out the traces with the 1/64" bit I switched to the 1/32" bit to cut out the boards.


Soldering went relatively smoothly but I found that the hardest component to solder was the USB connector because the pins are so thin and close together. Adding extra solder to ensure a good connection and then using the copper braid to wick away whatever had spilled over to the other pins turned out to be an effective technique. After soldering all the components to the board, I used a multimeter to test the solder connections, and then programmed the circuit by connecting the USB connector on my board and an AVR to my computer for power, and the 6-pin cable of an AVR to the board. After downloading firmware.zip I ran the program, de-soldered the jumper connections, and added a cable, ending up with a working FabISP.