Week 4
Making and Programing FabISP
Software: Fab modules
Machine: MODELA MDX-20
Components and Tools
- Attiny44 x 1 (Digi-Key)
- 20MHz Crystal x 1 (Digi-Key)
- 1uf Capacitor x 1 (Digi-Key)
- 0 ohm Resistor x 1 (Digi-Key)
- 100 ohm Resistors x 2 (Digi-Key)
- 499 ohm Resistor x 1 (Digi-Key)
- 1k Resistor x 1 (Digi-Key)
- 10k Resistor x 1 (Digi-Key)
- 3.3V Diodes x 2 (Digi-Key)
- Mini USB Connector x 1 (Digi-Key)
- 6 Pin SMD Type Male Headers x 3 (Digi-Key)
- PCB (FR-1) x 1
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: ProgrammingI 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)