This week, I made my own in-system programmer, which is a device that translates input codes from computers to machine-understandable language to microcontroller chips. There are many cheap and nice commercial programmers (AVR ISP) but in class we are making our own, which I found very exciting.

Using the milling machine, I printed the copper circults. I could have drilled down more (~ -1.5mm; this one is -1.2mm) but didn't know in advance so some of my circuits were connected when they should never meet. To mill the circuits, 1/64" end mill was used. Cutting the board shape out was done using 1/32" end mill.

Here is an image of every components soldered. The most diffcult one was the usb connector because it was so thin and close to one another. Using the copper braid to absorb excess solder helped. This was before I took out the 0 ohm resistor. 0 ohm resistors must be removed in order to prevent changes to the programmer so that it can stay as its initially programmed state.

After soldering the components, it was the turn to program FabISP using an external programmer. I initially used a commercial programmer to program mine. I downloaded the firmware.zip and ran:

make clean
make hex
make fuse
make program

After getting a successful result, I used by programmer to program other people's. All successful!

WEEK 3: IN-SYSTEM PROGRAMMER

Part1: Milling the Circuit Layout