Electronics Production

Assignment

Fabricate a FabISP by milling, surface mount soldering and programming the ISP.

Process

Using the provided files, I milled the board using the Modela using Fab Modules. We did encounter some issues controlling the Modela with Fab Modules. We were able to home the Modela, change the bits and prepare the milling material with out issues, but found that the fab modules would not send the .rml file directly to the Modela. Instead, we forced to send the rml file that fab modules created to the Modela via the command line.

After milling the board, stuffing the board was the next task. Surface mounted soldering was new to me, and but I quickly picked up the technique. The micro USB connection was most challenging, with small traces. However, after some desoldering braid and some patience I was finished.

You may notice some of the micro USB traces were soldered together in these images. By using the desoldering braid and carefully drawing the excess solder out, I was able to clean the small traces.

I then connected the FabISP to the Avrisp MKII to be greeted with a blinking orange light. It wasn’t until later that I found that we needed to also power the FabISP with the USB. After connecting both the 6 programming pins and the USB power, the green light raised my hopes.

Next it was time to program the FabISP. Following the Providence AS220 tutorial, I then installed Crosspack AVR. However, I found an issue with the install as later I received a avr-gcc command not found error. After some troubleshooting I was able to confirm that crosspack had installed correctly and moved forward.

After downloading the firmware, I ran:

make clean, make hex

at make fuse (or sudo make fuse) I got:

$ make fuse
avrdude -c avrispmkII -P usb -p attiny44 -U hfuse:w:0xDF:m -U lfuse:w:0xFF:m
avrdude: stk500v2_command(): command failed
avrdude: stk500v2_program_enable(): bad AVRISPmkII connection status: Unknown status 0x00
avrdude: initialization failed, rc=–1
Double check connections and try again, or use -F to override this check.
avrdude done. Thank you.
make: *** [fuse] Error 1

I decided to try a second time:

$ make fuse avrdude -c avrispmkII -P usb -p attiny44 -U hfuse:w:0xDF:m -U lfuse:w:0xFF:m
avrdude: usbdev_open(): did not find any USB device "usb"
make: *** [fuse] Error 1

I continued to get this error on OSX 10.9.1, Ubuntu running in a vm, and an ubuntu machine.

I did find something interesting in the Ubuntu VM, the USB connection would hop in and out as seen here:

However, it continued without the FabISP connected. I believe VMware fusion might have issues with the AVRISP MKII

I want to believe the ISP is electrically sound - I’ve tested everything, reflowed connections and get the green light, but I’m not sure what could be happening.

I wonder if it’s in my makefile which looks like this:

DEVICE = attiny44
#F_CPU = 12000000 # edit this line for crystal speed, in Hz
F_CPU = 20000000 # edit this line for crystal speed, in Hz
FUSE_L = 0xFF
FUSE_H = 0xDF
#AVRDUDE = avrdude -c usbtiny -p $(DEVICE) # edit this line for your programmer
AVRDUDE = avrdude -c avrispmkII -P usb -p $(DEVICE) # edit this line for your programmer

I hope to have an experienced FabISP builder take a look at my board and help me troubleshoot the board soon.

© Jonathan Schmid 2014