"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?

    Nice title! I've had that error myself...

    +1 for the title :D... I really hate this dude as much as you did!

    Try installing the driver (cp2102)for the arduino. That did help me out. Thanks for the previous answers ppl :-)

    I had the same problem and tried the common suggestions to no avail. I could see output from the old code in the serial monitor. I switched to UECIDE and it built and uploaded with no problems or changes. Not sure what's happening, but it was an easy fix.

  • 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:
      1. Disconnect the USB cable.
      2. Go to Tools ► Serial Port ► and see which ports are listed (e.g. COM4 COM5 COM14).
      3. Reconnect the USB cable.
      4. 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.

    So can I not have anything in 0 or 1 ever?

    @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).

    "Disconnect and reconnect the USB cable" works for me

    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

    "Press the reset button on the board" helped.

    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.

    Could you please append also Tools->Processor->Atmega 328P to Atmega 328P (Old Bootloader) to the list of possible solutions.

  • Another fix:

    Change Tools->Processor->Atmega 328P to Atmega 328P (Old Bootloader). Remind that the Processor option is only available when you select some specific Boards at Tools>Board.

    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.

    That was the solution! The new bootloader uses twice the baud rate (115200 instead of 57600).

  • Unfortunately, it can also mean that you burned your microcontroller. Were you doing anything dangerous right before you tried to upload a new sketch? Is the microcontroller still working, with its previously loaded sketch?

  • 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.

    It's the only way I could solve my problem

    What is this installation process you are talking about? The arduino editor tool is just unzipped. There is no installation process.

  • 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.

    I think this is the most common solution.

  • 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. enter image description here

    +1 for the nice picture of the usb programmer hookup directly to an atmega chip.

    I also had some bad connections on my board, I unplugged everything and uploaded a basic sketch and it worked. Now go figure what cable is not in the right place

  • 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.

    This worked for me only when I also deleted my Arduino Library folder, which contains all settings and extra libs.

  • 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.

  • An unusual one but I've been swapping out the microcontrollers a lot and i got this error when one wasn't seated correctly.. i was able to burn a few times but i guess it slipped back out - a little push on the back of the ATMega328 fixed it!

License under CC-BY-SA with attribution

Content dated before 6/26/2020 9:53 AM