Bricked! ATTINY2313 Repair with HV Rescue Shield

AVR_Rescue_board.png (26366Bytes)
AVR_Rescue_shield.png (30007Bytes)
hvfuse.pde (4296Bytes)
HVRescue_Shield11.pde (12138Bytes)
hv_rescue.pde (1983Bytes)
HVRescue_Shield.brd (30899Bytes)
HVRescue_Shield.sch (121237Bytes)


This blog post contains my build of a "HV Rescue Shield" by MightyOhm. The High-Voltage Rescue Shield is a high-voltage programming shield that fits on an Arduino. The Rescue Shield works on 28-pin ATMEGA ICs and on 20-pin ATTINY2313 ICs. My use/instructions for now only concern resetting the LFUSE (clock fuse) so that the IC can be used with a 16MHz crystal.


I bricked my $3 µC IC on my first attempt at programming. Recently I found some DIY AVR HV programmers that could be made from stuff in my lab.

EagleCAD Schematic/Board and Arduino Code (.pde file)

The rescue shield can be built on a single-sided board if a few jumpers are used on the top side:

The official v2 code:

Comments: The official version 2.0 is available in EagleCAD, but uses a voltage booster IC. I don't have those in my lab, so I'm using a transistor.

Code: I played around with the version 1 Arduino code, and the version 2 Arduino code. The version 1 worked with a transistor and external High-Voltage source, but the version 2 supports ATTINY2313. Clearly I need to merge the versions or at least be certain that the versions will work together.

The original v1 code (not for ATTINY2313):

My sequence in development to reset the LFUSE to 0xFF (16-20MHz XTAL):


Results: The HV Shield PCB has been fabricated on the Valkyrie-clone CNC; the PCB has not been soldered nor tested. My soldering iron's last tip turned to dust so I cannot complete the shield for at least another day.

Other AVR ICs: A Russian fellow built an ATTINY HV Programmer ("Fuse Doctor") for other ATTINY chips, but not ATTINY2313. In the Fuse Doctor, an ATTINY2313 µC is used as the programmer brain instead of using an Arduino for that task.

I’m currious about how you

I’m currious about how you bricked the avr? Was it through setting the clock to use something incorrectly? I know this may be a bit off topic, but I was able to recover with a non HV method using the programmer(stk500 clone) I have as it generates a clock freq for apparently just such a recovery. Currently I only know of 1 way to brick where you need an HV method to unbrick and thats when you disable the reset pin(so you can use it for something else). I’m still new to the avr but I thought I’d throw that out there.