Week 2: Making a FabISP In-Circuit Programmer

This week's assignment was a significant change from the highly artistic, relatively low-tech world of laser cutting - instead of making our own creations, we were given the files to make a PCB board. This PCB board is called a FabISP in-circuit programmer, and we will be using it over the course of the semester to program all of our future microcontrollers. We were given the .png files with the circuitry and the outline of the board, as well as the program that we uploaded to the microcontroller, so this was a "cookbook" assignment. And since this is the first PCB we've made, I have pretty much no idea what we're doing, so bear with me as I try to explain what we did!


Milling the Board

We used a Roland Modelo tabletop mill to cut out the traces (the copper conduits that connect components on the board) and the board outline, and more Fab modules to convert the .png images to paths. The process is already pretty well documented on the website but there are a couple things to emphasize:

Here the Roland Modela is milling out the traces on the board. Notice the mess! (Thank goodness for handheld vacuum cleaners.)

This is an image of the Roland Modela cutting out the outline of the boards.


Stuffing the Board

Unlike a turkey, stuffing a board is very precise and tricky, and using force to get all that stuff on there is NOT recommended. No matter how much you want to, be gentle and careful and patient. To explain: stuffing a board means soldering all the components to it.

Soldering is a fine art, so here are some pointers - the rest is practice:

I found soldering the USB port to be the most difficult part of making the FabISP, so I feel it deserves some explanation. On my first board, my USB port had a bump on the bottom so it would not sit flush with the surface of the PCB; not knowing any better, I tried to solder it on anyway, which, of course, didn't work too well because the solder wouldn't bridge the height gap between the pins on the port and the traces on the board. So, my first piece of advice is: