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


I've borrowed an Arduino Uno with socket and ATmega328P.

I have two new ATmega328P Chips, I want to program.

I connected the Uno, and could see the RX light flash, and understood it was connected Ok.

Using the borrowed ATmega, I programmed the Blink program, and changed the blink frequency ok.

When I try my ATmegas, I get the "avrdude stk500_getsync(): not in sync resp=0x00" Error.

I tried clicking on burn bootloader and got the same error.

I've been reading all day about this problem with many solutions, but my explanation solves most of them, so what is the problem?


With new ATmega328P chips, you need to do a Tools > Burn Bootloader before you can upload to them. The exception is if you bought ATmega328P chips which were sold as "with Arduino bootloader".

In order to do the Tools > Burn Bootloader process, you need to connect an ISP programmer to the Uno that holds the new ATmega328P. If you don't own a dedicated ISP programmer, you can use a spare Arduino board as an "Arduino as ISP":

Hi P,

Thanks for your clear reply.

I don't have a second board, but I do have a USBASP programmer.

Using Avrdude, and the USBASP connected to the UNO, with my chip in it's socket, I burned the bootloader, then using the UNO, I programmed the 'blink' program. It's now blinking away happily.

Cheers, C.

I'm glad to hear it's working now! the USBasp is a great programmer. It's convenient to have a dedicated programmer, rather than having to wire up an Arduino as ISP.