Burning Bootloader on a Arduino UNO with another Arduino UNO

Hello guys,

I am a kind of newbie and I am in a dead end with my problem: I try to burn the bootloader on a Arduino UNO with the ATMEGA 328P with another Ardunio UNO in the same configuration (But as a replica from Elegoo). But it does not work. Here is the error message:

***failed;
avrdude: verification error, first mismatch at byte 0x0000
0x0f != 0x3f
avrdude: verification error; content mismatch

Anyone a guess what I am doing wrong?

Some background information:
How am I doing it?
I followed the instructions form this offical link:
https://support.arduino.cc/hc/en-us/articles/360012048080-How-to-burn-the-bootloader-between-two-Arduino-UNO
I made an additional step which is not descriped in the instruction: I choosed "Arduino as ISP" as programmer.

What is it doing?
I have the LEDs connected to check what the Ardunio is doing. The Heartbeat-LED is breathing constantly and when I burn the bootloader first the Error-LED flashes once and then the Programming-LED flashes once.

Why am I doing it?
I wanted to get a new script on the "target ardunio", but that did not work. The error message was something like:

avrdude: verification error, first mismatch at byte 0x0000
0x0f != 0x3f

Beside that the old script worked just fine.
So the internet adviced me to reburn the bootloader. I followed the above mentioned instruction and now, if I try to get a new script on the Ardunio I get the following error message after a long time of "uploading":

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x56

The old script does not work anymore.

Thank you in advance for helpful advices. I have reached the end of my wisdom.

Any chance you are using an older avrdude?
Is it failing while verifying Lock bits?
Use the command from an updated Arduino IDE like 1.8.13.
In Linux the avrdude you download lags behind the avrdude you get with the Arduino IDE.

Have you tried connecting a 10uF capacitor between the RESET pin and GROUND on the UNO being used as the programmer? Without the capacitor, the programmer board may reset during the programming cycle.

kprims:
Any chance you are using an older avrdude?
Is it failing while verifying Lock bits?
Use the command from an updated Arduino IDE like 1.8.13.
In Linux the avrdude you download lags behind the avrdude you get with the Arduino IDE.

Thank you for the tip.
I use the actual IDE 1.8.13 which is provided in the Windows Store.
Unfortunately, I do not know exactly when it falis. Is there any possibility to get a better error message than:
***failed;
avrdude: verification error, first mismatch at byte 0x0000
0x0f != 0x3f
avrdude: verification error; content mismatch
?

david_2018:
Have you tried connecting a 10uF capacitor between the RESET pin and GROUND on the UNO being used as the programmer? Without the capacitor, the programmer board may reset during the programming cycle.

Thank you for this info. I have put a 10µF capacitor between RESET and GROUND of the programmer UNO, but the result is still the same error message.
Any other guesses?

I use the actual IDE 1.8.13 which is provided in the Windows Store.

You may want to try the download from the Arduino site. Some people have had problems with the Windows Store.

Is there any possibility to get a better error message than:

File->Preferences->Show verbose output during:. Tick box for upload.J

kprims:
You may want to try the download from the Arduino site. Some people have had problems with the Windows Store.

File->Preferences->Show verbose output during:. Tick box for upload.J

I tried also the the IDE from the Arduino site: same issue

But here is a protocoll of the upload error when trying to burn the bootloader:


avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch

System wide configuration file is "C:\Users\Marc\Downloads\arduino-1.8.13-windows\arduino-1.8.13\hardware\tools\avr/etc/avrdude.conf"

Using Port : COM5
Using Programmer : stk500v1
Overriding Baud Rate : 19200
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :

Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack


eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00

Programmer Type : STK500
Description : Atmel STK500 Version 1.x firmware
Hardware Version: 2
Firmware Version: 1.18
Topcard : Unknown
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: erasing chip
avrdude: reading input file "0x3F"
avrdude: writing lock (1 bytes):

Writing | ***failed;
################################################## | 100% 0.07s

avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x3F:
avrdude: load data lock data from input file 0x3F:
avrdude: input file 0x3F contains 1 bytes
avrdude: reading on-chip lock data:

Reading | ################################################## | 100% 0.01s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
0x0f != 0x3f
avrdude: verification error; content mismatch

avrdude done. Thank you.


Unfortunately, I am not capable to understand everything.

Maybe someone else?

And thank you very much for yout tips until now.

This might not help but can you make sure you have set board to Arduino Uno while uploading boot loader. You may try with
setting board as Arduino Duemilanove .Do check once what is exactly written on top of ATmega for the elegoo one.
After ATMEGA328p it would have something written like PU or AU .etc

Archut:
This might not help but can you make sure you have set board to Arduino Uno while uploading boot loader. You may try with
setting board as Arduino Duemilanove .Do check once what is exactly written on top of ATmega for the elegoo one.
After ATMEGA328p it would have something written like PU or AU .etc

First, I compared both chips:

  1. Arduino (the broken one):
    ATMEL(as logo) 35473D
    ATMEGA328P U
    181437M
  2. Elegoo (the one that should burn the bootloader):
    ATMEL(as logo) 35473D
    ATMEGA328P U
    2003Y7K
    I guess the last number is a serial number and it is the only number that is different.

I tried also to set the board as Arduino Duemilanove while uploading and/or while burning the bootlaoder. Uploading goes not even work, while burning leads to the exact same error message than above. I am really clueless. :frowning:

So now you are full of clues and not clueless.
As of I know arduino uno uses ATMEGA328P-PU and not ATMEGA328P-U.
Your problem has been earlier solved in this thread, have a look.
https://forum.arduino.cc/index.php?topic=564674.0
Alternatively you can have a look at this Burning the ATMega328p Bootloader and select your board accordingly while uploading.
Always check your IC information and then search.

Add Karma if you like :slight_smile:

Archut:
As of I know arduino uno uses ATMEGA328P-PU and not ATMEGA328P-U.

My original Arduino Uno has been delivered with the ATMEGA328P-U.

Archut:
Your problem has been earlier solved in this thread, have a look.

As far as I understand that right, the solution is to buy a new chip...

Archut:
Alternatively you can have a look at this Burning the ATMega328p Bootloader and select your board accordingly while uploading.

It is written on this site that the MiniCore package only brings support for this ICs:
ATmega8
ATmega48
ATmega88
ATmega168
ATmega328
ATmega328PB

Archut:
Always check your IC information and then search.

Nevertheless, I tried with this instruction and it did not work. The errors are the same than in my previous posts. I tried the "AVR ISP (MiniCore)" and "Arduino as ISP (MiniCore)"-options.

It seems that my ATMEGA328P-U is broken. :frowning:

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.