Hi to all!
Trying to burn bootloader in atmega328p using arduino uno as isp programmer as instructed here-https://www.arduino.cc/en/Tutorial/ArduinoToBreadboard.
Also using 10microfarad capacitor at reset and gnd of uno.
Getting eeror message as 'invalid device signature' during burning bootloader. Have read lots of posts related to the issue but found no way out. Attaching pics and error message for kind support. would be very thankful for kind support.
Arduino: 1.8.8 (Windows 10), Board: "Arduino Duemilanove or Diecimila, ATmega328P"
C:\Users\Dell\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino14/bin/avrdude -CC:\Users\Dell\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino14/etc/avrdude.conf -v -patmega328p -carduino -PCOM4 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0xFD:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xFF:m
avrdude: Version 6.3-20171130
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Users\Dell\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino14/etc/avrdude.conf"
Using Port : COM4
Using Programmer : arduino
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 : Arduino
Description : Arduino
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.00s
avrdude: Device signature = 0x000000 (retrying)
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x000000 (retrying)
Error while burning bootloader.
Reading | ################################################## | 100% 0.00s
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.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
In the future, please always post error output directly to the forum. Many forum users won't bother to download and open a text file just to see whether they can help so putting it in an attachment will make it less likely for you to get a solution to your problem. In the case where the output exceeds the forum's 9000 character limit, it's OK to use an attachment but in this case it's nowhere near 9000.
"Device signature = 0x000000" usually indicates a problem with your wiring. Please triple-check all your wiring. Jumper wires sometimes get internal breaks that cause them to no longer conduct electricity. You can check the continuity of your connections with a multimeter to ensure that hasn't happened.
signature 0x000000 indicates a wiring error, or that you have previously bootloaded the chip to use a crystal, but no crystal is connected, or it is connected improperly (missing loading caps, or long wires to the crystal - the wires between chip and crystal, on the loading caps need to be as short as possible (unlike what is shown in the tutorial! The crystal should be inserted in the same rows as the crystal pins, and the caps should go straight to ground)
If you bootload a virgin chip with no crystal as an uno, it will set the fuses to use a crystal, exit programming mode, and try to reenter it to write the flash - but at that point, the fuse settings will have been applied, and lacking a crystal, the second half of the process will fail. Subsequent attempts will fail immediately.
The arduino to breadboard tutorial on the official site also omits the two 0.1uF decoupling caps needed between Vcc and Gnd and AVcc and Gnd (again, right next to the chip). That tutorial sucks (actually, a lot of the tutorials show rookie mistakes, particularly w/regards to hardware - It would appear that nobody who knew what they were doing looked over them before throwing them up on the site) Use the Nick Gammon breadboard arduino tutorial - his tutorials are excellent - he's one of the rare few people who both likes writing up guides, and knows what he's doing. Usually by the time someone is qualified to write a guide, they are no longer interested in doing so (I've seen this again and again, in many subjects)
As I understand, attempts have been made to get that tutorial corrected, to no avail.
Thanks a lot to Pert for reply and a very good suggestion to post error message directly and not as an attachment if space is available.
Thanks to DrAzzy for detailed reply.
I have checked connections and wires continuity many times before posting on forum but no gain. Now, I will use a pcb to solder IC base and wires instead of breadboard. Will post progress.
Dear HARRIS46, you have to check 'upload' box under 'show verbose output during' .
You will get it in Arduino IDE\File\Preferences and detailed message is received at bottom of Arduino IDE window. Please see attached pic. Please feel free to contact if more details are required.
UsmanM:
I have checked connections and wires continuity many times before posting on forum but no gain.
What about the second possibility, that it was bootloaded as an Uno, but you do not have a crystal installed, or the crystal and/or it's loading caps are connected wrong? (or crystal is bad - cheap chinese crystals have non-zero DoA rate) Also see my note above about the length of connections between crystal and crystal pins on the microcontroller. Sometimes on breadboard, there's so much stray capacitance in the breadboard that you actually have to omit the crystal loading caps....
Could you post the photo of your wiring setup?
Check out this: https://www.gammon.com.au/bootloader. They say this is better understandable for newbies.
Thanks to all.
I have prepared boot loader circuit by soldering on a general purpose PCB.
Boot loader is uploaded successfully.
Now I am trying to upload blink example to atmega328p using UNO board but it is showing the following error message-
Sketch uses 930 bytes (2%) of program storage space. Maximum is 32256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
C:\Users\Dell\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino14/bin/avrdude -CC:\Users\Dell\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino14/etc/avrdude.conf -v -patmega328p -carduino -PCOM4 -b115200 -D -Uflash:w:C:\Users\Dell\AppData\Local\Temp\arduino_build_585529/Blink.ino.hex:i
avrdude: Version 6.3-20171130
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Users\Dell\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino14/etc/avrdude.conf"
Using Port : COM4
Using Programmer : arduino
Overriding Baud Rate : 115200
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x33
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x33
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x33
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x33
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x33
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x33
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x33
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x33
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x33
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x33
@pert
I have purchased blank atmega328p to program using arduino uno and to use as stand alone. After a number of trials bootloader was burned successfully. Then I put this atmega in uno to load blink program to test its working. On doing so error message stk500 was displayed which I have posted in my last post.
Please note that I have also purchased atmega328p with pre-loaded bootloader. I have programmed this using uno in the same way.
You always need to have the same board configuration selected when you upload as you did when you burned the bootloader (including any custom Tools menus such as Tools > Processor).