I am using a Decimilanova as the host for "ArduinoISP" and I have the LEDs hooked up. based on the heartbeat LED this program appears to be running correctly.
The upload of the bootloader is failing in 2 unique ways:
power on reset -- When I plug in the USB cable to the Decimilanova there is a 6 second pause after which the PGM, ERR, and HEARTBEAT LEDs go through their initialization pulses and then the PGM and ERR LEDs turn off and the Heartbeat LED alternately brightens and dims. When I "Burn Bootloader" the PGM starts flashing immediately followed by the ERR LED turning on. Below is the output I get from AVRdude.
Arduino: 1.5.6-r2 (Windows 7), Board: "Arduino Duemilanove or Diecimila, ATmega328"
C:\arduino-1.5.6-r2/hardware/tools/avr/bin/avrdude -CC:\arduino-1.5.6-r2/hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega328p -cstk500v1 -PCOM11 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0x05:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xFF: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:\arduino-1.5.6-r2/hardware/tools/avr/etc/avrdude.conf"
Using Port : COM11
Using Programmer : stk500v1
Overriding Baud Rate : 19200
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Recv: . [15]
avrdude: stk500_getsync(): not in sync: resp=0x15
avrdude done. Thank you.
reset button pressed
This time once i release the reset button I have a max. 1 second delay before the LEDs initialize. once the Heartbeat LED is doing it's thing I "Burn Bootloader" and get the following results from AVRdude
{Please see attachment. Forum complains about > 9000 characters.}
The second time at least It looks as though AVRdude communicated with ArduinoISP.
Does anyone have a clue about why I am not programing the breadboard chip?
You are using a pretty old version of the IDE. I recommend upgrading to 1.6.5, which is quite stable for working with ATmega328P-based boards. I don't think that is likely to be the reason for your problem right now. I think the problem right now is probably a fuse setting currently set on the breadboard ATmega328P is for external clock or crystal, but you don't have a crystal hooked up. That is my guess.
Thanks dmjlambert,
I will definitely check out the recommended web site. However your assumption about my not using an external crystal was incorrect. I have a 16.0000 MHz crystal in an h-49 case wired between the XOSC1 and XOSC2 inputs and 2 22pf caps from the XOSC pins and GND. I tried to chase this issue down in the forums first but not had any luck yet.
Hmm.. Well that was a guess. There are so many things that could go wrong with this, it is hard to put a finger on it. You might want to try with a different ATmega328P or a different crystal, if you can. Of course, double and triple check your connections. Try removing the capacitors, some breadboards have enough capacitance already.
I wonder if the fuse is set to external oscillator, the chip will still drive a crystal. I'm thinking probably not. So you may need to apply an external clock signal on the XTAL1 pin instead of using a crystal. Use the ArduinoISP sketch to set fuse values that don't require an external crystal or clock. Adafruit has a special version of the ArduinoISP sketch you can use that outputs a clock signal on pin 9 of the programmer Arduino.
As an alternative, Nick Gammon's board programmer sketch does the same thing, outputs a clock signal on pin 9 of the programmer Arduino. The difference is his sketch is a self-contained bootloader burner that does not rely on the IDE Burn Bootloader menu option and it does not work using avrdude. Instead, you control the sketch using the serial monitor.
I am an Idiot. When you put the chip into the breadboard spun 180 degrees from the correct orientation, your programmer will not function correctly. Who Knew?
Thankfully the atmel chip appears to have survived this stupidity and I can go on to solve other problems of my own creation!