PCB design: FabISP

For this week, the assignement was to make a PCB for a FabISP (in system programmer). This will allow us to interface between the computer and the microcontrollers we will build in the future.


I started by milling the board on the Modela. Due to huge time constraints to use the machine, I opted for using the shear to cut the outside of the board instead of milling it and I really can't tell the difference between my board and the others in terms of finish. I got a pretty nice finish to the traces and didn't need to clean out any residues.

Board milled

After spending some time stuffing the board (and a lot of patience for soldering), we tried programing it using an AVRmkII and I was extremely happy when the microcontroller programmed correctly!! I didn't have any shorts in that part of the board.


Alas, the happiness was not to last because whenever I tried to plug the FabISP to a computer it wouldn't get recognized and always showed as an unknown device. Then started a long mission of debugging, I will list here some of the common errors I had or saw at other people's boards during those long hours of debugging :

If none of this works, you need to check for continuity everywhere & check that the microcontroller or the usb are not fried (try to reprogram for example).

After a long chase for the problem, I finally got it (my main problem was a wrong resistor and the connection between the 2 pins of the microcontroller wasn't there). Joyyyyyyyyy!!!!

It works!! Awesome!


For documentation purposes, I am putting here the steps for etching the boards. This is by far more efficient than milling for etching multiple boards.

We started out by thoroughly cleaning the copper board (FR4) then on a special paper we printed the traces (mirrored!!) before putting the two into a laminator to print the traces on the copper. The special paper is there because once you wash it, it peels off very easily, leaving the board with the ink traces there. The big time input is in this phase where you have to clean and prepare the sodium persulfate.

ink traces

We then put the board into the sodium persulfate for it to etch the copper which isn't covered in ink.

david puttting it into a tank   tank

After about 5 min, something magical happens, in the space of seconds the copper disappears and we get an etched board!!!

etched board etched board

We then used a solvent (methanol or acetone) to clean the ink and have a board which is ready to be stuffed.

max cleaning the ink max cleaning the board

Voila, we got alot of boards in a relatively short time. The big problem is all the chemicals we had to use that are potenially dangerous.