[Solved] Arduino Starter Kit: Arduino Uno Rev3 came unprogrammed

Hello Arduino forum users!

I recently bought a Arduino Starter Kit with the Arduino Uno Rev3.

After hours of installing and uninstalling the drivers on my Windows 7 pc I found out my Atmega16U2 (usb to serial converter) had no firmware installed. So I used FLIP to install the firmware (using \arduino-1.0.4-windows\arduino-1.0.4\hardware\arduino\firmwares\atmegaxxu2\arduino-usbserial\Arduino-usbserial-atmega16u2-Uno-Rev3.hex)

After that I could successfully install the Arduino-Driver.

I did a new attempt to upload the Blink-Example onto my Arduino. It did not work, Arduino IDE was telling me: avrdude: stk500_getsync(): not in sync: resp=0x00

I noticed that after pressing the reset button nothing happened neither to the L,RX nor the TX-Led. So I wondered if the Atmega328P-PU had a bootloader uploaded.

Then I used a working Arduino Uno Rev2 to upload a bootloader according to the ArduinoISP tutorial. Now when I press the reset-key on my Rev3 Arduino the L-Led blinks for three times and then stays on.

I still cannot upload any sketch with the Arduino IDE (getting avrdude: stk500_getsync(): not in sync: resp=0x00). (I use the correct COM-Port and the correct Board->the other Arduino Uno Rev2 works without problems)

The loopback test described on the forums mainpage succeds.

It's a pity my Starter Kit Arduino Uno Rev3 is not working. I would like to get it working before the delivered Arduino projects book is useless since I already had to proof advanced skills just to get it running :) :)

By the way: Starter Kit was bought at Reichelt (German Reseller)

Kind regards

rapidelectron

rapidelectron: By the way: Starter Kit was bought at Reichelt (German Reseller)

Here? http://www.reichelt.de/

Exactly. But just sending it back without trying to fix the issue seems quite boring to me. I would like to give them an advice so that other users won't experience the same problem. I guess Reichelt bought a load with no bootloaders/firmware installed.

They are not listed as a reseller... http://arduino.cc/en/Main/Buy Are you certain they are? Do they claim to be?

Hm okay I thought they were.

Any ideas if my issue can be fixed?

I don't trust FLIP for uploading the firmware and I'm even not sure whether I uploaded the right firmware for Atmega16u2. Is there something to consider using FLIP? The TX led is not blinking at all, could this be an indicator for the wrong firmware on ATmega16u2?

Do you have another board or an ISP programmer?

I have another board (Arduino Uno Rev2) :)

I've got an solution. I'll post it as soon as possible. As a strange incidence the second Starter Kit I bought had a fully working Arduino Uno Rev3. :D

Thank you!

rapidelectron

I found out my Atmega16U2 (usb to serial converter) had no firmware installed…

Arduino IDE was telling me: avrdude: stk500_getsync(): not in sync: resp=0x00

I used a working Arduino Uno Rev2 to upload a bootloader

I still cannot upload any sketch with the Arduino IDE (getting avrdude: stk500_getsync(): not in sync: resp=0x00).

The loopback test described on the forums mainpage succeds.

Welcome to the club. Please look at my last reply, #15 here. I suspect that the fuses have not been correctly set, and that the 16u2 and the 328 are running at different baudrates. This will prevent the 328 from receiving the stk500 commands.

Hope it works!

Cheers,
/dev

rapidelectron:

I'm looking forward to your solution...

I'm really green at this and was getting frustrated that more complex programs were not working so I thought I'd try a simple LED blinking one and couldn't get it to work either. So, like a real greenhorn, I start looking into things and realize I don't have the driver installed. I did that and it still doesn't work. (same error as you get).

Cheers.

Just to sum it up:
With a totally unprogrammed Arduino Uno Rev3 I had to do the following steps:

  1. Install Firmware on Atmega 16U2
  2. Set the fuses for Atmega 16U2
  3. Install Bootloader on Atmega 328P-PU

I’ll explain how I did it using only a second working Arduino Uno.

My setup:
-Arduino Uno Rev3 (not working due to not programmed at all)
-Arduino Uno Rev2 (working)

  1. and 2)
    Plug in the second Arduino Uno which will be programming the one which is not working.
    Use the Arduino IDE to upload the sketch ArduinoISP (Examples->ArduinoISP) to your working Arduino
    After uploading the sketch you have to put an 10µF capacitor between RESET and GND pin (Power section, refer to the picture attached, for an electrolytic capacitor: (-) to GND pin)
    Now connect your two Arduinos:
    Refer to my picture (this shows the schematic wiring) and to this great Tutorial http://www.sparkfun.com/tutorials/247 to get the wiring right.
    After connecting we’re ready to upload the firmware and set the fuses.
    I used the command line on my windows 7 to do so:

First change directory to avrdude.exe, type:

cd "C:\customPath\arduino-1.0.4-windows\arduino-1.0.4\hardware\tools\avr\bin"

The path should now have changed. Test this by typing avrdude and hitting enter which will display a long output of command line options of avrdude.

Then run avrdude with the right parameters to upload firmware and set fuses of atmega 16u2:

avrdude -vvv -C "C:\customPath\arduino-1.0.4-windows\arduino-1.0.4\hardware\tools\avr\etc\avrdude.conf" -b 19200 -p m16u2 -e -P COM6 -c arduino -U flash:w:"C:\customPath\arduino-1.0.4-windows\arduino-1.0.4\hardware\arduino\firmwares\atmegaxxu2\arduino-usbserial\Arduino-usbserial-atmega16u2-Uno-Rev3.hex":i -u -U lfuse:w:0xEF:m -U hfuse:w:0xD9:m -U efuse:w:0xF4:m -U lock:w:0xCF:m

replace customPath with your path to arduino
replace drive letter C: with your drive letter (e.g.: D: E: …)
replace COM6 with the COM-Port you used to upload the sketch to your working arduino (e.g.: COM3,COM4 … )

I got many information out of this thread:
http://arduino.cc/forum/index.php?topic=107505.0 (fuse bits etc)

Notice that I wasn’t able to set the lockbits (as also mentioned in the forum thread above).

  1. Now connect your cables to the ISP header of the Atmega 328P-PU (other 6 pin header on your Uno)
    Select the board (Arduino Uno) in the IDE.
    Select Arduino as ISP: Tools->Programmer->Arduino as ISP
    Upload the Bootloader to your unprogrammed Uno: Tools → Burn Bootloader

(you could also do this by command line as in 1) , but this is more convenient :slight_smile: )

This got my Arduino Uno Rev3 to accept uploading the blink sketch!

I also refered to this thread: http://arduino.cc/forum/index.php/topic,146049.15.html
(great step by step summary. Thanks Cheers!)

(Please tell me if some of the terms I used are incorrect!)

Thanks for your response...but it scared the whatever out of me...as I only have one Arduino I decided to go back through all the install steps and found another list of instructions that included the (apparently) important, missing information. That error message appears to be a common message for MANY different issues. I got it working for my simple project (to start to learn how it works) and even got it to drive 2 stepper motors last night.

This morning I am home from church with 2 sick children so I will see if I can let some smoke out of some other electronics I have sitting around.

Good to hear your Arduino is working!

You also could have programmed it via an ISP. That's a very easy solution:

Replace

... -c arduino ...

with ... -c avrisp ... or ... -c avrispmkii ... (depends on your ISP) in the command line.

This would mean you don't have to use a second Arduino (but an ISP).