This is Yaafr, Yet Another AVR Fusebit Rescuer. It is large because of all the ZIF-sockets and does not even feature any mounting holes. It also has two IDC headers for expanding to programming clips or other adapters to rescue non-dip AVR microcontrollers.
It is be able to restore wrongly fused or locked AVR microcontrollers that support high voltage parallel (HVPP) programming or high voltage serial programming (HVSP).
This circuit has been inspired by these projects:
RescueAVR by Bernhard.
AVR Fuse Rescue Shield for Arduino Uno by Dmitry Melnichansky.
Arduino-based AVR High Voltage Programmer by Jeff Keyzer.
Atmega Fusebit Doctor by Paweł Kisielewski.
Firmware update 2.11 from the Atmega Fusebit Doctor for the atmega328p has been tested and is working. The original site does not exist anymore, but SukkoPera has been so kind to archive the remains: https://github.com/SukkoPera/avr-fusebit-doctor/
Firmware from RescueAVR in FBD_MODE works also, but may not contain support for all the chips (such as the AT90S1200).
This project is working for me, I can rescue all my locked AVRs. See below for what I have tested and validated to be working.
While the schematic was carefully made, the PCB has not been fully tested yet.
I added the possibility to switch on and off AGND and AVCC because in many datasheets in one instance they must be connected and in the next they must not, however leaving the switches always on connected when it does not need to be then the rescues seem to work just fine.
Thing | Tested and working? |
---|---|
40-pin DIP style A | ☑️ |
40-pin DIP style B | ☑️ |
28-pin DIP style A | ☑️ |
20-pin DIP style A | ☑️ |
20-pin DIP style B | ☑️ |
14-pin DIP style A | ☑️ |
8-pin DIP style A | ☑️ |
AVR Atmega fusebit doctor firmware 2.11 | ☑️ |
RescueAVR firmware | ☑️ |
Serial connection | ☑️ |
Fusebit doctor compatible expansion header | ☑️ |
HVPP expansion header | 🔲 |
HVSP expansion header | 🔲 |
Model | Signature | Working |
---|---|---|
AT90S8535 | 0x1E 0x93 0x03 | ☑️ |
ATmega8535 | 0x1E 0x93 0x08 | ☑️ |
ATmega163 | 0x1E 0x94 0x02 | ☑️ |
ATmega323 | 0x1E 0x95 0x01 | ☑️ |
ATmega16A | 0x1E 0x94 0x03 | ☑️ |
ATmega32A | 0x1E 0x95 0x02 | ☑️ |
ATmega324A | 0x1E 0x95 0x15 | ☑️ |
ATmega644PA | 0x1E 0x96 0x0A | ☑️ |
ATmega1284P | 0x1E 0x97 0x05 | ☑️ |
Model | Signature | Working |
---|---|---|
AT90S4414 | 0x1E 0x92 0x01 | ☑️ |
AT90S8515 | 0x1E 0x93 0x01 | ☑️ |
ATmega8515 | 0x1E 0x93 0x06 | ☑️ |
ATmega161 | 0x1E 0x94 0x01 | ☑️ |
ATmega162 | 0x1E 0x94 0x04 | ☑️ |
Model | Signature | Working |
---|---|---|
AT90S2333 | 0x1E 0x91 0x05 | ☑️ |
AT90S4433 | 0x1E 0x92 0x03 | ☑️ |
ATmega8 | 0x1E 0x93 0x07 | ☑️ |
ATmega48 | 0x1E 0x92 0x05 | ☑️ |
ATmega88 | 0x1E 0x93 0x0A | ☑️ |
ATmega168 | 0x1E 0x94 0x06 | ☑️ |
ATmega328 | 0x1E 0x95 0x14 | ☑️ |
ATtiny48 | 0x1E 0x92 0x09 | ☑️ |
ATtiny88 | 0x1E 0x93 0x11 | ☑️ |
Adapter for TQFP32: https://github.com/atoomnetmarc/Fusebit-Doctor-TQFP32-adapter
Model | Signature | Working |
---|---|---|
AT90S1200 | 0x1E 0x90 0x01 | ☑️ |
AT90S2313 | 0x1E 0x91 0x01 | ☑️ |
ATtiny2313 | 0x1E 0x91 0x0A | ☑️ |
ATtiny2313A | 0x1E 0x91 0x0A | ☑️ |
ATtiny4313 | 0x1E 0x92 0x0D | ☑️ |
Model | Signature | Working |
---|---|---|
ATtiny26 | 0x1E 0x91 0x09 | ☑️ |
ATtiny261A | 0x1E 0x91 0x0C | ☑️ |
ATtiny461 | 0x1E 0x92 0x08 | ☑️ |
ATtiny461A | 0x1E 0x92 0x08 | ☑️ |
ATtiny861A | 0x1E 0x93 0x0D | ☑️ |
Model | Signature | Working |
---|---|---|
ATtiny24 | 0x1E 0x91 0x0B | ☑️ |
Model | Signature | Working |
---|---|---|
AT90S2323 | 0x1E 0x91 0x02 | ☑️ |
AT90S2343 | 0x1E 0x91 0x03 | ☑️ |
ATtiny12 | 0x1E 0x90 0x05 | ☑️ |
ATtiny15 | 0x1E 0x90 0x06 | ☑️ |
ATtiny13 | 0x1E 0x90 0x07 | ☑️ |
ATtiny25 | 0x1E 0x91 0x08 | ☑️ |
ATtiny45 | 0x1E 0x92 0x06 | ☑️ |
ATtiny85 | 0x1E 0x93 0x0B | ☑️ |
- No known erratum, however this pcb version has not been made yet.
- 10.16mm wide 28-pin ZIF socket X3 seems to be unobtanium. Changed for 7.62mm wide 'narrow' 28-pin zif socket in V1.1 pcb.