Arduino won't upload

When you have it plugged in and you short the pins, take a look at you Device Manager and see if it has a new device like Atmega16u2 or Atmega8u2. If there is an unknown device, try to install the driver from Program Files\ATMEL\FLIP 3.4.7\usb folder.

Sorry still no luck, it shows as an unknown device in device manager, and it can't find any drivers in the Program Files\ATMEL\FLIP 3.4.7\usb folder. Not even in the Program Files\ATMEL\FLIP 3.4.7 folder

Hmmm... I wonder why it is not taking the atmel_dfu_usb.inf file. Have tried from the "Add Hardware" function?

Actually, I just thought of something. See if the Arduino IDE Enhanced can help things out:

http://arduino.cc/forum/index.php/topic,118440.0.html

Sorry, neither of those solutions work. It still isn't taking the .inf file, and although the enhanced suite doesn't give any errors, it still doesn't upload the file. Strange huh? What do you think the problem is?

I am afraid the Atmega8/16u2 got zapped.

Do you have a spare Arduino and (6) female to male jumpers or AVR programmer?

spcomputing:
Do you have a spare Arduino and (6) female to male jumpers or AVR programmer?

I don't have a spare Arduino laying around, but I do have a jtag device. Will that do the job aswell?

If you can put it into a SPI programming mode. Do you know which make/model you have?

Yeah probably not, it just consists of a parallel port with a few wires soldered on and a couple of diodes and pull-up resistors. I used it for my satellite decoder about a year ago.

What exactly do you think is wrong with my Arduino? Did the software get corrupted?

What exactly do you think is wrong with my Arduino? Did the software get corrupted?

Yeah, the little Atmega8/16u2 that is used for your USB2TTL communications. Unfortunately, that circuit could use a little more protection from Electrostatic discharges and the occasional introduction of greater than 6 volts.

So, what usually happens is the fuse settings or the flash gets tweeked and it stops working. 999 times out of 1000 you can just reflash the "DFU"/Atmega8/16u2 with firmware located in the hardware folder and you are back in business. But, you need an ISP programmer (Arduino as ISP works too).

I tried it one more time on a different computer to install the Flip driver, and it worked! Turns out I had to install the regular driver first, and then go into device manager and right click on it and click update drivers. Then connect the Gnd and reset on the Arduino like you said and continue with the driver installation. Point the the install wizard to the \Atmel\Flip 3.4.7\usb\atmel_usb_dfu.inf file, and it should install the driver.

So what do I do now? How do I see in Flip what firmware I'm running?

Which driver installed when you reset the DFU? 8u2 or 16u2?

There is no practical way to find the firmware version, unless you have a list of checksums of the previous versions and do a manual compare.

Depending on which chip you have, you will need to select the chip type and then open the connection through the USB. Once connected, select the Read Chip button that has the red arrow pointing away from the chip. In the arduino-1.0.1\hardware\arduino\firmwares directory, there are two files of interest:

Arduino-COMBINED-dfu-usbserial-atmega16u2-Uno-Rev3.hex - for the Uno R3 Atmega16u2 and

UNO-dfu_and_usbserial_combined.hex - for the earlier Uno Atmega8u2

If you do not read the read the chip before loading the firmware into the buffer it will error out for memory too big for chip or something.

Alright, I've determined that I've got the 16u2. How do I reprogram the firmware? Do I select Eeprom or Flash?
If you could give a step by step tutorial on how to do this that would be hugely appreciated, because quite frankly I'm too scared to screw things up, as I've bricked things this way before.

No problem. We will be working with the FLASH. Here are the steps I just preformed.

  1. Select the Chip (ATMEGA16U2)
  2. Select the communications media (USB) and click Open in the dialog box
  3. Click Read Memory from Device (GREEN arrow pointing out of the chip)
  4. Load .hex file into buffer (Arduino-COMBINED-dfu-usbserial-atmega16u2-Uno-Rev3.hex)
    (Screen show look like the attached screenshot)
  5. Click in the Operations Flow pane
  6. Upon no errors, close FLIP, disconnect and reconnect Uno and Upload a sketch like blink.

Unfortunately I'm running into some errors. On two of the three PC I've tried running this on it gives me address is out of range when I try to load the .hex file (I have Read the target device memory, but it is instantly done the range and checksum don't change [see image]). On the other PC it does take the .hex file without giving any errors, but when I hit run it says "Verify device fail at 0x00000" (also shown in image).

What do you think the problem could be?

If you are using FLIP, you do not want to upload the COMBINED version of the hex file.
This version has the DFU bootloader and the USBserial firmware in one hex file.

Using FLIP you only want to upload the USBSerial version of the hex file.

This is why you are getting the address out of range error.

Thanks Louis for pointing that out. I completely forgot that, and obviously the .hex I used was just the serial non-combined.

@RubinGrolsch - the file is up one more level in arduino-usbserial - Arduino-usbserial-atmega16u2-Uno-Rev3.hex like my screen has on it.

Sorry about that...

Hi everyone!

I do have the same problem! It seems I can't upload anything on my arduino UNO R2. I'm still able to upload sketches using an USBtiny, but no communication between the computer and the board when using the usb connection.
I got an "avrdude: stk500_getsync(): not in sync: resp=0x00" error when trying.
Although I followed the advices given here, I'm still stuck.

My board doesn't pass the loopback test.

The other problem is, I can't seem to be able to get the atmega 8u2 in DFU mode. It does nothing when I try to connect reset and GND from the pin on its side.
Well, to be honest, I think it did something the first time. I had a new device in the device manager (I'm using Win 7 64 bits here).
But the only driver accepted was the arduino one for the Uno board. It didn't accept the flip driver...

Any hints on what should I do now?

Thanks!

I got the reflash to work, but unfortunately it didn't fix the problem. It still fails the loopback test, and uploading a sketch won't work either, do you have some more things I could try or should I write this one off?

@gromain
If it doesn't take you driver, you could try doing it manually with hdwwiz.exe (in the start menu, search for hdwwiz and hit enter). Let me know how you get on.

I got the reflash to work, but unfortunately it didn't fix the problem. It still fails the loopback test, and uploading a sketch won't work either, do you have some more things I could try or should I write this one off?

Even if the Loopback failed, since you were able to reflash the chip with no errors, the Atmega16u2 should be fine. Now, the focus can turn to the bootloader, but we do need an ISP (Second Arduino or AVRISP).

For grins, try this:

Hold down the reset button and unplug the USB cable.
Select a sketch and upload to the Uno (Reset still held down).
When any activity occurs on the Rx/Tx LEDs, release the button.