05 • Electronics Production

Assignment: make an in-circuit programmer by milling the PCB, soldering the components and programming it

I was not familiar with electronics production, so all in this week was really new to me. By that classes given by FAB LAB Barcelona tutors were very much of instruction to me.

To start the assignment, the first task was to mill a PCB board. The one I milled was the Hello ISP 44. We had the images of the board in png formats, two different archives, one for the inner traces (to be milled with 1/64” end mill) and one for the outside cut (to be milled with 1/32” end mill). The png files were transformed in g-code using MODS. With the files ready, first I milled the inner traces and then later the outside cut.

MODS interface

Milling process

Result of the milling process

For soldering the components, I first checked the list of required components and organized then in my notebook. The Fab Lab was missing the mini usb connector, so that is why my board initially does not have it.

List of components to be soldered

PCB in soldering process and PCB almost done

After soldering the mini usb that was missing, I checked if the board was conducting the information right with a multimeter. Then I proceeded with the programming of the board. I started following the tutorial available in the Fab Academy website.

Board with all components soldered

I connected the board in the computer and could see it was the board was receiving power correctly and everything was solder properly.

Board receiving power

I have a Windows 10 and installed the corresponding the AVR in this version. Later I installed the firmware available in the class page as a zip file. I unzipped the file and with the board connected, proceeded to program the board. I opened Gitbash and proceeded with the commands: make clean, make hex and make fuse. With the make fuse, I got an error as indicated in the image below.

Error while installing firmware

Then, a colleague from Fab Academy commented he had the same problem and gave me new files from the AVRDUDE, which would work on Windows 10. (Thank you, Josep!). The files were replaced in “c:> WinAVR-20100110 > bin ”. I tried to proceed with the installation but later got a different error while programming it. So tutor Santi programmed my board in his Mac, and it was properly installed.

w05_fabisp_programm_process - txt file

After being programmed, my computer could identify the board but couldn’t find drivers for it. So, with the Zadig program, indicated in this tutorial as a tool to install drivers for the programmer board, I could install the corresponding driver to identify the Hello ISP 44.

Drivers installed in the Hello ISP 44

After doing all this, I unsoldered the 0 resistors. The board now will be used during Fab Academy for other purposes of programming.

Hello ISP 44 final configuration