Arduino won't upload

Hi there,

My Arduino UNO won't upload any sketches anymore, it has worked before, but now it just stopped working.

This is the error message it gives me:
avrdude: stk500_getsync(): not in sync: resp=0x00

This is the error message it gives when holding down shift:
avrdude: usbdev_open(): did not find any USB device "usb"

When uploading it the LED on pin 13 turns off, and the RX flashes 3 times. The TX stays off.

I'm using Windows 7 64bit, and I have also tried it on a Windows 7 32bit machine, with the same results.

I am also sure I have the right COM port selected, and that I have the correct board ticked under Extra --> Board

The sketch I last used with the Arduino was one for reading PPM signals, it was connected to my RC transmitter via port 1, and a ground port. It was sending back data to my computer, but suddenly it stopped.
If you need to know any more info on what I'm using or what I was doing, don't hesitate to ask.

Thanks in advance!

Have you tried CodingBadly's loopback test?

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

spcomputing:
Have you tried CodingBadly's loopback test?

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

I just tried it, and it failed the test. The RX LED flashes when I send something, but the TX doesn't, so I get nothing back.
(by serial monitor he did mean the thing that pops up when I press CTRL+SHIFT+M in the Programming environment, right?)

I just tried it, and it failed the test. The RX LED flashes when I send something, but the TX doesn't, so I get nothing back.
(by serial monitor he did mean the thing that pops up when I press CTRL+SHIFT+M in the Programming environment, right?)

Yup, that is the one. Okay, try this. Download FLIP and install:

Leave the software closed after install and plug in the Uno and short the Reset and Gnd pins on the Atmega8u2/16u2:

This should cause a new device to be found in Windows. Manually navigate the wizard to Program Files\ATMEL\FLIP 3.4.7\usb for the .INF file for your DFU. After the installation is complete, open FLIP and then post back here which driver installed (Atmega16u2 or Atmega8u2).

spcomputing:
Yup, that is the one. Okay, try this. Download FLIP and install:

http://www.atmel.com/tools/FLIP.aspx

Leave the software closed after install and plug in the Uno and short the Reset and Gnd pins on the Atmega8u2/16u2:

This should cause a new device to be found in Windows. Manually navigate the wizard to Program Files\ATMEL\FLIP 3.4.7\usb for the .INF file for your DFU. After the installation is complete, open FLIP and then post back here which driver installed (Atmega16u2 or Atmega8u2).

I have the R3 version of the Uno, so I am not sure where to connect the reset to the ground, because your pic is a bit different from my Arduino.
Will it also work if I just connect the reset on the bottom of the board (next to the pin where it says 3.3V), to a ground?

There should be a 3x2 header in that location next to the USB socket.

spcomputing:
There should be a 3x2 header in that location next to the USB socket.

Right, found it. But I'm having a bit of trouble with getting it to work, what do you mean by navigate the wizard? Tell it to look there for drivers? Nothing pops up when I plug the Arduino in, the only thing it does is make the sound it always makes when you attach a device.

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.