This is a project of AVR Atmega fusebit doctor (HVPP+HVSP). Hardware and software: Manekinen (Paweł Kisielewski) manekinen@gmail.com Compiler: bascom v.1.11.9.0 PCB: Eagle light v.5.4.0 Project website: http://diy.elektroda.eu/atmega-fusebit-doctor-hvpp/ English language: http://diy.elektroda.eu/atmega-fusebit-doctor-hvpp/?lang=en Any modifications allowed, do not remove this README! from archive. Do not remove info from pcb and code. Any usage of this project in commercial/profit purposes is prohibited. Have a question? Post in comments on site, or contact me at manekinen@gmail.com For software updates notifications, follow me at http://www.twitter.com/manekinen 03.05.2010 ******************************************************************************* ******************************************************************************* SUPPORTED CHIPS LIST (from v2.04): 1kB: AT90s1200, Attiny11, Attiny12, Attiny13/A, Attiny15 2kB: Attiny2313/A, Attiny24/A, Attiny26, Attiny261/A, Attiny28, AT90s2333, Attiny22, Attiny25, AT90s2313, AT90s2323, AT90s2343 4kB: Atmega48, Atmega48P/A, Attiny461/A, Attiny43U, Attiny4313, Attiny44/A, Attiny48, AT90s4433, AT90s4414, AT90s4434, Attiny45 8kB: Atmega8515, Atmega8535, Atmega8, Atmega88, Atmega88P/A, AT90pwm1, AT90pwm2, AT90pwm2B, AT90pwm3, AT90pwm3B, AT90pwm81, AT90usb82, Attiny84, Attiny85, Attiny861/A, Attiny87, Attiny88, AT90s8515, AT90s8535 16kB: Atmega16/A, Atmega16U2, Atmega16U4, Atmega16M1, Atmega161, Atmega162, Atmega163, Atmega164, Atmega164P/A, Atmega165/P/A/PA, Atmega168, Atmega168P/A, Atmega169/P/A/PA, Attiny167, AT90pwm216, AT90pwm316, AT90usb162 32kB: Atmega32/A, Atmega32C1, Atmega323/A, Atmega32U2, Atmega32U4, Atmega32U6, Atmega32M1, Atmega324, Atmega324P/A, Atmega325, Atmega3250, Atmega325P, Atmega3250P, Atmega328, Atmega328P, Atmega329, Atmega3290, Atmega329P, Atmega3290P, AT90can32 64kB: Atmega64/A, Atmega64C1, Atmega64M1, Atmega649, Atmega6490, Atmega640, Atmega644, Atmega644P/A, Atmega645, Atmega6450, AT90usb646, AT90usb647, AT90can64 128kB: Atmega103, Atmega128/A, Atmega1280, Atmega1281, Atmega1284, Atmega1284P, AT90usb1286, AT90usb1287, AT90can128 256kB: Atmega2560, Atmega2561 ******************************************************************************* ******************************************************************************* CHANGELOG: ________________________ First release 03.05.2010 Hardware 2.0c PCB -first PCB - BUGGED - DO NOT CLONE! Firmware 2.0g BETA: -first public release -support only Atmega8, Atmega16, Atmega32 FUSEBITS: internal 8MHz clock, EESAVE enabled ( L:0xE4 H:0xD1 ) ____________________ #1 UPDATE 15.05.2010 Hardware 2.0d PCB: -fixed reset line issues - added 1K pulldown resistor Firmware 2.01 BETA: -added support for 73 chips, total 76 FUSEBITS: internal 8MHz clock, EESAVE enabled ( L:0xE4 H:0xD1 ) ____________________ #2 UPDATE 03.06.2010 Hardware adapters: -"#1 adapter" as HVPP extension, for 20pin Attiny26 compatible and 40pin Atmega8515 compatible processors. -"HVSP adapter" for 8pin and 14pin HVSP processors. Firmware 2.03: -added support for HVPP chips: AT90s8515, AT90s8535, AT90s1200, AT90s4433, AT90s4414, AT90s4434, AT90s2333 -added support for HVSP adapter and HVSP chips: (8pin) Attiny11, Attiny12, Attiny13, Attiny15, Attiny25, Attiny45, Attiny85, Attiny22, AT90s2323, AT90s2343 (and 14pin) Attiny24, Attiny44, Attiny84 -device will automatically detect the HVSP adapter and start in the HVSP mode (info on rs232 output). FUSEBITS: internal 8MHz clock, EESAVE enabled ( L:0xE4 H:0xD1 ) Other: -added all sockets compatibility list with images... "B" means that this is the adapter #1 socket, and "C" - HVSP adapter socket. -total supported chips: 96, total DIL socket compatible: 53. -as this is now 2in1 (HVPP and HVSP) 8kB of Atmega8 memory was too short to fit all the goods inside... -not all of chips names are send over rs232, but most common. This does not affect fixing process in any way. -some of text for rs232 are holded in the eeprom memory. Even if you do not need the rs232 output, you MUST write the EEP.BIN ____________________ #3 UPDATE 31.07.2010 Firmware 2.04: -fixed couple of bugs -added new processors support, total 106 (138) -internal clock change to 1MHz, budrate on UART output change to 2400bps ATTENTION, FUSEBITS! If you make an update of firmware to 2.04, please change the internal clock generator to 1MHz. If you make this circuit from beginning, just set the EESAVE fusebit – 1MHz clock is already set as default. FUSEBITS: internal 1MHz clock, EESAVE enabled ( L:0xE1 H:0xD1 ) ____________________ #4 UPDATE 18.08.2010 Firmware 2.05: -no eeprom file needed -improved support for 20-pin chips -improved signature recognition -fixed attiny26 issues -no chip names trough uart -uart baudrate 4800 (2400 was just too slow) FUSEBITS: internal 1MHz clock, EESAVE enabled ( L:0xE1 H:0xD1 ) ____________________ #5 UPDATE 07.11.2010 Firmware 2.06: -fixed Atmega324P signature recognition -added proper timings for Attiny15 on PB.3 -fixed data bug in hvsp "chip erase" command -added proper additional data for Attiny15 "chip erase" command FUSEBITS: internal 1MHz clock, EESAVE enabled ( L:0xE1 H:0xD1 ) ____________________ #6 UPDATE 27.11.2010 Hardware: Added a SMD version of PCB - by Shuffle (thanks!) -"doctor" part as smd -dip sockets part as a adapter -added usb (tf232 chip) Check the "SMD-pcb" folder, added only necessary files. To get original package from Shuffle (with pictures), go back to download page. ____________________ #7 UPDATE 23.01.2011 Hardware V2e: -added a 100ohm pulldown resistor for +5V line Now, circuit is more stable This fixes a problem when some of chips worked in non-HV mode and we can't fix the RSTDISBL fusebit. Firmware 2.07: -CRITICAL FIX for AT90s1200, AT90s2313, AT90s2323, AT90s2343, AT90s4414, AT90s4434, AT90s8515, AT90s8535 (different fusebits and lockbits adresses, see datasheet) -also, improved AT90s2313 default fuses - short start-up time is disabled by default. -added new chips to uc's database: Atmega406, Atmega16HVB, Atmega32HB (not listed above). Those are supported theoretically, see datasheet how to program "battery magament avr's". -fixed bug in rs232 info FUSEBITS: internal 1MHz clock, EESAVE enabled ( L:0xE1 H:0xD1 ) Compiled with basc-avr 2.0.4.0 ____________________ #8 UPDATE 05.03.2011 Firmware 2.08: -fixed default fuses values for: Attiny28, Atmega161, Atmega163. -AT90s2313 still was bugged (after critical fix in 2.07) - FIXED -now, you can use following (backwards compatible with m8) uC as doctor chip: Atmega88, Atmega88P, Atmega168, Atmega168P, Atmega328, Atmega328P. Code for 16kB and 32kB chips will send uC names trough uart (like in 2.04 firmw). FUSEBITS: internal 1MHz clock, EESAVE enabled: M8 L:0xE1 H:0xD1 M88,M168 L:0x62 H:0xD7 E:0xF9 M328 L:0x62 H:0xD1 E:0xFF