Bootloader burning problem on new target board


Despite many tests, verifications and informations check on the web, I could not manage to burn the bootloader in a prototype board (target) using the ATMEGA 328 following the recommendations I could find in various places.

The AVR board I use as ISP board is the ATMEGA2560 which works fine. I Use Arduino 1.0.5 IDE I Use a portable labtop with Windows seven.

Regarding the target board : it is based on an ATMEGA328 running at 8MHz and 5V during bootloader programming. The ATMEGA 328 is "virgin" and was never programmed with any bootloader or embedded software.

=> this target board will then work in 3V3 but for the bootloader programming, I still did not solder the 3V3 supply, and the targer board is therefore powered using the 5V from the ICSP pinheader. I made this choice to have both the programming and target boards using the same 5V supply.

All electrical connections have been verified (ICSP pin to pin connexion). The target board get its 5V supply through the ICSP wires.

I used both powering on the ATMEGA 2560 board with USB and external 12V supply, same results. I tried to reverse MOSI and MISO wires, it has no effect.

I took correctly care of the recommended sequence :

  • ICSP connected wire to wire before applying any supply
  • Then connect the ATMEGA 2560 USB cable
  • Then load, compile and dowlnload the Arduino ISP software into the ATMEGA2560 : no problem
  • Then select the target board : Arduino Pro or Pro Mini, 3V3 8MHz with ATMEGA328 : no problem
  • Select tools -> programmer->Arduino as ISP correctly
  • then select the right target board to be programmed : tools -> board -> Arduino Pro or Pro Mini (3V3, 8MHz) w/ ATMEGA 328
  • then activate tools -> burn bootloader

I get the following error message when activating the "Burn Bootloader" command :

After first attempt :

avrdude: stk500_program_enable(): protocol error, expect=0x14, resp=0x50 avrdude: initialization failed, rc=-1 Double check connections and try again, or use -F to override this check.

avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

After next attemps :

avrdude: stk500_getsync(): not in sync: resp=0x00

I am very dissapointed because I took care of the recommended programming process, and it seems that many guys get the same problem. But unfortunately, I did'nt found any clear solution on the net.

One more comment :

I could see that the 8MHz Crystal quarts does not oscillate on my target board, but in the ATMEGA320 datasheet, it is written that the chip is delivered with internal oscillator setup, allowing the programming with any programmer software.

So is it normal that the Crystal dos not oscillate in these conditions ?

Can you please help me, or redirect me to the right place for fixing this problem ?

Thank you for any answer.

Double check the connections and that the target processor is getting power
on all its Vcc and AVcc pins, and ground on all the ground pins.

Check it has decoupling on each supply pin, and is an ATmega328P (the P is important,
otherwise you’ll have to create a new entry in boards.txt).

Always connect the target board after the host has been programmed with the ArduinoISP
sketch - then power both boards up. You don’t want any junk on the ISCP header
before programming.

Try Nick Gammon's bootload programmer instead. Doesn't read like you have Reset addressed properly.


The problem was due to a wrong reset wiring. I checked the requested I/O in the software and then everything was OK.

Downloading applications with FTDI cable is also OK.

Thanks for your help.