I was programming on the AVR ATmega328P using the USBasp programmer. I uploaded the blink example but the LED was not blinking. Thus I went on changing the fuse bits to the one Arduino has. During this suddenly my avrdude crashed and my all fuse bits were set to zero. After that, I tried again and again but didn't work using the external oscillator method. I used another chip to check if it isn't the issue of the programmer but it wasn't, as the new chip worked well. The oscillator method didn't work this time.

Now I want to erase the chip completely to reset. I currently have this programmer available but I don't know how to use this for high voltage programming or if this supports that or not, as I couldn't find any clue in the software about that.

  • 2
    \$\begingroup\$ Surely the manual would tell which chips it can program and how? Basically a new Atmega328P costs about $3 in single units so is it worth spending much time how to revive it? Also, if the fuse bits all went to 0 like you say, it means the MCU can't be reprogrammed any more, if RSTDISBL is 0 so it won't respond to reset and LB lock bits being zero means further programming is disabled. \$\endgroup\$
    – Justme
    Jul 20, 2023 at 10:07
  • 1
    \$\begingroup\$ I can upload the code using this programmer but and change the fuses .But these are temporary in this and they are just considered when uploading the program, as I take it out the fuse bits are set back to my own. How can I permenently change them or if I can get a hex file kind of thing for the fuses as well \$\endgroup\$
    – kam1212
    Jul 20, 2023 at 11:02
  • \$\begingroup\$ From what I could find, the only way that the ATmega328P can be hopelessly damaged (bricked) is from applied voltages beyond specification. But you might need to use high voltage parallel programming. I have a AVR Dragon with which I was able to revive a bricked device. Some links: eevblog.com/forum/microcontrollers/bricked-atmega-328 electronics.stackexchange.com/questions/490943/… onlinedocs.microchip.com/pr/… \$\endgroup\$
    – PStechPaul
    Jul 20, 2023 at 21:02

1 Answer 1


So I found the solution and after that my chip started to work fine, all the fuse bits were back to normal. The technique used was high-voltage parallel programming. I used the Arduino to send signals to the chip as shown in the datasheet. I first got the chip to programming mode. Then set fuse bits both high and low. Run my code in a loop it programmed and set fuses again and again. After that, I took a second Arduino and used that as an ISP. I went to avr dude and it worked fine. All fuse bits were back to normal. I guess it was due to the 11.7V reset voltage I used again and again(Inside loop). But this method worked for me.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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