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

