6

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:

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

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?

  • 1
    So you were running the atmega at 1Mhz? In that case you need to program the chip at a lower speed. You can do that in avrdude using avrdude -B10 .... – Gerben Jul 5 '14 at 11:00
  • Beware at least some versions of some of these simple programmers don't support altering the programming speed; not sure if they will complain or silently ignore the option. – Chris Stratton Jul 8 '14 at 14:10
  • The USBASP has to have a jumper set to program in low-speed mode and some of the ones you can buy don't have the jumper header installed; some don't even have the pins hooked up at all. Grab the USBASP schematic and see if your programmer has the pins connected and see if you can hack on a header so you can set the jumper (or maybe luck out and find that the header is already there). – imjosh Jul 9 '14 at 14:57
2

Its possible you may have disabled the SPIEN or the RSTDISBL fuses. The only way to check and fix is to use a High Voltage Programmer like the STK500, STK600 or AVR Dragon and see. I have the AVR Dragon and it saved me a few times.

Also, do a search for AVR Fuse Doctor. Its a homemade fuse repair device. Pretty cool. But save yourself some time and invest in a programmer/debugger that has HVPP (high voltage parallel programming) and HVSP (high voltage serial programming). You won't regret it.

1

As someone mentioned, the first chip you may be able to fix by passing -B10 to avrdude. In order to program an AVR, the programmer has to be running at a slower speed than the chip you're programming is running. The fuses you have set cause the chip to run at 1Mhz using the internal clock, and -B10 will cause it to go slower (the defaults are suitable for programming a chip that is running faster than 4MHz).

The second chip, the fuses are set to 8MHz using an external crystal, so in order to fix it, you'll need to hook up an 8MHz crystal, or use a high voltage programmer.

Good luck!

0

Hi that happened to my Nano with atmega 328p using a usbasp programmer just checking the fuse settings to make a backup with out programming, the Extreme Burner AVR software caused the problem as it read the wrong device signature, it gave me 0x0f951e after disconnecting and trying my Nano 328p it would not work I do not use that software anymore and never had a problem with making backups with other software.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.