I'm trying to program an ATtiny85, but I can't make it work. I've read a lot about it, searched a lot on Google and this forum, but most have no suggestions I can try, or a suggestion I couldn't make work. Here's a few things I've tried:
I plug my Duemilanove (ATmega 328) to the computer, with nothing else connected to it. I open Arduino IDE 1.0 (Linux 32 bit) and upload ArduinoISP.
I connect an ATtiny85 like this: http://hlt.media.mit.edu/wp-content/uploads/2011/06/Screen-shot-2011-06-06-at-1.46.39-PM.png (Image from http://hlt.media.mit.edu/?p=1706) I skip the capacitor, it says that's only for Arduino Uno.
In Arduino IDE 1.0 I change "Board" to "ATtiny85 (internal 8 MHz clock)" and "Programmer" to "Arduino ISP". I then start "Burn Bootloader". It says "Done burning bootloader", but the console says:
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85 avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85
The tutorial says it doesn't matter, so I ignore it.
Now I open the Blink-sketch. I change the pin from 13 to 0 in all three places. I check that board and programmer is still correct, and then I upload. I get this error:
Binary sketch size: 750 bytes (of a 8192 byte maximum) avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85 avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85
avrdude: stk500_paged_write(): (a) protocol error, expect=0x14, resp=0x11 avrdude: stk500_cmd(): programmer is out of sync
I've read many places that this is a known problem with Arduino 1.0. Somewhere someone said I could simply upload ArduinoISP with an old Arduino IDE, and then use it with Arduino 1.0. I'll try that.
I open Arduino IDE 0022ubuntu0.1 and upload ArduinoISP from there. I open the blink-sketch, change pin to 0, and upload. It says "Done uploading", but the console says:
Binary sketch size: 750 bytes (of a 8192 byte maximum) avrdude: stk500_getsync(): not in sync: resp=0x15
I disconnect the breadboard (except for power), add an LED to pin 0 (actually pin 5 on the IC), connect it to GND through a resistor, and ... nothing.
I've checked the LED/resistor by moving the plus-side of the led from the attiny pin 0 to the duemilanove pin 9, which sends the heartbeat signal. It works perfectly.
I've done lots of experiments, you don't want to hear about all of them. I tried the 10 uF cap on the Duemilanove reset pin. I tried adding a 10k pullup resistor on the attiny reset pin. I tried another attiny85.
I measured the voltage drop over the LED/resistor with an oscilloscope while testing the sketch uploaded to the attiny, on one attiny it was 1.9 volt constant, the other 1.5 volt. I expected it to alternate between 5V and 0V every second.
What can I try next? Probably "get a hardware ISP"...