Resetting ATTiny85 Fuses

Last Updated on

The Story Behind

ATTiny85’s are sweet

Almost everyone who mess with the ATTiny85 end at least one time with a dead one caused by bad fuses. I’m in that group ūüôā

So, I was looking for a solution.
The solutions are:

  1. Use 12V programmer  or use another AVR with 12V to flash the fuses back.
  2.  Add an external clock or crysal
  3.  Use JTAG

I decided to go on with the first solution and ordered the parts from

I found few posts about how to build it:

I received the parts (I wanted the last one) and started to build.
I was too lazy.
I searched for more ways and found this one: Link
But It didn’t work for me, even the Anonymous guy method down in the comments who gave some codes of ISP to try.

I googled again and found my hero!

How to use an external clock?

I needed some more search to find out how to use the External Clock of another AVR but in the end I found it.

I’ve used a fresh ATTiny85 for this.
The steps to make it work:

  1.  Flash your Arduino Uno as ISP with the regular example from the menu.
  2. Connect the new ATTiny85 to the ISP as shown here (courtesy of
  3.  And flash this code via the Arduino IDE:
    int main()
      DDRB = 0xFF;
      while (1)
       PORTB = ~PINB;
       asm volatile("nop");
       asm volatile("nop");
    return 0;
  4. Download WinAVR or use the Avrdude.exe from the Arduino IDE folder and burn those fuses to the new ATTiny85:

    -U lfuse:w:0xa2:m -U hfuse:w:0xdf:m -U efuse:w:0xff:m
    (Usually goes like this: avrdude -p attiny85 -c stk500v1 -P YOURCOMPORT -b 19200 -U lfuse:w:0xa2:m -U hfuse:w:0xdf:m -U efuse:w:0xff:m)

  5.  Connect dead ATTiny85 to the ISP and put the new one next to it.
  6.  Connect 5V and GND to the new one and add another wire from pin 5 to pin 2 on the broken one.
  7. ¬†Open the Arduino IDE and choose ATTiny85 on boards menu, click on “Burn Bootloader” and your’e DONE!
Did you like it?

Leave a Comment

Your email address will not be published. Required fields are marked *