Project 2: Electronics Production - FabISP

The making of the FabISP - in-circuit programmer.

This week we learned how to to machine a single layer circuit board, solder surface-mount components and program a microcontroller. We do not yet entirely know all of the details of the board design, what it means to set fuses, or how the programmer works, but all of this will be coming from the firehose in the next few weeks.

Things went mostly smoothly. When I first started cutting the board on the Modela I noticed the board was not fitting entirely flat as one of my cuts was just barely clearing away the copper. So I reset the program and adjusted the (-)Z-height by another 0.04mm and re-ran the program. The part cam out flawlessly.

Stuffing the board also went fairly smoothly. I started waiting in line in the soldering room but then decided I should get to know our underground lair better and I switched over to the 029 cba shop. Here I managed to find all of the components I needed (or so I thought) except for the mini usb connector, and the cable fittings. Before starting on the soldering I made an inventory of components and layed them all out on a sheet of paper labeled with the respective values and part numbers in some cases.

I always find it is best to build a bill of materials and assemble everything you need before embarking on the projects - there is nothing worse than stopping in the middle of a job because a part is missing; all momentum can be lost. Soldering went fine, starting with the smallest components and moving to the larger ones.

I was ready to to test my board, so I borrowed Will's ISPmkii programmer and hooked everything up with green lights flashing - I thought I was all good. When I tried to flash the board the system kept timing out. Upon re-evaluation of my board I realized I used a 20Mhz Resonator instead of a 20Mhz crystal. The difference is three wires instead of two! So, I switched out the parts using the ol' heat-gun and gravity technique.

I made a second attempt at flashing and had the same trouble. At this point I searched for help and Dan Sawada helped me find that I had somehow managed to download an older version of the firmware code - probably while checking out all the cool tutorials that have been made in the past. We downloaded the current version and everything worked. So now I'm looking forward to jumping into eagle and making some boards!