BootLoading a ATMEGA328 U (AMEL 35473D ) via an Uno Board Signature Error

Have error code " avrdude: Expected signature for ATmega 328p is 1E 95 0F Double check chip .or use -F to over ride see attached
the chip stamp has AMEL 3547D Atmega 328 U 2049HRR ( I order a ATmega 328 PU but 328 u -this is what they sent me ))
NOT SURE WHAT TO DO -Need GUIDANCE
and if I do a -F where do I insert it ?
I followed the directions in the tutorial , use the schematic , Wiring is okay , communication okay but this error
I noticed that the chip in mu UNO board is AMEL 35473D Atmega 328P U 2025SJJ
Is this causing a issue ?

Just ignore -F, it doesn't help.
Switch on the more detailed info for uploading in the preferences.
Check the circuit again.
It can be difference in the MCU. There are various 328 on the market and 328P differs in signature from 328 (1E9514), it could be the problem. Check it according the datasheet.

Different packages , versions, temperature ranges etc if the chip report back different device signatures. If that number is not recognised by the IDE it throws an error .
You can add your new signature , this might help :

You have cut off the most important part of the error message. The most common causes of this error can not be fixed by -F or by editing avrdude.conf, so please don't waste your time and potentially mess up your toolchain by going down either of those rabbit holes until we have completed the minimal initial investigation.

Please do this:

  • Tools > Burn Bootloader
  • After the Burn Bootloader process fails, you'll see a button on the right side of the orange bar: "Copy error messages". Click that button.
  • In a forum reply here, click on the reply field.
  • Click the </> button on the forum toolbar. This will add the forum's code tags markup to your reply.
  • Press "Ctrl + V". This will paste the Burn Bootloader output between the code tags.
  • Move the cursor outside of the code tags before you add any additional text to your reply.

This procedure is what you should always follow when asking for help with error or warning messages on the forum. Posting screenshots of text is not very helpful.

Arduino: 1.8.13 (Windows 10), Board: "Arduino Uno"

Error while burning bootloader.

avrdude: Expected signature for ATmega328P is 1E 95 0F

         Double check chip, or use -F to override this check.



This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

First thanks for letting me know how to copy the error to the form Here is the error The data sheet given is ATmega48PA/88PA?168P/328P from ATMEL 8 bit AVR Microcontroller with 4/8/16/32K Bytes In System Programmable flash

Arduino: 1.8.13 (Windows 10), Board: "Arduino Uno"

C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM8 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0xFD:m -Uhfuse:w:0xDE:m -Ulfuse:w:0xFF:m 



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:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"



         Using Port                    : COM8

         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 = 0x1e9514 (probably m328)

avrdude: Expected signature for ATmega328P is 1E 95 0F

         Double check chip, or use -F to override this check.



avrdude done.  Thank you.



Error while burning bootloader.



This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

I included all the complier warnings when back to preferences included " all "

OK, very good. So it is recognizing the signature correctly, rather than the thing that happens 99% of the time where the signature check fails because the chip is not recognized at all.

My recommended solution is to use MiniCore:

After installing it, you'll be able to select Tools > Board > MiniCore > ATmega328, then Tools > Variant > 328 / 328A. After that, you'll have no problems with the signature because the Arduino IDE will be configured for the chip you have.

Because the ATmega328 and the ATmega328P are identical in every way that matters for these purposes, the other options will work as well: running avrdude from the command line with the -F flag to cause it to ignore the signature mismatch, or editing avrdude.conf as @hammy recommended. Those are slightly more complex than the MiniCore approach, but not by much.

Looks like you got an ATmega328-PU instead of an ATmega328P-PU. The 'P' after 328 is important.

One way to work around the problem is to find a 'board' declaration that uses the 328. The declaration for the UNO in boards.txt is:

##############################################################


uno.name=Arduino Uno


uno.vid.0=0x2341
uno.pid.0=0x0043
uno.vid.1=0x2341
uno.pid.1=0x0001
uno.vid.2=0x2A03
uno.pid.2=0x0043
uno.vid.3=0x2341
uno.pid.3=0x0243


uno.upload.tool=avrdude
uno.upload.protocol=arduino
uno.upload.maximum_size=32256
uno.upload.maximum_data_size=2048
uno.upload.speed=115200


uno.bootloader.tool=avrdude
uno.bootloader.low_fuses=0xFF
uno.bootloader.high_fuses=0xDE
uno.bootloader.extended_fuses=0xFD
uno.bootloader.unlock_bits=0x3F
uno.bootloader.lock_bits=0x0F
uno.bootloader.file=optiboot/optiboot_atmega328.hex


uno.build.mcu=atmega328p
uno.build.f_cpu=16000000L
uno.build.board=AVR_UNO
uno.build.core=arduino
uno.build.variant=standard


##############################################################

It may work to create a file 'hardware/breadboard/boards.txt' in your sketch folder with the following content:

##############################################################

ATmega328.name=ATmega328 on a Breadboard

ATmega328.vid.0=0x2341
ATmega328.pid.0=0x0043
ATmega328.vid.1=0x2341
ATmega328.pid.1=0x0001
ATmega328.vid.2=0x2A03
ATmega328.pid.2=0x0043
ATmega328.vid.3=0x2341
ATmega328.pid.3=0x0243

ATmega328.upload.tool=avrdude
ATmega328.upload.protocol=arduino
ATmega328.upload.maximum_size=32256
ATmega328.upload.maximum_data_size=2048
ATmega328.upload.speed=115200

ATmega328.bootloader.tool=avrdude
ATmega328.bootloader.low_fuses=0xFF
ATmega328.bootloader.high_fuses=0xDE
ATmega328.bootloader.extended_fuses=0xFD
ATmega328.bootloader.unlock_bits=0x3F
ATmega328.bootloader.lock_bits=0x0F
ATmega328.bootloader.file=optiboot/optiboot_atmega328.hex

ATmega328.build.mcu=atmega328
ATmega328.build.f_cpu=16000000L
ATmega328.build.board=AVR_UNO
ATmega328.build.core=arduino
ATmega328.build.variant=standard

##############################################################

The only change is from mcu=atmega328p to mcu=atmega328. If you select this board type before burning a bootloader it should expect a 328 instead of a 328P.

Arduino: 1.8.13 (Windows 10), Board: "ATmega328, Yes (UART0), EEPROM retained, 328 / 328A, BOD 2.7V, LTO disabled, External 16 MHz"

C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\MiniCore-master\avr/avrdude.conf -v -patmega328 -cstk500v1 -PCOM8 -b19200 -e -Ulock:w:0x3f:m -Uefuse:w:0b11111101:m -Uhfuse:w:0b11010110:m -Ulfuse:w:0b11110111:m 



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:\Program Files (x86)\Arduino\hardware\MiniCore-master\avr/avrdude.conf"



         Using Port                    : COM8

         Using Programmer              : stk500v1

         Overriding Baud Rate          : 19200

         AVR Part                      : ATmega328

         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 = 0x000000 (retrying)



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



avrdude: Device signature = 0x000000 (retrying)



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



avrdude: Device signature = 0x000000

avrdude: Yikes!  Invalid device signature.

         Double check connections and try again, or use -F to override

         this check.





avrdude done.  Thank you.



Error while burning bootloader.



This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Now it does not seem to recognize the chip I'm going to re order make sure I get ATMEGA328P-PU
thanks for you help Oh I did check all my connections

I bought some 328 (no P) chips by mistake and using the, previously mentioned, MiniCore make it a breeze to bootload them. Besides, if you bootload to 8MHz internal you get 2 more GPIO pins.

aedford1551:

avrdude: Device signature = 0x000000

avrdude: Yikes!  Invalid device signature.

This is the signature error we see more often.

Carefully check the wiring between the programmer and target.

I see a crystal in the circuit diagram on the tutorial you are following. Do you have one on your circuit? Make sure it's wired correctly.

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