Assignment 3: How to Make a FabISP

This week we were asked to make a Fab-able in system programmer (ISP) using one of three different methods: milling a PCB with the modela high-precision CNC mill, etching a board with Sodium Persulfate, or vinyl cutting a flexible circuit board. I used all three; although I only stuffed and debugged the milled and etched boards. Below is the process I took for creating the FabISP (using the etched board) as a demonstration.

I started with the Milled PCB and it programmed the first time, but I had to spend some time debugging the device in order for my computer to recognize the device. The problem had to do with my soldering technique for the 5 USB pins (which are very tiny). Once I reflowed the solder to the traces, my computer recognized the device instantly (luckily the fix wasn't too involved).

Milled

I next decided to try to make another board using the etched PCB's we made during the etching tutorial with David Cranor. I learned a lot from soldering the first board, so this one went much smoother. The problem arose when we couldn't find any of the ATtiny44 micocontrollers anywhere around the shop. Because of this, I couldn't quite finish the job, although I'm optimistic that this one will work the first time because I believe my soldering techniques have improved quite a bit.

Etched

I also vinyl cut one of the circuits to see if I could make a FabISP on the cover of my notebook (to use Arthur's expression, "I'm trying to use my notebook to program my notebook"). I had used the vinyl cutter in the last excercise, but it's amazing how much faster it is than the modela. The problem is that it took my almost 45 mins to weed the circuit and was a pretty difficult procedure. Ultimately, I found that the surface texture of my notebook (black vinyl) is a little rough and the adhesive from the foil didn't quite stick as well as I had hoped. I still want to try to stuff this board, but I'm not sure how much confidence I have that all of the foil traces will stick to this surface.

Vinyl1

Vinyl2

Let's look at the stuffing procedure. We'll start by examining at the FabISP schematic generated in Eagle (by David Mellis). The board connects to the computer using a Mini USB cable. It connects to the target (the board being programmed) with an 6-pin cable on the 2x3 ISP header.

PCB_layout

Now, let's start soldering all of the hardware components onto the board (called 'stuffing').

PCB_s1

PCB_s2

PCB_s3

PCB_s4

PCB_s5

PCB_s6

PCB_s7

PCB_s8

PCB_s9

PCB_s10

PCB_s11

PCB_s12

PCB_s13

PCB_s14

PCB_s15

PCB_s16

PCB_s18

PCB_s19