"avrdude: stk500_getsync(): not in sync: resp=0x00," aka Some Dude Named Avr Won't Let Me Upload My Program
I made an awesome program the other day, and I wanted to upload it to my Arduino. After clicking the upload button, some mean dude named avr came along and stopped me, saying:
avrdude: stk500_getsync(): not in sync: resp=0x00
All I want to do is just upload my program, but avr won't let me. He's even unintelligible, so can someone tell me what the heck he's trying to say and how to get rid of him?
Whenever I try to upload a program to my Arduino, I get this error message:
avrdude: stk500_getsync(): not in sync: resp=0x00
What does this mean, and how can I fix it?
Pretty common error message, not always trivial to solve: http://electronics.stackexchange.com/search?q=avrdude%3A+stk500_getsync%28%29%3A+not+in+sync%3A+resp%3D0x00
Try installing the driver (cp2102)for the arduino. That did help me out. Thanks for the previous answers ppl :-)
This June 2018 post solved it for me (1st answer): https://arduino.stackexchange.com/questions/51729/ch340-nano-avrdude-stk500-getsync-not-in-sync-resp-0xa4
This is caused by a generic connection error between your computer and the Arduino, and can result from many different specific problems.
Here are some easy things that can often fix this error:
- Disconnect and reconnect the USB cable.
- Press the reset button on the board.
- Restart the Arduino IDE.
- Make sure you select the right board in
Tools ► Board ►, e.g. If you are using the Duemilanove 328, select that instead of Duemilanove 128. The board should say what version it is on the microchip.
- Make sure you selected the right port in
Tools ► Serial Port ►. One way to figure out which port it is on is by following these steps:
- Disconnect the USB cable.
- Go to
Tools ► Serial Port ►and see which ports are listed (e.g. COM4 COM5 COM14).
- Reconnect the USB cable.
- Go back to
Tools ► Serial Port ►, and see which port appeared that wasn't there before.
- Make sure digital pins 0 and 1 do not have any parts connected, including any shields.
If none of those work, you will want to try to isolate the issue by replacing things: try a different computer on the same arduino, try a different arduino on the same computer, and try using a different USB cable.
If the issue is with the computer:
- Double-check all computer-related issues in the "easy fixes" list above.
- Reinstall the IDE.
- Reinstall the drivers.
If the issue is with the Arduino:
- Double-check all board-related issues in the "easy fixes" list above.
- Make sure the microcontroller is seated correctly.
- You may need to burn the bootloader.
- Replace the microcontroller if you have another one handy nearby.
- You may have bricked your Arduino. Sorry :(
There are other possible causes. Your could have damaged the ATmega, you could have damaged the bootloader on the ATmega, you could have power issues, or a myriad of other possibilities. The `not in sync: resp=0x00` is really a generic "ATmega not responding" message. Anything that could cause the ATmega to not respond can cause it.
@Tim You can connect stuff to those pins, but you have to disconnect them if you want to communicate with your Arduino via the USB cable.
I got this error on my very first Duemillanove years ago. It was a dead UART chip (or connection from USB to UART chip). Very frustrating. I bought an AVR programmer and burned the bootloader. Purchased another CPU with bootloader preloaded. Wasn't until vendor sent a replacement that I was able to join the world of Arduino aficionados (and I now have two spare CPUs).
The part about pins 0 and 1. Kinda sucks when the whole point of your project is a 232 port on pins 0 and 1. UGH
Thank you so much. This error went away when I removed my ethernet shield and tried uploading. You just helped me meet a serious deadline.
Atmega 328P (Old Bootloader). Remind that the
Processoroption is only available when you select some specific Boards at
This worked for my Arduino Nano with CH340, using Arduino IDE 1.8.5 under Linux Ubuntu 17.10. Besides, this will probably happen if you use IDE 1.8.9 or newer and you get an old or cloned Nano.
If none of the above steps work, try reinstalling Avrdude and the avr-gcc compiler. I had to do this after my Mega started suffering from this.
If you installed Avrdude and avr-gcc separately, simply uninstall them. if not, you may have to reinstall the Arduino IDE. These steps will depend on your operating system.
Its highly unlikely that the problem would be caused because of the toolchain being used. This is too extreme, IMO.
I've had the same message. Every time it has been solved by selecting the right port ie USB under the menu Tools then Ports. Its a simple step but I always forget. I'll unplug the Arduino to stop the current program, plug it in again to my computer to upload the new program and get the error, panic, curse, and only then, remember.
In my case I hadn't wired the RTS pin of the FTDI chip to a capacitor which went to the RST pin of the Arduino Pro Mini. Once I installed this connection, I no longer got the error and I was able to upload code.
Nick Gammon explains this in his forum. I've added a picture of where/how the capacitor should be placed.
+1 for the nice picture of the usb programmer hookup directly to an atmega chip.
I had the exact same problem. I tried installing the IDE in another laptop and uploaded the program from that laptop. Problem solved. Then I came back to my laptop, uninstalled the IDE and re-install it.. it started working.
However, I wasn't satisfied because I couldn't find the source of the problem... so I tried running everything again the same exact way... I found the problem but not sure if that can be the actual cause of it.
In my project, I needed to carry out serial communication between arduino and MATLAB (GUI). In order to see/verify the output(type) of MATLAB (GUI) serial data, I used HYPERTERMINAL and also VIRTUAL SERIAL PORT EMULATOR. I noticed that every time when when hyperterminal is running or VSPE is running while my serial monitor is on it screws up the uploading feature of the program. I'm not sure if it's because of the VSPE or HYPERTERMINAL, but reinstalling the IDE worked for me.
One of the Serial Control lines, I think it is DTR, is used to reset the Arduino. When you try to program your Arduino, your terminal program could be interfering.
For people using Linux Mint I found that by selecting the "TTY SO" port instead of the one labeled "Arduino" it would work (I can't tell you exactly because I don't have that computer in front of me right now).
Then the next time I used the Arduino I again got the same message so I switched back to the "Arduino" port and it has worked that way ever since.
I am not as technically knowledgeable as the rest of you guys so I have no idea why this works or what the problem was, but it worked which is all I care about. Maybe this will be useful to someone.
I uninstalled the IDE and drivers etc, installed it all again, then I ran the Arduino IDE as an administrator and set to run compatibility as windows 7 (I'm currently using 10).
I also changed the programmer to AVR ISP (I don't think this matters, but I changed it anyway).
All is working again... hopefully, this can help someone else out too.