Cannot upload to Arduino Uno


My UNO was working fine, but all the sudden I cannot upload anything to it. Problem uploading to board... avrdude: stk500_getsync(): not in sync: resp=0x00 avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

I see that the L led flashes a few times, then the RX led flashes 3 times. But then nothing happens.

All I did is to build a very simple project from the manual. Seems like my UNO still has the previous project in its memory ("blinking LED") and keeps executing it. I cannot upload my new program :(

Please help! "avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51"

There are tons of threads on this forum (and other forums) on ideas and tricks to try.

It is weird. I was able to upload my new program once. And now it stopped working again. Why is it so unreliable? Do others have the same issue? I cannot even modify my program now :(

James C4S, I tried it. It seems to be a very common problem, but none of the proposed fixes work for me.
The differences in my case are:

  • I have UNO (other cases I found were older versions)
  • Mine works sometimes. When I keep clicking “Upload” it will work maybe once in 20 tries or so.

I’m thinking it may be baud rate set to too high. I noticed it is being set to 115000. How can I lower it?

Any other ideas why uploading works only sometimes?

See the ideas here:, which includes details about information to post so we can help you better.

I'm a complete newbie myself. I'm using an Uno on Windows Vista running version 0022 of the software.

I found the following process worked from the Sketch program:

(1) Change program (2) Save (3) Verify/compile (4) Press the stop button (5) Press the upload button

This works 75% of the time. 25% for no apparent reason it says "Error compiling". If it does that and then you press verify/compile again it works.

Any suggestions on how to fix the 25% fail rate appreciated.


Saving the sketch before compiling is unnecessary. The sketch in the editor is what is compiled, not the saved version. Of course, saving is a good idea, but it contributes nothing to the ability to successfully upload.

The stop button is present to match the stop button in Processing. It does nothing in the Arduino, so pressing it might be a feel-good operation, but it has no effect.

The upload process performs a compile/link operation, too. After the compile is successful, the upload process is performed. Pre-compiling does not increase the chances of a successful upload.

Hi Paul,

Thanks for the reply. Removing the redundant steps I'm simply left with:

(1) Change program .... (5) Press the upload button

With of course it being a good idea to save the changes frequently.

The strange thing is that when I was doing the other steps the upload would fail. Since I've stopped doing the redundant steps the upload works every time!

Thanks again,



if I try to upload to ardurino uno I get allways: avrdude: stk500_recv(): programmer is not responding I use Linux and the Arduino is connected via usb. Hwinfo tells, the Uno is connected to ttyACM0, but I can only switch the Arduino Software from ttyS0 to ttyS1. How can i change this?


solved. The SuSE-Software is broken.