Fab Academy 2016

Home /W4

Electronics Production

For this assignment I have to produce a Fab ISP.
The FabISP is an in-system programmer for AVR microcontrollers, designed for production within a FabLab. It's based on the USBtiny and V-USB firmwares, which allow the ATtiny44 to perform USB communication in software. We choose FabISPkey 2.3 version (schematic and assembly drawing).

Milling the circuit
We used a Roland SRM-20 for milling the circuit and we have these images which represent the etching and the outline respectively.
Uploading the etching file to FabModules I prepare the first file (output file Roland mill format .rml and PCB trace 1/64).
After I selected the output machine (SRM-20) I changed the amount of offsets you want to give (I used -1 It did work slowly, but very precise).

I set x=0, y=0, z=0 because i've made the zero point manually from the Roland software.

Manually install the first drill bit (1/64 of an inch) which is used for etching only.
After I prepare the second file and keep the standard settings (Roland Mill, PCB outline 1/32) in the same way as before, mount the second drill bit (1/32 of an inch) which is used for cutting only.

The components
After I have to look at the schematic to write the list of components.

Code Description Quantity
R1- R2 (812-1900) 49.9 ohm 2
R3 (223-2265) 1Kohm 1
R4 (223-2394) 10Kohm 1
R5 (679-1768) 0ohm 1
R6 (679-2171) 499ohm 1
C1 - C2 (461-4063) 10pF 2
C3 (723-6593) 0.1μF 1
C4 (766-1062) 1μF 1
D1 - D2 (687-8250) 3.3V zener 2
XTAIL1 20Mhz 1
IC1 ATtiny 45 microcontroller 1

After soldering all components I have this circuit.

To program the FabISP ( the procedure is here) you have connected an Arduino Uno to our FabISP . I have got an errore on the make-flash command.

Issues and Solutions
First the quartz had 4 pad on the bottom but only two were connected to the crystal ( the datasheet here).
I've then desoldered the quartz and i've soldered just the two pads using two wires.
The second thing was to find a way to use Arduino as ISP and the manual is at the link Arduino Official Documentation.
I've edited the Makefile by modifying the following lines:
#AVRDUDE = avrdude -c usbtiny -p $(DEVICE) # comment this line
AVRDUDE = avrdude -c arduino -b19200 -P /dev/ttyACM0 -p $(DEVICE)
to find the argument for the option -c i've used this link.
Then I've connected again the board with the arduino and this time all the procedure of make fuse ---> make flash went fine.