First of all I emphasize that unfortunately none the following attempts of reprogramming fused AVRs was successful in my case. Therefore this is more a personal documentation of what did not work, rather than a tutorial on how to get AVRs reprogrammed.

The general problem is, that once the fuse bits of an AVR are set to except an external clock source, the AVRs can in theory only be reprogrammed when they have that external clock source during the reprogramming process as well. In practice it is much more complicated.

It is differentiated between a number of clock source settings (1, 2 both in German!) like ceramic resonators, low-frequency crystals, internal and external RC oscillators and an auxiliary external clock. Starting to challenge the reprogramming of AVRs the AVR troubleshooting checklist is normally a good start for debugging. Another important thing is if the crystal, which is used as an external clock source, is resonating at all.

A few messageboard discussions about this problem (1, 2 both in German!) state that the external clock source for reprogramming has to be 1/4 of the original processor clock. In my case the original clock source of the ATtiny85 is 8 MHz, which would demand an external clock source of under 2MHz. Anyway I tried to reprogramm the ATtiny with every crystal I have found in our lab, as long as it was under the ATtiny’s maximum operating frequency of 20 MHz.

An official technical report by Atmel explaining the right selection of crystal oscillators, did not provide working hints.

AVRFID Multipass example by Trammell Hudson of the NYC Resistor hacker collective used the Bus Pirate Tool. It provides an extra clock source during the reprogramming  process. Another example would be the AVR Preserver using a crystal clock source. Unfortunately I was still not able to reprogram my AVRs.

In the following, I list all attempts and used reprogramming setups that I have tried out:

1. A 125 kHz crystal connected to ground with to capacitors of 22 pF:

125kHz crystal clock

2. Another ATtiny85 providing 8 MHz

ATtiny85 8MHz clock

3. 4 MHz crystal as external clock source

4MHz crystal clock

4. 8 MHz crystal as external clock source

8 MHz crystal clock

5. 16 MHz crystal as external clock source

16MHz crystal clock

6. The wiring for programming an ATtiny85 with the Bus Pirate ISP Tool, which provides an extra clock source during the reprogramming process.

Bus pirate reprogramming setup

View of the wiring definition is mirror-inverted!

Bus Pirate Pin Def

All examples were done with or without capacitors and also with other capacitor values, without success. So far the last hope lies in the special high voltage ISP programmers like i.e. the Fusebit Doctor.

Advertisements