Bootload with MEGA 2560 as ISP to a breadboard Atmega328P NO EXTERNAL OSCILLATOR

Hi,

I have been trying to trouble shoot my bread board Atmega 328P-PU system for many hours now, but to no avail. I am trying to use my arduino MEGA 2560 as an ISP to bootload an Atmega 328P-PU WITHOUT an external oscillator. So I am trying to use the internal 8 MHz clock of the Atmega 328P-PU.

I wire the arduino mega 2560 to the Atmega 328P-PU as shown in numerous tutorials and at the top of the arduino ISP sketch, that is, I have the following wiring configuration:

(.1uF Cap on reset pin to GND on MEGA 2560)
(10K resistor pin 1 of 328P to GND)

Atmega 328P-PU Mega2560
GND GND
Vcc 5V
17 51
18 50
19 52
1 53

I upload the the ArduinoISP code to the MEGA 2560 (without the .1 uF Cap). It uploads fine. Then I select the Lillypad w/atmega328P from the board pulldown menu. I check the com port and and set the programmer to Arduino as ISP. Then I burn the bootloader. After about 2 seconds it gives me this error:

avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
** Double check connections and try again, or use -F to override**
** this check.**

Whole code below.

I have also tried using a a different hardware configuration from the lillypad called "ATmega328 on a breadboard (8 MHz internal clock)".
it is from http://arduino.cc/en/Tutorial/ArduinoToBreadboard#.Uxj3vPnIZkg
I select it as my board before I burn the bootloader. I get the exact same error.

Any help or solution will be sOOOOoooo much appreciated. I have lost too many hours to this and I'm at my wits end.

Best,
Alex

C:\Program Files (x86)\Arduino\hardware/tools/avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega328p -cstk500v1 -P\\.\COM3 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0x05:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xE2:m 

avrdude: Version 5.11, compiled on Sep  2 2011 at 19:38:36
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:\Program Files (x86)\Arduino\hardware/tools/avr/etc/avrdude.conf"

         Using Port                    : \\.\COM3
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 
         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
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : STK500
         Description     : Atmel STK500 Version 1.x firmware
avrdude: Send: A [41] . [80]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [02] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [81]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [01] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [82]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [12] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [98]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
         Hardware Version: 2
         Firmware Version: 1.18
         Topcard         : Unknown
avrdude: Send: A [41] . [84]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [85]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [86]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [87]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [89]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: Send: A [41] . [81]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [01] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [82]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [12] 
avrdude: Recv: . [10] 
avrdude: Send: B [42] . [86] . [00] . [00] . [01] . [01] . [01] . [01] . [03] . [ff] . [ff] . [ff] . [ff] . [00] . [80] . [04] . [00] . [00] . [00] . [80] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 
avrdude: Send: E [45] . [05] . [04] . [d7] . [c2] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 
avrdude: Send: P [50]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 
avrdude: AVR device initialized and ready to accept instructions

Reading | avrdude: Send: V [56] 0 [30] . [00] . [00] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
avrdude: Send: V [56] 0 [30] . [00] . [01] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
################avrdude: Send: V [56] 0 [30] . [00] . [02] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
################################## | 100% 0.07s

avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.

avrdude: Send: Q [51]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 

avrdude done.  Thank you.

Try Nick Gammon's sketch. Instead of putting the Mega into Reset and using the 16U2 as the programmer, it puts a programming sketch into the Mega, and the Mega does the programming.

Not sure if it addresses internally clocked device, read the page & see.

E_HVC:
I have been trying to trouble shoot my bread board Atmega 328P-PU system for many hours now, but to no avail. I am trying to use my arduino MEGA 2560 as an ISP to bootload an Atmega 328P-PU WITHOUT an external oscillator. So I am trying to use the internal 8 MHz clock of the Atmega 328P-PU.

If the chip has been configured to use an external oscillator then you can't do ANYTHING unless it has one connected.

You need to connect a clock to the chip to be able to use it. It doesn't matter what it is, another Arduino sending a pin LOW/HIGH in loop() is good enough.

You can remove the clock source when you have the chip configured for internal clock.

Hi thanks for the responses,

@CrossRoads I actually tried using Nick Gammon's sketch. He has my situation of a MEGA2560 bootloading an Atmega328 on a bread board. I believe it does address not using an external oscillator by typing "L" in to the serial monitor. The problem I had with using Nick Gammon's sketch was that it never got to the point of prompting me to type "G" into the serial monitor and start the bootloading. It just printed out the first few lines of coding stating this was Nick Gammon's and so on. I could have done something wrong with his sketch and setup. I should have mentioned that I tried this in my initial post, sorry.

@Fungus I ordered my Atmega 328P-PU from Mouser. I assumed it hadents been bootloaded previously, I guess that I shouldt assume that. So if that is the case, how do I fix it. I actually have an external ocsilator that I can plug into my breadboard but its 8 MHz not 16 MHz. So once it is plugged in and wired up with the caps correctly, do I just try and run the bootloader configuration for internal clock on it? Sorry just a little hazy on how that might work.

Fungus, you were right. I attached an external oscillator, bootloaded with no errors. Then I just took the external oscillator out of the breadboard and everything is working great.

Thanks a lot.