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 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.
How it works
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.
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.
High voltage programming
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.
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.
Fusebits: internal 4MHz clock not divided by 8. Will be good to select the “fast rising power” too.
ATTENTION! -> on 09.11.2010 i’ve released last update for this project. It wont be no longer updated, scince there is a Atmega fusebit doctor which supports attiny family too (138 chips in total). Build cost for both circuits is pretty the same, so its better to make the better one.
Here are all of the attachments, of course we choose the latest one:
DOWNLOAD – First release:
PCB V2 – buggy!
FIRMWARE V1 – first release
DOWNLOAD – Update 09.05.2010:
FIRMWARE V2 – Added support for: Attiny22, AT90s2323, AT90s2343
Fixed(?) bugs with tiny15 i tiny11. Added source code.
DOWNLOAD – Update 09.11.2010:
PCB V3 – fxed reset issues by adding 1K pulldown resistor for reset line.
FIRMWARE V3 – fixed Attiny15 timings on PB3, fixed data in chip erase command. Added source code.