Introduction: Repair Dead AVR's - Attiny Fusebit Doctor (HVSP)
Did you make a mistake while programming fusebits, or purposely disabled reset pin (RSTDISBL) or ISP programming (SPIEN)? No need to buy or make inconvenient HV programmer only for unlock couple of Tiny AVR’s. This Attiny fusebit HV doctor will cure your dead tiny microcontrollers, by restoring all fusebits to factory settings – nice and easy. Supports all of the serial high voltage interface AVRs, that is 8-pins: Attiny11, Attiny12, Attiny13, Attiny15, Attiny25, Attiny45, Attiny85, and 14-pins: Attiny24, Attiny44, Attiny84. This is very simple and cheap to make, the brain of device is an Attiny2313 uC, couple of resistors and transistors, and a 5V stabilizer. You need 12V stabilized supply for this. Repair begins after the button START is pressed. Button is active again after 250ms, so pressing it will reset device and start a new repair process.
Step 1: LEDs Explanation
green on – patient successfully cured, fusebits repaired. If lockbits are enabled, just verify fusebits with factory ones – and if they ok – light up green.
red on – signature problem, can’t read, no device in socket, or no such signature in database.
green flashing – signature ok, fusebits are wrong. Lockbits enabled, chip erase permission required (read below).
red flashing – signature ok, no lockbits, but for some reason can’t write new fusebits, can’t pass verification after 10 attempts.
Step 2: How It Works
Device uses the High-Voltage Serial Programming (HVSP) to repair fusebits. First of all patient is switched to HV memory programming, then we read signature and check if it’s supported. Then the chip erase is performed if user allows it. Next the lockbits are read, if they not set, patient receives new fusebits, proper for readed model. After that, fusebits are verified, and if they pass the test – this is end of work. If not, doctor will repeat write-verify cycle 10 times, and give up when no success.
Step 3: Jumper Setting
You can find two jumpers on board:
chip erase – permit to erase whole flash memory. If lockbits are enabled, there is no possibility to set new fusebits. And there is only one way to disable lockbits – by erasing whole flash. Jumper close – permission to erase flash
unknown signature – it happens very rare, but it happens, that uC has erased signature. Signature, calibration bytes, and other data are not permanently stored in uC structure and they can be accidentally erased due to power supply spikes during programming or power cycling. Generally signature will be read as FF FF FF, but chip will work good, flash can be readed and written. If signature will not match to one from doctor database (FF FF FF or 00 00 00 too), closing this jumper will write a universal fusebits pack which will mess oscillator options and such, but will repair functionality of reset (disable RSTDISBL) and ISP programming (enable SPIEN). Microcontroller will be possible to further repair on SPI normal programmer. DO NOT use this option with Attiny11 or Attiny15.
Step 4: Download
Fusebits: internal 4MHz clock not divided by 8. Will be good to select the “fast rising power” too.
ATTENTION: FIRMWARE IN BETA VERSION. I was not able to test all of the mentioned uC’s, so if something is going bad, please contact me and i immediately make corrections in code.
DOWNLOAD eagle 5.4.0 project files, PDF & PNG schematic and PCB’s
HEX & BIN beta firmware.
Project site: AVR Attiny Fusebit Doctor (HVSP) - check for code update
Coming soon: AVR Atmega Fusebit Doctor (HVPP)
We have a be nice policy.
Please be positive and constructive.
Can I use an atmega 328p instead of attiny2313?
Well it wont plug and play the atmega 328p is 28 pins and the attiny 2313 is 20 pins. But if you are asking if you wire the circuit board for atmega 328p will it do the same job, then yes. Just search programming attiny with arduino uno.