More Nano upload problems

I just bought a 4th Nano to complete a project I am working on and could not get it to upload any sketches. There's heaps of forum answers on what to do about that none of which worked so I assumed I had a dud and bought more units from two different suppliers. I can't get any of the new ones to upload.

I already had three units bought earlier this year for the project and they all work fine, I can upload a sketch to each of them using the same hardware - cable, computer that I am using with the new Nanos. I tested that repeatedly and successfully whilst struggling to get the new ones to work.

With the new ones I have tried:

The 'new' and old bootloader
The new and 2019 versions of CH340 driver (both work with older Nanos)
Holding reset down when plugging in the USB lead
Restarting the computer and IDE many times
Checking the port in Device manager and in IDE
Changing to another PC (older Nanos work with both; new Nanos with neither)
Every cable I own - all of which are proven.
Reinstalled Arduino IDE 2.3.2

There is nothing connected to the unit except the USB cable
I am uploading an empty sketch to both new and older units
There is just the tiniest flicker from the Rx led when the IDE says it's uploading but it clearly is not.
Both PC's W10 Pro

I have always found the Nano to be more problematic to configure than other Arduino models - occasionally it has taken more than an hour of fiddling to get it working but this time I am stumped. Given that with Nanos bought a few months ago I can upload sketches, I am wondering if the Nano has changed recently in some way. Unfortunately I cannot complete my project witout changing spec from Nano to something else unless I can solve the problem. Can anyone suggest what is going wrong?

This is the error message
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x74
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x74
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x74
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x74
avrdude: ser_recv(): read error: Access is denied.

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x74
avrdude: ser_send(): write error: sorry no info avail
avrdude: ser_recv(): read error: Access is denied.

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x74
avrdude: ser_send(): write error: sorry no info avail
avrdude: ser_recv(): read error: Access is denied.

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x74
avrdude: ser_send(): write error: sorry no info avail
avrdude: ser_recv(): read error: Access is denied.

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x74
avrdude: ser_send(): write error: sorry no info avail
avrdude: ser_recv(): read error: Access is denied.

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x74
avrdude: ser_send(): write error: sorry no info avail
avrdude: ser_recv(): read error: Access is denied.

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x74
avrdude: ser_drain(): read error: Access is denied.

Failed uploading: uploading error: exit status 1

1 Like

Ask the manufacturer or supplier :smiley: Unless you bought real ones, it's not Arduino who is the manufacturer or supplier; the real Arduino Nano uses the FTDI serial-to-usb converter; check the chip at the bottom of the board.

Please check the writing on the main chip. What does it say?

  • 168
  • 328
  • 328P
  • 328PB
  • LGT8F328P
  • other

Please enable verbose output during upload and disable verbose output during compilation. Perform an upload and post the results here (please use code tags).

Do you have a link to what you bought?

The components of the units are all marked the same (new and older). CH340G for Serial/USB and Atmel Mega 328P for the main chip. Whilst I had the magnifier out I took a good look at the soldering which looks fine.

I need a number of these so of course I am using clones - successfully up to now, touch wood I have not had a duff component.

I don't have a link but I did copy the spec which is just a description of Nano. Again they are all the same, the older ones that work and the new ones which don't. Below I have printed out the upload log for a new unit which failed to upload and then I did the same for an older one which did upload.

Specification:

Arduino Nano V3.0 Compatible micro controller Mini USB ATmega328P 16MHz 5Vwith headers already soldered, powered by mini USB or on board connections. The bootloader is already installed.

Micro controller: ATmega328P
USB chip: CH340G
Architecture: AVR
Operating Voltage: 5V
Flash Memory: 32KB 2KB used by the bootloader
SRAM: 2KB
Clock Speed: 16MHz
Analog Pins: 8
EEPROOM: 1KB
Input Voltage: 7-12 V
Digital I/O Pins: 22 (6 of which are PWM)
PWM Output: 6

upload log new Nano which will not upload:-

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Users\Donald\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"

         Using Port                    : COM5
         Using Programmer              : arduino
         Overriding Baud Rate          : 57600
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x6f
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x6f
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x6f
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x6f
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x6f
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x6f
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x6f
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x6f
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x6f
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x6f

avrdude done.  Thank you.

Failed uploading: uploading error: exit status 1

and for an older one:-

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Users\Donald\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"

         Using Port                    : COM5
         Using Programmer              : arduino
         Overriding Baud Rate          : 57600
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

and here's one that almost got written but the sketch (very well tested and used) did not work. Different com after reboot.


avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Users\Donald\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"

         Using Port                    : COM4
         Using Programmer              : arduino
         Overriding Baud Rate          : 57600
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : Arduino
         Description     : Arduino
         Hardware Version: 2
         Firmware Version: 1.16
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: reading input file "C:\Users\Donald\AppData\Local\Temp\arduino\sketches\803DE08F200943677A12116E08ADA42B/megatree9_Ctr4.ino.hex"
avrdude: writing flash (18756 bytes):

Writing | avrdude: stk500_recv(): programmer is not responding
################################################## | 100% 73.66s

avrdude: 18756 bytes of flash written

avrdude done.  Thank you.

Did you try setting "Genuino UNO" in the tools-boards menu?

You did notice Writing | avrdude: stk500_recv(): programmer is not responding in that output? Taking nearly 75 seconds for upload is also extremely long; I did upload my biggest Nano sketch (around 14kb) and it takes only 4.3 seconds (relevant output below) for a Nano with CH340 / 328P and old bootloader. So it looks like the bootloader is battling to write to flash; I do not know enough to say if it does some retries or not.

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: reading input file "/tmp/arduino_build_136872/NetballTimer.0.11.gameOverMenu.ino.hex"
avrdude: writing flash (14596 bytes):

Writing | ################################################## | 100% 4.30s

avrdude: 14596 bytes of flash written
avrdude: verifying flash memory against /tmp/arduino_build_136872/NetballTimer.0.11.gameOverMenu.ino.hex:
avrdude: load data flash data from input file /tmp/arduino_build_136872/NetballTimer.0.11.gameOverMenu.ino.hex:
avrdude: input file /tmp/arduino_build_136872/NetballTimer.0.11.gameOverMenu.ino.hex contains 14596 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 3.28s

avrdude: verifying ...
avrdude: 14596 bytes of flash verified

avrdude done.  Thank you.

Something is not right (but you know that :wink:). Some options

  1. Send it back; it would definitely be my first option.
  2. You can try to burn the bootloader to the faulty Nano and see if it solves the issue.
  3. This will not solve the issue but enable "verify after upload" (the above output includes that).

Questions

  1. When you press and release the reset button, does the L-LED give a single quick flash or multiple quick flashes after the release; that is, before the loaded sketch takes over.
  2. Did your Nano come with the blink sketch preloaded? Have you tried to upload the blink sketch instead of your own one?

Working with 2 Nanos from different suppliers (who knows about manufacturers). I am using an empty sketch ie one with nothing in either setup or loop - something I do all the time. One unit uploaded first thing this morning; it has done that once before in ~50 attempts. But then it failed on a second attempt. This one blinks once when reset. That one was preloaded with the blink sketch. The other unit did not upload. It blinks 3 times when reset. It was not preloaded.

For the past three days I have been working with a Mega 2560 and an R3 Uno which use the same USB/Serial chip and driver with no problems.

I would have to read up on how to burn a boot loader, I have never done that and wouldn't know where to start (presumably finding the right bootloader).

Thanks

I can't quite help you further.

The bootloaders are somewhere in the package directory (
C:\Users\Donald\AppData\Local\Arduino15\packages\arduino), you don't have to worry about that. The bootloader that you need will automatically be selected when you select a board/processor and do a"burn bootloader". If you select the "old bootloader", the old bootloader will be burned to the Nano, if you select "328P" the new one will be burned.

I appreciate that. Reading back over the years it does appear that the Nano has loading reliability problems that are getting worse. That may not be the case with OEM Nanos but they are typically 7 times the price of clones which actually do a good job if you don't need to change the sketch too frequently. That is my experience so I am replacing the Nano in my project design. Thanks.

I understand that. The only clone boards that I have are Nanos and I'm glad that I haven't had problems; all other boards are originals.

Buying clones definitely seems to become risky. But if your project has deadlines (might not be applicable in your case) you have to consider your options. And in your case it might have saved you 5 days of frustration :wink:

I think it would make sense to burn the bootloader to a non--working Nano, just in case that's the problem. The Arduino guide to doing that is pretty good, but does not include adding a 10uF cap from reset to ground of the programmer Arduino - AFTER burning the ArduinoISP sketch to it. That was necessary for older versions of the IDE, but may not be needed with v2.

You said one of the new Nanos actually worked once first thing in the morning, but wouldn't work again after that. That's a strange symptom, but might indicate that an incorrect resistor or capacitor value might be populated on all these boards. If the old and new Nano's are the same design, you could measure the resistors on both to see if there are any differences. Of course there's a limit to how much more time you may want to devote to this.

We still need a link to the supplier of the new Nanos. Someone might want to order one to attempt to diagnose the problem for others' benefit.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.