Week 4

Making and Programing FabISP

Software: Fab modules
Machine: MODELA MDX-20

Components and Tools

  • Double-sided tape x 1
  • Mitsuwa Paper Cement Solvent x 1(Amazon.jp)
  • Scraper x 1
  • Digital Multimeter x 1
  • Soldering Iron x 1
  • Solder x 1
  • Desoldering Braid x 1
  • Tweezers x 1
  • 6 Pin Sockets x 2 (Mouser)
  • 6 Wire Ribbon Cable x 1 (Digi-Key)
  • Mini USB Cable x 1
  • ATAVRISP2 programmer x 1 (Digi-Key)

This week I made the FabISP ( Neil’s version ). This ISP is a flash programmer which is used for programming the AVRs. After converting the .png file to .rml, I began to mill the board. At first the milling of the traces looked a little shallow so I changed the milling depth(z) form -0.1 to -0.2 (which was a little too deep and created a lot of burr. When Asako-san made her board, we tried -0.15 which was just fine).
Tutorial: FabISP: Electronics Production

After removing the burr with sand paper and applying flux, I soldered the components. At the end, I soldered the usb a little crooked and its header was not properly aligned to the circuit. I had a hard time removing the usb and ultimately I had to remove it by the copper parts that were not a part of the circuit, but I managed to solder it correctly on the board. (Afterwards I added a little hot glue on the sides just in case, so that the usb wouldn’t come off.)

Tutorial: FabISP: Programming

I used a tester to check for shorts on my board and then connected the FabISP to my computer (Windows), but the usb did not go under “Other devices”. My computer kept telling me that it was an “Unknown device”. I thought it was a software problem so I installed everything in a different computer but nothing changed. After reflowing all the soldered joints my computer finally recognized it as FabISP. Hazzah!! I’m glad I didn’t give up (I was almost going to make another one).

I went through all the steps in the tutorial but at the very end of programming the board (make program) I got an error.

C:\Users\~\firmware>make program
avrdude -c avrisp2 -P usb -p attiny44 -U flash:w:main.hex:i

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.03s

avrdude: Device signature = 0x1e9207
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed

To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "main.hex"
avrdude: writing flash (2050 bytes):

Writing | ################################################## | 100% 0.89s

avrdude: 2050 bytes of flash written
avrdude: verifying flash memory against main.hex:
avrdude: load data flash data from input file main.hex:
avrdude: input file main.hex contains 2050 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.70s

avrdude: verifying ...
avrdude: 2050 bytes of flash verified

avrdude: safemode: Fuses OK

avrdude done. Thank you.

avrdude -c avrisp2 -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 tried programing my FabISP on Mac and it worked.
(Another student was able to solve the issue on Windows)