Problems upgrading to atmega328

I've been working with atmega168 chips in XP on a duemilanove, and using a bit-bang bootloader for them. I recently ordered several pre-bootloaded atmega328 chips and I believe they all came with the wrong bootloader on them (3 blinks when reset = NG bootloader).

I cannot upload any programs to them with arduino-0013 or 0012. Every time I get:

avrdude: stk500_getsync(): not in sync: resp=0x00 avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

I tried bit-bang the new chip but my way of bit-banging them does not recognize the new chip. I have swapped back to an old 168 chip and everything is fine with uploading and running sketches, so I'm pretty sure its the new chips that are the problem.

I have not had any success with any walk-throughs for the 328 upgrade I have found online.

Can anyone here offer some help?

Have you tried selecting ATMega328 in the Arduino IDE. With my board I had exacly the same error message until I selected another board under the Tools menu. If you have a Duemilanove board with an ATMega328, you should select ATmega328 and not Duemilanove.

Hope this helps.

If you got the ATmega328 s loose from Adafruit, you may edit your IDE file called boards.txt and make a new section for their special bootloader.

wibrard - Thanks!

I love when problems can be resolved so simply. I cannot believe I over looked that.



Hi all,

I might have been a little overly eager to upload to 328, and bought four chips without bootloader. Now I am reluctant to either buy four with bootloader, and to buy another gadget just for burning such to my chips. I have tried the tutorials making a parallell burner and by modding the arduino board, but none of these deal with 328, and I have not managed to burn bl with the parallell option in IDE13 or 14, even after choosing 328 from the boards. Any idea to where I can look for help?


sy kristina, I hope this gives some hope and ideas.

I just received 3 un-programmed 328 chips from SparkFun. I burned the bootloader just fine on them using a parallel cable on REL 0013 of the IDE (XP).

I selected the 328 in Tools/Board, then Burn Bootloader w/ Parallel Programmer. Took about 30 sec. then a message indicating complete. After loading the bootloader, the LED blinks once / sec.

I uploaded a sketch multiple times to test that I was not overriding the bootloader (as I heard can happen).

I'll try to be as much help as I can, but I really can't think of much to offer but a few suggestions . . . - If possible, test if your cable burns the 168 - Don't make your cable too long. The one I use is ~6" & had problems when it was 3'. - There's black magic regarding "giveio" and port set up. Google here and also try another machine if possible.

Hope this helps.

Thank you for the input.

As far as I remember, I have uploaded the bl to the 168, but the 328 gives error. I will try again when I get back from travel. Thanks again

Hm, I'm back and this is the problem:

The 168 will not load either, I get :

avrdude: AVR device not responding avrdude: initialization failed, rc=-1 avrdude: Yikes! Invalid device signature. avrdude: Expected signature for ATMEGA168 is 1E 94 06 avrdude: AVR device not responding ***failed; avrdude: verification error, first mismatch at byte 0x0000 0x00 != 0x07 avrdude: verification error; content mismatch

I probably loaded the bl with the gui from the japanese site, but the program does not allow me to choose the 328. The parallell cable I am trying is the one described as DAPA programmer, should I try the BSD programmer or shorten the cable from a standard printer-cable length?

I made it, the site had been updated to include the 328 while I was away. Thnaks for the help!