I'm trying to burn an Arduino Pro 3.3V 8Mhz bootloader an ATMEGA328P (DIP package) setup on a breadboard with an external 8 Mhz crystal. I'm using an Arduino Duemilanove (328 version) with the ArduinoISP sketch loaded to program the target 328P on the breadboard. I followed the ArduinoISP tutorial on the arduino.cc page, but during bootloading, I get the following error:
avrdude: stk500_getsync(): not in sync: resp=0x15
I looked elsewhere on the forum here and over at the adafruit forum, but couldn't find a solution to get rid of this error. Here's a list of things I've tried:
Use Arduino IDE v.022 instead of 1.0 to upload the arduino ISP sketch and burn the bootloader
Disabled the auto-reset on the Duemilanove by placing a 220 ohm resistor between 5V and reset
Powering the target board with 3.3 volts and 5 volts during bootloading
The target ATMEGA328P on the breadboard originally had the Uno bootloader burned on it (came like that straight from adafruit).
Does anyone know if this is a software or a hardware problem? Perhaps the duemilanove is the problem and an AVR programmer would fix the issue?
So you have everything wired according to this diagram?
Select Tools:Board Duemilanove
Select Tools:Serial Port matching your Duemilanove
Files->Examples->ArduinoISP
Upload
Disable AutoReset on Duemilanove
Select Tools:Board board with 328P and 8 MHz crystal
Select Tools:Burn Bootloader->Using Arduino as ISP
The circuit is wired per the diagram you posted with the exception that AREF of the breadboard arduino is tied to the breadboard power rail (Duemilanove 5V). I tried the procedure you outlined below with the AREF disconnected the bootloader burned correctly! I re-burned the bootloader a second time to rule out any flukes and the second attempt was successful as well.
But, I tried to burn the bootloader a third time with the Duemilanove 3.3V supply connected to the AREF of the target board, and I got the same error message as before, but it was listed 4 times instead of just once. I tried burning the bootloader a several times after this with the AREF disconnected and all attempts were unsucessful. Not sure what this means.
*Correction to my stated setup, the resistor placed between the reset and 5 volt pins on the Duemilanove is a 120 ohm resistor. I measured its resistance to be 118.7 ohms.
I've tried re-installing the IDE (v. 1.0), and i still seem to get the avrdude: stk500_getsync(): not in sync: resp=0x15 error. I've been researching how to burn the pro mini 3.3V bootloader using avdude, but I'm having trouble understanding the syntax. Does anyone know how to correct this error or what the command is in avrdude to burn the pro mini 3.3V 328 bootloader?
your successful burn was selecting
Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega328
but only using 5v without connecting 3.3v?
I think that is all you need, since the fuse setting for that board is for external 8mhz crystal.
the bootloader file itself is the same for 5v and 3.3v.
I see. The problem now though is I can't burn any bootloader to the the breadboard target ATMEGA328P chip. I tried repeating what I did during the successful burn, but now I'm getting the error. I have an LED attached to pin 13 and it blinks like it indicates the bootloading worked, but I don't know if it did. I think I might have to try another ATMEGA328 chip.
I'm not sure what the original problem was, but I tried burning the bootloader with a USBtinyISP from adafruit and everything worked fine :). I've attached a picture of the completed circuit (minus the programmer) for reference.