Error while programming Arduino NANO using Arduino UNO

I have gone through few post about how to upload a sketch to arduino NANO using arduino UNO. But im facing the following error while im trying to do so.

": Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check."

Connection details :

UNO NANO

D13 -> D13 (SCK)
D12 -> D12 (MISO)
D11 -> D11 (MOSI)
D10 -> RST (RESET)
5V -> 5V
GND -> GND

Kindly help me.

Please do this:

  • File > Preferences > Show verbose output during: > compilation (uncheck) > upload (check) > OK
  • Tools > Burn Bootloader
  • After the process fails you'll see a button on the right side of the orange bar "Copy error messages". Click that button.
  • Paste the error messages in a reply here USING CODE TAGS (</> button on the toolbar).

Here the verbose output while burning bootloader.

Arduino: 1.8.2 (Windows 10), Board: "Arduino Nano, ATmega328P"

C:\Users\sla\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/bin/avrdude -CC:\Users\sla\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM7 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0xFD:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xFF:m 
MegunoLink Pro AVRDude Wrapper
------------------------------
C:\Users\sla\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9\bin\avrdude -CC:\Users\sla\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM7 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0xFD:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xFF:m
 -CC:\Users\sla\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM7 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0xFD:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xFF:m

: Version 6.3, compiled on Jan 17 2017 at 12:00:53
  Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
  Copyright (c) 2007-2014 Joerg Wunsch

  System wide configuration file is "C:\Users\sla\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf"

  Using Port                    : COM7
  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

: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.03s

: Device signature = 0xffffff (probably .reduced_core_tiny) (retrying)

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

: Device signature = 0xffffff (probably .reduced_core_tiny) (retrying)

Error while burning bootloader.
Reading | ################################################## | 100% 0.02s

: Device signature = 0xffffff (probably .reduced_core_tiny)
: Yikes!  Invalid device signature.
  Double check connections and try again, or use -F to override
  this check.


 done.  Thank you.

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

Read this:
https://forum.arduino.cc/index.php?topic=569979.msg3882799#msg3882799
Response #2 from DrAzzy is the most comprehensive.

Hi Budvar10

I dont know the problem exactly thats what im trying to find with your help. But im sure the hardware connections are correct.

  1. First I uploaded the arduino ISP sketch in my UNO
  2. I made the connections as mentioned in my first post.
  3. Selected the Arduino NANO in boards and ATmega328p in processer.
  4. Then changed the programmer as "Arduino as ISP".
  5. Chose upload using program from sketch menu.

But still it is not working properly. Is there anything i missed out or done wrong?

Thank you.

The procedure seems correct. Anyway, all FFs points me to short circuit on some wire.
Show your setup photo.

For N00BS:
When you connect the Arduino ISP to the USB port, L should be blinking as usual, then L stays on or off. At the start of bootloading, you should observe blinks of the Tx LED. There are 3 attempts to connect with the target board. The Rx LED should blink whenever the answer comes from the target. If everything is correct then both Rx and Tx LEDs blink very fast during the transfer.
Writing phase runs first and Tx LED should be more bright during this phase. Follows the reading for write check while Rx LED should be brighter. That's when everything is good.

Disconnect all and connect again, it is just 6 wires.

setup photos.

Just brief look and I see reset wire - yellow connected to GND on Nano.
Ahh, sorry difficult angle, maybe it is ok.

Finally, it looks correctly connected. Check the wires whether are ok, power on Nano etc. You can try to use ISP connector on boards - pins are same as on headers.

The wires are ok... I checked with multimeter...

I have tried the ICSP pins too it doesnt help me...

Note: i checked the LED indication the UNO and NANO LEDs blinks bt i dont know the sequence since its very fast...

If you have uploaded a sketch by the ICSP connection , then you will have overwritten the bootloader and will need to re install if you want to program via the USB. You might have done this in error anyway

I don’t know why you wish to program your NANO by this method, you usually upload sketches via the USB port.
I suggest you upload the bootloader to the NANO using the UNO as programmer, then put the UNO
Somewhere else out of sight
And use usb to load your sketeches

I wish to program this way because we have made one custom board for project which has arduino NANO circuit. And we dont hv USB provision in it.. We have only ICSP..

So can you suggest some working hardware to program my board?? If using UNO is not the correct way...

Thanks.

Using an Uno as an "Arduino as ISP" programmer will work fine if you do it right.

Then please tell me the right way to do it. I mentioned the details how is my connection and how i tried to use Arduino as ISP. Please suggest me some solution.

What happens if you try to upload to the Nano via the USB cable?

It works fine with USB.

?

Try this from CMD with your setup:

C:\Users\sla\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9\bin\avrdude -CC:\Users\sla\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf -patmega328p -cstk500v1 -PCOM7 -b19200 -v

Can you connect DMM or LED to the reset pin on your target and check whether the reset pulse is passing. It is about 200ms so it sholud be easy visible.