AVR HVPP Configurator

1,815

4

10

Introduction: AVR HVPP Configurator

Recently I have got some ATMEGA8L chips that cannot be read nor programmed through USBASP. I was wondering whether these chips are usable or totally broken.

I have read the datasheet of chip and realized that the chip may not be able to read if it is locked and/or the fuse settings are wrong.

It also mentioned that High Voltage Parallel Programming (HVPP) can be used to rescue the chip. Therefore I build this to test it out.

You can make one to rescue your chips as well.

Step 1: Build the Circuit

You need following items:

1. One working ATMEGA micro controller (ATMEGA8/88/168/328, I have used a ATMEGA168PA board)

2. One 28 pins DIP socket for the target chip (You may use ZIP socket if you have one)

3. One NPN transistor (2N3904 or 2N2222 etc, I have used 2N3904 here)

4. Two 1K resistor

5. One 150R resistor (To limit current for red LED, you need 100R for green or blue LED)

6. One LED for +12V indicator (I have used red LED)

7. A 12V battery (A23) or a step-up module (I have used MT3608 step-up module in this project)

Solder them all together based on the Schematic.

Step 2: Program the Configurator Micro Controller

Load the source code in Arduino IDE, select your board and update the chip.

Or you can program the chip directly by using my pre-compiled HEX files.

Step 3: Configure the Problem Chip

Now, everything is ready. It is time to fix the problem chip.

You can use command through the Serial Monitor in Arduino IDE (BAUD 57600) to configure the chip. The full menu can be found inside the Arduino source code.

Alternatively, you can use the windows GUI to communicate with the configurator. The GUI has included all the functions that the configurator provide.

You may download the executable file or source code from my github and compile it yourself.

Step 4: Final Words

I have successfully rescue these un-readable chip and they all working fine after I have erase the chip and reset the fuse settings.

You can fix your problem chips as well.

To get more information and the full source code for the project, please visit my github.

https://github.com/zsccat/HVPP-Configurator

4 People Made This Project!

Recommendations

  • Make it Glow Contest

    Make it Glow Contest
  • First Time Author Contest

    First Time Author Contest
  • PCB Challenge

    PCB Challenge

10 Discussions

0
RobotBlack
RobotBlack

Question 2 months ago

Hi
I made this(I used Uno) and when write a fuse byte, works
normally but when I click on "Read fuses" reads all of them "04". And
also my ATmega8a is still unable to programming:( Do you think my uC is
dead or there's a mistake in my wiring?

0
zsccat
zsccat

Reply 6 weeks ago

Hi RobotBlack,

You may need to earse the chip before you can program it again. Please try to click on the "Earse Chip" button on the UI, then reconnect to the chip and try to program it again.

0
RobotBlack
RobotBlack

Reply 6 weeks ago

I tried it several times but uC didn't change.

0
zsccat
zsccat

Reply 5 weeks ago

Hi RobotBlack,

Can you read the chip ID out? Does the ID read out match the correct one?

I do have a few dead chips and all of them cannot read the correct ID out or the ID read out did not match the correct one.

Sure, please check your wiring as well. Make sure all these wires are connected as per in the program. The parallel programming use a lot of chip legs. If any of them are wrong, it will not work.

Anyway, check the chip ID first. If you can read the correct ID out, it means you have got the chip connected correctly.

0
RobotBlack
RobotBlack

Reply 5 weeks ago

Hi zsccat,
Thanks for your attention. I had two ATmega8a with same problem. So I changed 12v power supplay and tried with a new ATmega328p and it worked! Its HVPP module broke down when I used first ps (but still works with Serial Programming). My first ps had 16v!! :/

I suggest everyone to use a trusted power supply because most fake power supplies have a voltage much different from their nominal voltage.

0
zsccat
zsccat

Reply 5 weeks ago

Hi RobotBlack,

As your HVPP module is broken, you will need to be careful when applying fuses. HVPP suppose to be the last hope to recover a chip. Good luck and happy making!

0
fefcas
fefcas

1 year ago

Liked I lot this, I succeeded in the second try. After I had verified all the connections and looking at the ATMega328 datasheet, I had to swap the DATA bits on the sketch, because as they are shown in the schematics, they are inverted from MSB to LSB.

1
zsccat
zsccat

Reply 1 year ago

Hi fefcas,

I have updated sketch to match the schematics. Thanks again to find out that mistake I have made.

0
fefcas
fefcas

Reply 1 year ago

Yes, I see, thanks for that!.

0
zsccat
zsccat

Reply 1 year ago

Hi fefcas,

Sorry for the trouble, I did build the circult first and create the schematics just before I get it uploaded to instructables. I think I may had make a mistake when I create the schematics. Thank you for find out my mistake and I will update the sketch later to match the schematics.