I am playing with an ATtiny13 and I thought it would be good to use it with an external 8Mhz ceramic oscillator instead of the 1.2 Mhz built-in one. (I want to do a soft-uart at 9600 bps, so I figured 1.2 Mhz was too slow)
To change to an external oscillator, I ran ‘avrdude -c usbtiny -p attiny13 -U lfuse:w:0x70:m -U hfuse:w:0xff:m’ (Calculated with http://www.engbedded.com/fusecalc/)
Unfortunately I can’t access the device anymore now. The ‘Blink the LED on PB0’ program that was in there does not run anymore and the programmer can’t connect to it.
Not sure what to do here. Can I throw away this chip or is there a way to rescue it?
You are using a ceramic resonator, not an oscillator!
You’ve screwed up the fuses, so that it will only run from an external oscillator. If you input a suitable oscillator signal to the Xin pin, you might get the chip working again. Something like a 555 timer is all you need.
Yes sorry, it is a ceramic resonator. I am now actually understanding that the 13 does not work with a resonator. It only supports an external oscillator; there are not pins for hooking up a crystal or resonator.
I have an Arduino here. Do you think it can act as the oscillator? It has a PWM mode. I guess that could work instead of a 555 right?
I didn’t realise that the Tiny13 didn’t have oscillator pins, I checked the data sheet to make sure. It has got a calibrated internal oscillator, though.
You could use the Arduino to generate a clock.
I like the Tiny45, that can use a crystal/resonator.
I got an AVR Dragon ($49 from Digikey, add a 28 pin zif socket like from sparkfun and some headers, and F-F jumpers for a few $ more).
It can program using HVSP, debugwire, ISP, or jtag, and can debug as well, supported by avrdude and avarice. I just reconfigure my .avrduderc and/or makefiles to use dragon_hvsp or such and everything just works.
Debug wire can program (except fuses) with just the reset pin, so the tinys (in my case the 45 and 85) have more pins available. The HVSP can unbrick anything.
You can build a DIY unbricker, but it is not easy and you will have to write custom code for somethign rarely used.
I got an AVR Dragon ($49 from Digikey, add a 28 pin zif socket like from sparkfun and some headers, and F-F jumpers for a few $ more).
It can program using HVSP, debugwire, ISP, or jtag, and can debug as well, supported by avrdude and avarice. I just reconfigure my .avrduderc and/or makefiles to use dragon_hvsp or such and everything just works.
Debug wire can program (except fuses) with just the reset pin, so the tinys (in my case the 45 and 85) have more pins available. The HVSP can unbrick anything.
You can build a DIY unbricker, but it is not easy and you will have to write custom code for something rarely used.