Problem Uploading to Arduino Nano

Hi guys. I have been attempting to make a space invaders game, but whenever I try to upload it to the arduino nano, it says:

Arduino: 1.8.8 (Windows 10), Board: "Arduino Nano, ATmega328P"

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x42
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x42
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x42
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x42
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x42
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x42
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x42
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x42
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x42
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x42
Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

I have tried to fix it numerous ways and all have failed. Please help!

Select Tools > Processor > ATmega328P (Old Bootloader) and try uploading again.

It still gives me a error message.

Arduino: 1.8.8 (Windows 10), Board: "Arduino Nano, ATmega328P (Old Bootloader)"

Build options changed, rebuilding all
Sketch uses 20866 bytes (67%) of program storage space. Maximum is 30720 bytes.
Global variables use 736 bytes (35%) of dynamic memory, leaving 1312 bytes for local variables. Maximum is 2048 bytes.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x80
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x80
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x80
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x80
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x80
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x80
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x80
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x80
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x80
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x80
Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

going to File > Prefences > and select Show Verbose During Upload might have some more information. Are you using an Arduino Clone or a genuine Arnduino Nano? have you checked the COM port using device manager to make sure youve got the right com port for the Nano?

I believe it is a genuine Arduino nano. It came in an Arduino labeled package with the word NANO on it.

The clue is where did you buy it from ?

It may need the CH340 driver

BandNerd:
I believe it is a genuine Arduino nano. It came in an Arduino labeled package with the word NANO on it.

Did the package look like this:

If so, I’d say there is a good chance it’s an official Nano. It’s true that counterfeiters would have no trouble at all reproducing that packaging, but in my experience with counterfeit Arduino boards they don’t bother with any packaging at all other than a static dissipative bag.

Regardless of whether it’s an official, clone, derivative, or counterfeit Nano, we are still not sure whether you need to use Tools > Processor > ATmega328P (Old Bootloader) or Tools > Processor > ATmega328P. The reason is that official Nanos made before 2018 need the old bootloader setting, while newer official Nanos need the normal setting. Nanos made by other manufacturers have historically all required the old bootloader setting, but it seems only a matter of time before some of them realize that Arduino switched to a different bootloader and follow suit. So unless you are certain which bootloader your board has, you’re going to need to test with both settings throughout the troubleshooting process until you get the uploads working. Once you have a working upload, you’ll know that whichever Tools > Processor setting you have selected is the good one.

Here are some other things you can try to fix this error:

Remove any connections to pins 0 and 1. These pins are used for communication with your computer, including uploads. Connecting anything to these pins can interfere with uploads.

Make sure you have selected the port of your Arduino board from the Tools > Port menu.

Sometimes the port will be labeled with the board name in the menu. Other times it will not. If you don’t know which port is your Arduino, you can find it like this:

  • Unplug your Arduino board from the computer.
  • Tools > Port
  • Note the ports, if any, listed in the menu.
  • Close the Tools menu
  • Plug your Arduino board into the computer.
  • Tools > Port - The new port listed in the menu is your Arduino board.

If no port appears for your board in the Tools > Port menu, that would possibly indicate a driver issue.

BandNerd:
I believe it is a genuine Arduino nano. It came in an Arduino labeled package with the word NANO on it.

Was it an original Nano, or one of the new Nano boards ( Nano Every or Nano 33 IOT / BLE / BLE Sense)?

It is definitely genuine. I started uploading simpler versions of the sketch and it uploaded and worked. Same computer too. I don't know if it is new or not. I have tried all ports and programmers and nothing has worked. Do you know anything else that could help?

I don't have a solution - in fact I came to this forum to post exactly the same issue! I have been fighting this for a couple of days and yes, I know how to determine the correct COM port and all the other usual newbie advice. ALL of the usual "trouble uploading" pages have been read and tried and nothing helps.

The difference is my Nano's are not genuine, they are definitely Chinese clones, but I have never had trouble like this in the past. I upgraded to 1.8.9 to be sure the IDE wasn't the problem, and I can successfully upload to Uno boards using the same USB cable. In fact, last night I was able to successfully upload to one of these Nanos for reasons unknown after multiple failed attempts. I uploaded "blink" and then changed the time values and re-uploaded to make sure it worked. Today when I try to do the same I only get the 10 retries and failure as in the OP.

This is too consistent to be a random failure, especially after I found one of the same lot of Nano's still in it's original unopened package and it does the same thing - 10 retries then failure.

It's definitely a serial comm's issue, either CH340-related or something - because I've been able to put code into these Nanos using ICSP.

Very interested in figuring out what's going on here but am running out of ideas. If anyone can point to a guaranteed-to-work CH340 driver that will run on Windows 8.1 or 10 I'd definitely try it.

Thanks,
Bob

@w9ran

Please don’t hijack threads if you know that you don’t have the same problem (genuine vs clone).

Attached the driver for CH340; this one works on Windows 10 (just tested) and as far as I recall I use the same one as well in Win 8 and Win 7; all Windows version 64-bit.

PS
I only had the extracted version available, so had to zip it again; the original came from the chinese manufacturer’s website.

CH341SER.zip (196 KB)

Thanks for that driver. It's the same one I've been trying but I uninstalled and re-installed the version you posted just to be sure, but the symptoms are the same. This is on a Win 8.1 machine, so I am going to load the IDE on a Win 10 machine and see what happens there, based on knowing it works.

I can add for whatever it's worth that an external USB-to-Serial adapter that also uses CH340 no longer will upload to a Pro Mini on the same machine where the Nano failure occurs.

Didn't mean to hijack the thread, just to provide additional information that might help determine the scope of the issue.

Bob

w9ran:
I only get the 10 retries and failure as in the OP.

Did you try both the Tools > Processor > ATmega328P and the Tools > Processor > ATmega328P (Old Bootloader) options?

w9ran:
I've been able to put code into these Nanos using ICSP.

When you do that it erases the bootloader. Before you can go back to uploading over the USB cable again you need to do a Tools > Burn Bootloader.

BandNerd:
I started uploading simpler versions of the sketch and it uploaded and worked.

So you're saying that simple sketches consistently upload, but every time you try to upload a more complex sketch it fails with the "avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x42" types of errors?

I had exactly the same problem as BandNerd with 1.8.9 on my Win10 laptop, and it was resolved by the solution suggested by pert. My Nano is a clone. Of course, before changing to the old bootloader, I had to change the board to Arduino Nano.

After numerous tests, re-burning the bootloadeer via ICSP, etc. - I finally decided one board had to have a bad Nano. Replacing it with another clone from the same batch was the solution, after determining that only the "328 old bootloader" will now work with those boards. Prior to running into this issue a couple of days ago I'd been using IDE ver. 1.8.2 which doesn't have both options, so between upgrading to the latest IDE and replacing one bad Nano I'm good. Thanks for the help.

Bob

w9ran:
After numerous tests, re-burning the bootloadeer via ICSP, etc. - I finally decided one board had to have a bad Nano. Replacing it with another clone from the same batch was the solution, after determining that only the "328 old bootloader" will now work with those boards. Prior to running into this issue a couple of days ago I'd been using IDE ver. 1.8.2 which doesn't have both options, so between upgrading to the latest IDE and replacing one bad Nano I'm good. Thanks for the help.

Bob

In the beginning of 2018, original Arduino Nanos started shipping with a new bootloader; that is when the 'old bootloader' option came into the picture. Older originals (pre-2018) need the 'old bootloader' as do clones (till such time that those manufacturers decide to upgrade). Newer original Nanos will need the '328P' option.