Fix avrdude: stk500_recv(): programmer is not responding | SOLVED

Ever stumbled across this error message when trying to upload a sketch?

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00

avrdude: stk500_recv(): error message from Arduino IDE

Is this some kind of joke? Who is this mysterious AVR Dude, why is he so uncool, and — most importantly — what does he have against you trying to upload a sketch to your Arduino? It’s beyond frustrating.

In this quick lesson, you’ll learn how to banish the mysterious AVR dude to the dusty highways of the nether realms. Or, to be less poetic, you’ll learn how to get rid of this error so you can get back to uploading your sketch.

Want to build a ChatGPT terminal?  Check out this project walk-through!

So who is this AVR dude, and why does the error happen?

AVRDude stands for AVR Downloader Uploader and is a utility used by the Arduino IDE. The utility’s main job is pretty straightforward — it allows you to load code onto your Arduino board.

So that’s who the dude is, but why does the error happen?

The avrdude: stk500_recv() error message is alerting you to a generic connection error between your computer and the Arduino. I wish I could keep it simple and tell you this error happens because of one single problem, but that would be too easy. This generic error can pop up for a host of reasons.

But don’t worry, I’ve got your back. In this lesson, I’m going to go through a “laundry list” of possible solutions. (Many thanks to “The Guy with The Hat” from the Arduino Stack Exchange for compiling this great list of fixes.) I’ll walk through each in detail, starting at the most common and easiest and moving on to more detailed troubleshooting tasks if those don’t work.

Here goes.

Let’s start with the easy stuff

Before we touch on some of the more elaborate and involved potential solutions, it’s smart to rule out all those obvious and small glitches.

  • Disconnect and reconnect the USB cable: I told you we’d start simple.
  • Press the reset button: If your Arduino board has a reset button on it, press it and see if you can now upload without the avrdude: stk500_recv() error.
  • Close and reopen the Arduino IDE: Giving the Arduino IDE a fresh start can fix a host of problems avrdude stk500_recv errors included.
  • Make sure you have the right Arduino board selected: In the Arduino IDE, go to Tools> Board, and select the Arduino board you’re using from the list.
select Arduino Board from Arduino IDE
  • Make sure you have the correct port selected: In the Arduino IDE, go to Tools>Port and select the port corresponding to your board. On a PC, it will start with COM. On a Mac, it should start with cu.usb.
    select Arduino Port from Arduino IDE

Useful tip: If you’re unsure of the correct port, take note of all the ports you have listed. Then disconnect your Arduino board from the USB cable and check the port menu again. The port now missing from the list is the port your Arduino was using. 

  • Remove connections to the RX and TX pins: The Receive (RX) and Transmit (TX) pins (pins 0 and 1) are used when you upload sketches to your Arduino board. Unplugging connections to those pins may banish the avrdude: stk500_recv() upload error.
  • Remove any shields: If you have an Arduino shield attached to your Arduino board, remove the shield and try uploading again. The shield may have a circuit interfering with the transmit and receive pins.

Programming Electronics Academy members, check out the Familiarization section of the Arduino Course for Absolute Beginners to learn about all the stuff on an Arduino board.

Not a member yet?  Sign up here.

Still getting avrdude: stk500_recv() error?

If you’re still getting the avrdude: stk500_recv() error, all is not lost — not by a long shot. It’s time to dig into some real troubleshooting.

So what could be going wrong here? We know the problem could be at three possible locations: the USB cable, the Arduino Board, or your computer. We’ll use a process of elimination to figure out the point of failure.

  • Test the USB Cable: USB cables fail, and surprisingly often. Check to see if using a different USB cable gets rid of the avrdude: stk500_recv() error.
  • Test another Arduino board: If you have one handy, try uploading to another Arduino board. Did the avrdude: stk500_recv() error suddenly vanish? Your original board is the likely culprit.
  • Test a different computer: If you’ve ruled out your USB cable and Arduino board, try uploading your sketch to another computer with the Arduino IDE installed on it. If you can successfully upload a sketch to the other computer, the avrdude: stk500_recv() error probably originates at your computer.

Once you have some hard data on the point of failure, you can read one of the following three sections to hone in on resolving the avrdude: stk500_recv() error.

The USB cable is to blame!

Well, I’ll go right ahead and state the obvious solution. Use a different cable 🙂

My computer is the problem

Here are three fixes you can try.

  • Reinstall the Arduino IDE: Just go to the Arduino website, download the most recent version of the IDE and install it again. Don’t worry, this won’t affect your old sketches. They’ll still be stored in your sketchbook folder.
  • Reinstall drivers: If you’re still getting the avrdude: stk500_recv() error, you’ll need to check that your drivers are installed correctly. These should be installed automatically when you install the Arduino IDE, but you can always try installing them manually.
  • Check to see if you need different drivers: Some Arduino clones require special drivers. You should be able to download these drivers from the website of the company that makes the board. If you can’t, contact the company directly.

Programming Electronics Academy members, learn about the Arduino IDE toolchain in the Familiarization section of the Arduino Course for Absolute Beginners.

Not a member yet?  Sign up here.

My Arduino board is causing the stk500_recv() error:

This is where things get a little dicey. It may be that your Arduino board is bricked  — electronics speak for broken in a manner that does not allow fixing. But try these steps before you throw it out and buy a new board:

  • Check that the microcontroller is seated properly: Some Arduino boards have a removable microcontroller chip — the Arduino UNO, for example. Check that it’s seated properly on the circuit board.
  • Burn a new bootloader: The bootloader is a program on your microcontroller that allows sketches to run. A corrupt bootloader can cause the stk500_recv() error. Try burning a new bootloader on the microcontroller.
  • Swap out a spare microcontroller: Got a spare microcontroller handy? If the kaput Arduino board has a removable microcontroller, you could always replace it with your backup microcontroller. You’ll have to load the microcontroller with the bootloader — as described in the previous step.
  • Use old bootloader – If you board is using an Arduino Nano with a ATmega328p processor try using the old bootloader. In the Arduino IDE go to Tools –> Processor –> ATmega328p (Old Bootloader)

Have you banished the dude?

By the time you get here, you’ll hopefully have banished the AVR dude back to the shadowy chaos realm from whence he sprung. With any luck, you’ll never meet him again. But if you do, now you have some tricks up your sleeve to get rid of the avrdude: stk500_recv() error swiftly and efficiently.

If you’re still getting the error, please read the comments below. You may find the hidden clue you’ve been looking for. Drop us a line in the comments if you don’t — someone out there may have faced the same problem.

And, of course, if you found a different solution, please leave a comment — it may help someone else.

Because sometimes evil dude banishment takes a village.

AppLab Bricks open in background with actual brick

Arduino AppLab Bricks → Marketing Garbage or New Powerful Interface?

Arduino Ventuno single board computer - top side

New Ventuno Q Dual Brain Single Board Computer

AppLab Pip Install

How to Add Python Packages in Arduino AppLab (No pip install needed)

Arduino Power Section Schematic

Kit-on-a-Shield Schematic Review

Just how random is the ESP32 random number generator?

Just how random is the ESP32 random number generator?

78 Comments

  1. Tony Fleming on May 15, 2021 at 8:34 am

    You could also have the COM port set other than default! There is a simple way to fix that in Device Manager, Ports (COM & LPT) [I do not know the MAC version steps, sorry], right click on the port (like COM7….) and hit PROPERTIES. Click on Port Settings and click on Restore Defaults. Once that is done, select the speed (Bits per second) – default is 9600 – to the same speed as your Arduino board is set to!!! Even at 9600 it is fast enough for your Arduino.
    Also, when testing different USB cables, if you don’t hear the DING when inserting USB cable to the computer (sorry MAC, I don’t know how it works there), it is 1) Bad USB cable or 2) Usb cable where only power is connected, but not the two other wires, Rx & Tx, or as known as a data wires.
    Lastly, try a different USB port on your computer – but make sure you start with the procedure again.
    Don’t forget to mark the POWER ONLY or CHARGING CABLE so you don’t have this problem again.

    Thanks for these videos, you are a great teacher!

    • Michael James on May 15, 2021 at 9:24 am

      Thanks for these tips Tony!

    • Harth on May 9, 2023 at 5:26 pm

      Why does the rx and tx buttons does not light up when i plug it in?

      • Michael James on May 11, 2023 at 5:08 pm

        Those should only light up when you actively loading code onto the board, or sending info back and forth with the serial port. Not necessarily, when you first plug it in.

    • Sourya on October 1, 2023 at 6:01 am

      sir i have tried everything including the comment, but nothing is happening

      • Michael James on October 3, 2023 at 11:52 am

        Hmmmm. Tough one! I’m not sure what may be up – do have other Arduino boards that are working on your computers?

  2. The Other Tony on May 21, 2021 at 5:38 pm

    I might also be the Processor indicated under tools and what is on your Arduino, I needed my buddies magnifying glass to be able to read mine.

    What you ‘say’ the Processor is in Arduino IDE and what you physically have should match.

    Cheers.

    • Aiden on August 10, 2021 at 2:57 pm

      You sir, are very helpful.

  3. Elton on July 25, 2021 at 9:06 am

    i’ve tried all of those tricks but one of my arduino uno board keep without loading any sketches. But if i take the original processor from this board and put it in another arduino uno board i can load any sketch. And if i take this same processor and put it back in the first arduino uno board so it runs the sketche without problem but keep without loading anyone. I installed another processor in the first arduino uno board and i couldn’t also load any sketch in it. Therefore there is a problem in the first arduino uno board, itsn’t the processor or anything else. I tried to load on another PC and continues the same error avr dude.

  4. Jean-Paul Gendner on July 29, 2021 at 1:44 pm

    Hello, (my english is very poor)
    Wishing to load the Boot loader in an Arduino Nano, in which I could not load a sketch, using another Arduino Nano, I encountered the problem with the message “avrdude: stk500_recv (): program is not responding “. Also I was very interested in all the possibilities presented here, but could not solve the problem.
    In fact this one came from the fact that in the sketch of the ArduinoISP I had commented out the line “#define BAUDRATE 19200” and validated that for 115200 bauds which is the speed that I usually use. A return to 19200 fixed the problem.

    • Jasnoor Singh on February 7, 2024 at 1:46 pm

      Thank you brother. Really. Crying for hours and your comment solved my problem.
      for other folks like me-
      use – Serial.begin(9600); in the void.

  5. Shane on September 2, 2021 at 9:21 am

    Thank you. Your suggestions fixed my issue. For me it was “The Receive (RX) and Transmit (TX) pins on the Arduino (pins 0 and 1) are used when uploading sketches on your Arduino board.”
    I had a Bluetooth controller plugged into my board which uses the TX/RX. By unplugging the the Bluetooth controller from the board, the code uploaded all fine using the USB cable.
    For the record I have a HC-06 Bluetooth controller which also failed to upload if I connected Arduino software via the Bluetooth COM port, probably for similar reason that it uses the TX/RX pins to connect but I got a different error message.

    • Michael James on September 2, 2021 at 10:29 am

      Glad it helped Shane!

    • Perla on February 10, 2023 at 3:21 am

      Thank you so much for your help Shane, I had this same issue and after reading you, I unplugged the Bluetooth controller from the board as well and the issue was fixed.

  6. Ruhl on September 29, 2021 at 4:05 pm

    Thank you sooo much, I’d already given up on my board before I found this eye-opening article of yours. I do not regret opening this page

  7. Muchamad Hasanudin on October 6, 2021 at 12:30 am

    hello sir
    I have a problem…

    *Arduino Uno*
    Port : Arduino Uno COM3

    when running in cmd:
    “no response from the board: list index out of range, please check the connection, port setting or reset the avr”

    What’s the solution?

    Thank you…

  8. Muhammad Ismail Zahid on November 21, 2021 at 2:44 pm

    I burnt bootloader in atmega 328 using arduino uno board as isp and after that tried to load the blink sketch, boot loader burnt successfully but when tried to load the blink sketch using usb to serial converter no success any ideas ?????

    waiting reply.

  9. Eric on December 19, 2021 at 8:26 pm

    I ran into this problem after I had been mucking about with a different kind of board, and then going back to an arduino Nano (Chinese version)
    I fixed it by making sure under TOOLS, I had selected Processor = ATmega328P (old bootloader) Note that I was using the ‘old’ IDE here…not sure about the Ver2.0 IDE

    Also… if you have a Chinese clone, make sure you have the CH340 driver installed if the board requires it.

    • Baba Moto on September 14, 2022 at 3:44 pm

      That’s exactly how I fixed it after running through all the mentioned solutions.

    • John Little on April 17, 2023 at 3:22 am

      ***Nano Stuck on Uploading***

      Yes – this same thing happened to me with the bootloader issue. I ordered a new set of nanos, and when they arrived, it would always hang on upload like forever. Sometimes it would error out after like 5 minutes, sometimes just stuck there. This behavior happened on 3 boards out of six. I would plug an older nano I had (looks identical of course) and it would take the sketch without issue.

      Based on this poor data set, I concluded maybe a bad batch got past quality control, so I returned them and got replacements – same issue. Tried another laptop with newest version of IDE – same issue. Now I’m a fella who likes probabilities, and the probability of getting a bad batch of nanos is pretty low, getting 2 bad sets, highly unlikely. Much higher probability of pilot/user error in this instance.

      So after mucking about, I decided to switch to the Atmega328P (old bootloader).

      Also, another observation for anyone facing similar issues – on my older nanos, when I plug in the USB cable, only the power button remains illuminated, but on my recent purchases, I’m finding the RX or TX light remaining lit until a sketch is uploaded, which is different. Not sure it matters, just adding detail and hoping it helps someone in a similar situation.

    • Luis on July 13, 2023 at 8:42 pm

      thanks a lot! this solved my problem!

    • Ben on September 23, 2023 at 9:27 am

      Thank you so much for your comment! I was having trouble for few hours cracking my head with Arduino Nano with CH340 (already installed the driver from their site: https://sparks.gogo.co.nz/ch340.html, for anyone who needs it), and in the end the solution was indeed changing the processor to “Atmega328P (old bootloader)”.

  10. Brenton Collins on December 28, 2021 at 12:44 am

    Removing the RX, TX lines sorted me. Cheers

  11. khalil jaber on January 26, 2022 at 2:46 pm

    thank you pin 0 was the problem

  12. Poongkodi on February 12, 2022 at 11:42 am

    We cannot solve the stk500_recv() :programmer is not responding. We cannot burn the arduino Nano chip.

  13. nuclear fusion on February 16, 2022 at 12:53 pm

    I tried setting the processor to an old bootloader one, it worked with mine.

  14. Jason on March 28, 2022 at 2:55 pm

    I am having this issue with the Arduino IDE in Ubuntu. I had been using it without any problems until I loaded a sketch for HX711. The first time, the sketch loaded without a problem. Then I changed a value in the sketch and tried to upload. That’s when I got the avrdude error. Tried a basic sketch example… still same problem. I happen to have a Windows PC with the Arduino IDE loaded and I can load any sketch without a problem. I have tried everything recommended.. even uninstalled with the purge option, and reinstalled using source code. Still have the same problem. Could this be a hardware issue with my Ubuntu system that happened to show up right after I loaded the first sketch?

    • Michael James on March 28, 2022 at 4:05 pm

      Hmmmm. I am not sure. Maybe you could try installing an older version of the IDE and see if that works? They list out all the previous releases. Or..have you tried a different board on the same system?

  15. Mihnea Calin on April 18, 2022 at 5:08 pm

    Hello,
    I have used Wikwo to prototype my board and then programing in it and in the simulation everything worked sound, I uploaded once the code on my arduino uno (but I didn’t payed attention to the console output…
    later when the “shield was done and everithing was wired up I started the arduino with the shield on, but it didn’t work then I bring it to the bench believing that is an imperfect contact and checked…
    observing that is not working I tried uploading the ino file again and it start giving me this error … tried a spare nano (cause I didn’t have had another uno ) but same output, Today I borrowed another nano from a friend (who I believe at it was new) and the same errors. with all 3 I tried to upload the “blink” example and it gives me the same error… could the source of the program that I developed it in Wikwo contain some “bugs” who ruins all my boards ?
    Every answer no matter how awkward might be usefull so please, please give me some ideas because II am out of them

    • Michael James on April 18, 2022 at 8:18 pm

      Can you post your code? I highly doubt it was the code, but I am not sure.

      Have you tried different USB cables?

  16. Jhoan y Naommy on June 25, 2022 at 7:01 pm

    muchas gracias por el aporte. me sirviĂł de mucho, fue de gran ayuda.
    saludos desde PerĂş

    • Michael James on June 27, 2022 at 7:37 pm

      ÂĄDe nada! Muchas gracias por la nota.

  17. JosĂŠ Daley AlarcĂłn Rangel on June 28, 2022 at 7:36 pm

    ProbĂŠ todo lo anterior y no me a resuelto el problema agrego lo siguiente:
    El computador no deberĂ­a de ser el problema porque en el mismo equipo me a funcionado con otras placas por ejemplo la Arduino Nano y la Arduino Uno de FabricaciĂłn para Italia con cristal de 16Mhz, la Falla es con la Arduino Uno que rotula Made in China con cristal de 32Mhz
    La plana no es por he realizado esta prueba en otro equipo y la placa funciona la Ăşnica diferencia es que el una mini laptop llamada canaimita y allĂ­ funciona.

    Entonces al parecer el problema es de comunicaciĂłn al momento de realizar la suma de verificaciĂłn de que se a subido el programa a la placa arduino, esto deberĂ­a de tener soluciĂłn, y creo la misma podrĂ­a ser bajar la velocidad con que se esta realizando la comunicaciĂłn, pero no se como puedo controlar este parĂĄmetro

  18. JosĂŠ Daley AlarcĂłn Rangel on June 28, 2022 at 7:38 pm

    I tried all of the above and it has not solved the problem, I add the following:
    The computer should not be the problem because in the same equipment it has worked for me with other boards, for example the Arduino Nano and the Arduino Uno made for Italy with 16Mhz crystal, the fault is with the Arduino Uno that labels Made in China with 32Mhz crystal
    The flat one is not because I have carried out this test on another computer and the board works, the only difference is that it is a mini laptop called canaimita and it works there.

    So apparently the problem is communication at the time of performing the checksum that the program has been uploaded to the arduino board, this should have a solution, and I think it could be to lower the speed with which the communication is being carried out , but I don’t know how I can control this parameter.
    This was translated with:
    translate.google.com

  19. Alham on July 11, 2022 at 8:34 am

    I faced the same error using Arduino Uno and Bluetooth HC-05, but it is solved now. Thanks for this useful tutorial.

    My problem was with RX and TX. I replaced them as follows:
    RX—-> 0
    TX—->1

    and now is working.

    Thanks

  20. Adam Wolf on August 1, 2022 at 4:36 pm

    It’s not working. Still has issues. What else should I try? Please reply

    • Michael James on August 4, 2022 at 10:27 am

      Did you try it on a different computer?

  21. ar haaranen on October 8, 2022 at 12:56 pm

    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00 error.
    Personally, this error came when I didn’t send ardunoisp, so it was just the beginning of the situation. My mistake. Nowhere in the instructions or I did not notice send arduinoisp. Burning started immediately.

  22. Raj on November 24, 2022 at 10:08 am

    Thanks Dude

    • Michael James on November 26, 2022 at 10:21 am

      You’re welcome! I hope it helped!

  23. Ethan on December 21, 2022 at 5:41 am

    Hey so I checked my wire and computer they’re ok except for my arduino nano’s rx and tx pins aren’t lighting up, and I can’t upload with it cause I keep getting the avrdude error. Is there something wrong with the board? I only have the nano plugged.

    • Michael James on December 21, 2022 at 6:25 pm

      Hi Ethan, I don’t think that there is necessarily an issue with the board. The RX and TX lights will only blink when a transmission is occurring between the board and your computer – with the AVR Dude error, that usually means no transmission is taking place, so you wouldn’t see those lights.

      Have you tried all the other troubleshooting steps?

  24. Juergen on March 8, 2023 at 9:32 am

    Hi Michael,

    I’m facing the same problem, but the TX LED is blinking , exactly at the same frequency that I defined in the last sketch which has been running successfully (step motor). After modifying the sketch, it compiled correctly, but upload did not work. None of the above mentioned options helped solving the problem.

    Thanks for comments.

    JĂźrgen

    • Michael James on March 8, 2023 at 8:04 pm

      Hi Juergan, when you try to upload, are both the TX and RX leds blinking for you?

  25. Spence on March 9, 2023 at 2:57 am

    Hello michael, i have been getting error messages as such below:
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xd4
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xd4
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xd4
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xd4
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xd4
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xd4
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xd4
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xd4
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xd4
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xd4
    Failed uploading: uploading error: exit status 1

    What i am working on is Arduino Nano V3.0 and my TX RX pins werent lighting up when i tried to upload my code. I have tried the following fixes below:
    1) changing USB cables (in my case it would be USB mini).
    2) changing ports on my laptop (somehow every port it shows that its connected to COM 8).
    3) testing on a different laptop
    4) changing ports on device manager manually
    5) Reinstalling arduino IDE
    6) Pressing the rst button on my arduino board
    7) Testing with a different arduino board (it came with usb type-c port)

    Before the issues surface, it was able to upload the code on both boards but for this particular nano V3.0, before this it showed a different error code
    Problem uploading, can’t open device “\.\COM8”: Access is denied. Which is solved by simply changing the ports on device manager.

    Please advice !

  26. michel on March 22, 2023 at 6:44 pm

    For my arduino nano it helped to specify another cpu than the one selected by default..
    # find board details
    `$ arduino-cli board details –fqbn arduino:avr:nano`
    # compile with specific cpu
    `$ arduino-cli compile –fqbn arduino:avr:nano:cpu=atmega328old hello.ino`
    # upload with specific cpu
    `$ arduino-cli upload -p /dev/ttyUSB0 –fqbn arduino:avr:nano:cpu=atmega328old hello.ino`

    You can probably do something similar in the Arduino IDE, I just prefer to use terminal.

  27. Yiasakiss on April 14, 2023 at 7:28 am

    Try
    Tools -> Processor: “ATmega328P (Old Bootloader)”

    Worked for my generic OEM Arduino Nano boards.

  28. Kostas on April 29, 2023 at 7:42 am

    Thank you!!!

  29. Stav F on July 17, 2023 at 3:04 am

    i tried all of the above and they didnt work, the solution was to use a different IDE for uploading my program.
    i used platformIO on VS code, but i guess any would work, both on Arduino Uno chinese clone and Arduino Nano chinese clone that have CH340 usb chip

  30. Alberto on July 28, 2023 at 6:57 pm

    hello
    I am facing also the issue with: avrdude: stk500_recv(): programmer is not responding
    In my case, it was working fine but I added new set of batteries. I made a mistake in the conexions and the Arduino Uno recived 8volts for ~5 seconds.
    After that, nothing of the suggested works.
    The IDE detects the board, I can even fetch Board info but is not possible to Upload new code.
    Any suggestion?

    • Michael James on July 29, 2023 at 8:15 am

      Have you tried the board on a different computer already Alberto? Where were you connecting the power when you had the reverse polarity?

      • Alberto on July 29, 2023 at 11:11 pm

        Hi Michael
        I did’nt try different computer, only different port and all steps described in the thread. I dont have a spare computer but I will borrow one for the test.
        When I did the wrong conexion, I supplied the power via power jack 2.1mm connector.

        • Michael James on July 30, 2023 at 9:29 pm

          If I not mistaken the Arduino UNO has reverse polarity protection (via a diode) on the barrel jack – so I’m not so sure that short connection was the issue.

  31. Buddy on September 3, 2023 at 1:26 am

    i disconnected the board from the circuit, and my generic NANO uploaded with the old bootloader.

  32. ERIC M C WILLIS on September 25, 2023 at 12:49 am

    Tried all your suggestions, changing ports in Device Manager, changing cables etc etc etc – changed to another Nano board and the sketch uploaded with no problem. Then went back to the original board and changed to the Nano 328 Old Bootlegger option and it uploaded with no problems. Thanks for your work in compiling this Problem Solver and also for the comments which is where I realized to change the Board Designation to Old Bootlegger. Much appreciation to all who have worked on this. Thanks

  33. Dale on October 21, 2023 at 3:23 pm

    Nothing here worked for me. I decided to just buy 3 more Nanos & while looking on Amazon I read a lot of the comments about the Elegoo Nano. One comment was to set the Board type to Uno. That worked for me.

    • Ibrahim on November 16, 2023 at 8:28 pm

      That is worked for me too

  34. akash on January 24, 2024 at 12:14 pm

    hello MIchael,
    my nano is getting stuck while uploading ,i tried with the boot loader but it didn’t work ( BTW i am also using a dfplayermini module )
    if possible please help me
    thank you

  35. Nico on June 25, 2024 at 8:24 am

    Haven’t done much with the Arduino for a year or so and was trying to upload a sketch to a non genuine Nano and was getting this error.
    tried a second board with different USB lead and same problem. Tried a UNO and all ok.
    Found your help blog here and started through the check list and got to boot loader issues.
    I went back to the IDE and found ( OLD Bootloader )
    Selected that and bingo all good with both Nano’s that were failing. They are quite old and I was using the latest IDE and drivers had been updated so it was just the bootloader issue.
    Thanks for your blog.

  36. James Dooley on July 24, 2024 at 2:28 pm

    Great article. Another one to add – usb multiplexer adapter.

    I was using a tool to expand my usb ports since my mac mini only has 2… so I had to give my Arduino its own usb port and put my mouse and keyboard both on the adapter

  37. Guy on August 6, 2024 at 10:23 am

    Ooofty! That was a doozy.
    It took me a long time to find the solution to my problem, the one you documented so well in this article.
    I purchased a pack of three Arduino Nano, not the original ones, but some cheap (in both sense of the term) clones from China. I tried all three boards and they had the same symptoms.
    I followed ever step in your article, and came to the end of the article with no solution. Very depressing. But… one thing I had not looked into much was the Tool –> Processor menu. I had selected the “ATmega328p” which is what is written on top of the processor (need a microscope to see it). Going through the whole thing again, I noticed that there was another option: “ATmega328p (Old Bootloader)”. I purchase those boards just a few days ago (summer 2024), so I didn’t think that they would be old. Well, long and behold, I have finally banished the avrdude!
    Thank you so much!

    Guy

    • Michael Cheich on August 6, 2024 at 12:37 pm

      Thanks for leaving this great note Guy! I am sure it will help others in the future!

    • Ben on December 22, 2025 at 5:35 pm

      Hi, where is the Processor option on the tools ? I’m using IDE 2.3.7, can ‘t see processor anywhere. I have a programmer tab, in which I don’t have the old bootloader option. Can you please help ?

      • Michael Cheich on December 23, 2025 at 9:37 am

        Hi Ben, the “Processor” option will show after you make your board selection, under tools➞board. However, not all boards you use will have this option. It sounds like Guy was using an Arduino UNO Rev3, if you are using a different board, you may not see this as an option. This is true as well for the “Old Bootloader” option as well. What board are you using Ben?

  38. Tanvi on January 29, 2025 at 11:06 am

    I have tried a lot using all the the options.I am using a macOS and I am getting the same error again and again.Please help

Leave a Comment