How to reset ATmega328P fuses using Arduino Pro Mini and USBasp programmer

arduino

I think I bricked two ATmega328Ps when I was trying to burn new bootloaders using Arduino Pro Mini, the USBasp programmer and the Extreme Burner AVR software. I had two ATMega328p with bad booloaders and I intended burn the correct bootloader to the chips.

First I connected the USBasp programmer to my Arduino Pro Mini equipped with an ATmega328P. I verified that communication was good as I could read and write to EEPROM. All was excellent.

I was using the following fuses:

LOW Fuse Byte=0x62
High Fuse Byte=0xD9
Extended=0xFF 
Lock = 0xFF
Calibration = 0xFFFF FF8A

Then the following happened:

  1. I killed the 1st chip when I only pressed button ERASE CHIP on the programmer.

  2. I killed the 2nd chip when I wrote the following fuses to it:

LOW Fuse Byte=0xFF
High Fuse Byte=0xDA
Extended=0xFD 
Lock Fuse = 0xCF

In both cases I had the following error message:

Cannot Communication with chip
Power On failed

avrdude output similar messages:

RC=-1. No answer...
(avrdude -c usbasp -p m328p -U lfuse:w:0x62:m -U hfuse:w:0xd9:m -U efuse:w:0xff:m )

How can I solve this problem?

How can I reset all the fuses to factory default to make the chips respond again?

Best Answer

If I understand you correctly, these are standalone chips?

The fuse values you set have the chips clocked by an external oscillator. Either set up a crystal on a breadboard, or just generate a clock with a PWM signal from your Arduino Pro Mini (in the latter case, you may want to limit your programming speed).