Duemilanove Atmega328 on Uno board: avrdude: stk500_recv() error

Hi,

I have a Duemilanove and an Uno board. I had trouble with programming the Atmega328 that came with the Duemilanove on the Uno board. I got the following message:

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding

yes, twice

To solve this I have to choose as board type "Arduino Duemilanove or Nano w/AtMega328" eventhough I am using the Uno board.

So I assume the chip is programmed differently and I have to choose board depending on the chip. Now since the chips look the same, this can be very confusing. I put a sticker on each of my AtMega328 with Duemilanove/Uno on it.

Is this observation correct? Is there a way to "reprogramm" the AtMega328? Does "Board" in the Arduino software actually refer to the chip, not the board?

kfreak: Does "Board" in the Arduino software actually refer to the chip, not the board?

Being as the board is the chip + voltage regulators + USB -> Serial adapter + pinout traces, basically, yes the chip is the only thing different from board to board (till you get to the mini/pro mini/ect, where the boards are very simplified..but still only the chip is different at the root level).

So for the case of Duemilanove and Uno, can I reprogramm a "Duemilanove AtMega328" to become an "Uno AtMega328"? Since both have the same features there should be no disadvantage, and when programming I don't have to guess which chip this is. Hence I can always programm with Board "Arduino Uno".

kfreak: So for the case of Duemilanove and Uno, can I reprogramm a "Duemilanove AtMega328" to become an "Uno AtMega328"? Since both have the same features there should be no disadvantage, and when programming I don't have to guess which chip this is. Hence I can always programm with Board "Arduino Uno".

Yes you can. When you make a board selection there are key items that the IDE then uses to facilitate uploading of a sketch, first is the processor chips type and clock speed it is using, 328p clocked at 16Mhz for both the Duem and Uno, and the baudrate that the on chip bootloader uses during uploading operations, 57600 for the Duem and 115200 for the Uno. So if you burn the Uno bootloader onto a 328p chip then you can (and must) select the Uno board type no matter what actualy board model name you plug it into as long as the crystal is a 16Mhz one.

Lefty

How to do this with arduino 0023?

When I go to “Tools” → “Burn Bootloader” I can select the following

  • w/ AVR ISP
  • w/ AVRISP mkII
  • w/ USBtinyISP
  • w/ Parallel Programmer
  • w/ Arduino as ISP

which one do I select to change my “Duemilanove AtMega328” to “Uno AtMega328”? Or is there somewhere a comprehensive tutorial for this?

Thank you for your help and fast reply in this!

OK, found this on in the meantime http://arduino.cc/en/Tutorial/ArduinoISP

Will use the Duemilanove as programmer and the Uno to hold the chip to be reprogrammed.

Now I plugged both boards together to burn a bootloader, but I run into this problem: http://arduino.cc/forum/index.php/topic,76138.0.html

On Windows 7 with arduino 0020...0023 I can't even upload any sketch, neither with the Duemilanove nor with the Uno.The problem has been reported in sevel posts, eg http://arduino.cc/forum/index.php/topic,79647.0.html

Before had to comment out the #define round(x) in the arduino wire.h to make my sketches compile. Something is fishy about arduino at the moment :( Hope this gets a bit more stable soon.

Bootloader burning on breadboard with crystal gives the same error. Will stick to my mixed AtMega328 collection