Arduino Nano FTDI upload problem

Hi there:

I'm trying to upload a simple blink program into an Arduino Nano (FT232RL chip). After several minutes of "Uploading..." I get the following error:

"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-gcc" -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega328p  -o "C:\Users\ANDRES~1\AppData\Local\Temp\arduino_build_252936/Blink.ino.elf" "C:\Users\ANDRES~1\AppData\Local\Temp\arduino_build_252936\sketch\Blink.ino.cpp.o" "C:\Users\ANDRES~1\AppData\Local\Temp\arduino_build_252936/core\core.a" "-LC:\Users\ANDRES~1\AppData\Local\Temp\arduino_build_252936" -lm
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-objcopy" -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0  "C:\Users\ANDRES~1\AppData\Local\Temp\arduino_build_252936/Blink.ino.elf" "C:\Users\ANDRES~1\AppData\Local\Temp\arduino_build_252936/Blink.ino.eep"
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-objcopy" -O ihex -R .eeprom  "C:\Users\ANDRES~1\AppData\Local\Temp\arduino_build_252936/Blink.ino.elf" "C:\Users\ANDRES~1\AppData\Local\Temp\arduino_build_252936/Blink.ino.hex"
Sketch uses 928 bytes (3%) of program storage space. Maximum is 30720 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
An error occurred while uploading the sketch

I did some research on the issue and after several trials, failed to find the solution. Here you can see my actions:

  1. Updated the FTDI driver to versions 2.10.00, 2.12.00 and 2.12.26.
  2. I did upload the same program into a different version of the nano (CH340G chip) and worked just fine.
  3. Uninstalled and reinstalled Arduino IDE.
  4. Restarted both the computer and the arduino.

I'm running windows 10 @ 64 bits, Arduino IDE 1.8.3.

Thanks a lot in advance.

Andres.

Is your FTDI counterfeit (if Nano from ebay)? In case of counterfeit FTDI chip, some versions of driver cause its bricking whenever it is connected. The drivers v2.11.00 and v2.12.00 it surely do - the PID is zeroed. I read that the newest drivers do it again. Check it in the device manager, some unknown device should appear in such case.
The solution is to repair PID and eventually VID via FTprog and not to use listed drivers anymore.

Budvar10:
Is your FTDI counterfeit (if Nano from ebay)? In case of counterfeit FTDI chip, some versions of driver cause its bricking whenever it is connected. The drivers v2.11.00 and v2.12.00 it surely do - the PID is zeroed. I read that the newest drivers do it again. Check it in the device manager, some unknown device should appear in such case.
The solution is to repair PID and eventually VID via FTprog and not to use listed drivers anymore.

The nano was gifted to me. It shows in the top part "ARDUINO NANO V3.0 GRAVITECH.US". Anyway, I went to the device manager and no unknown device appeared. All I see under ports is "USB Serial PORT (COM3)". To be sure if the arduino was or wasn't bricked I downloaded the FT_PROG and scanned and parsed the device. It isn't bricked, the PID is not zeroed.

I'm using a different USB to mini USB wire, I'm thinking that might be the problem. Do you have any ideas?
I'll get a new wire in the mean time.

Thanks for the quick response!!

Andres.

Aha, yes, I've just guess what could be reason, because of you post doesn't provide me sufficient info. So, it looks that FTDI works, USB end at least. You can switch on verbose mode in the Preferences to obtain more detailed log. How about the LED during upload?
In any case, it doesn't looks like problem with Arduino IDE. Forget reinstallation, reboot etc. for now.
You could try loop-back test if the FTDI works on the serial end. Short the RESET of Nano to GND to prevent start the MCU, and connect Rx,Tx pins together. With any terminal emulator typing on keyboard should appear on the screen, Rx and Tx blinks together, the FTDI is OK in such case.
Another thing, possibility of missing bootloader. If you have ISP programmer or another Arduino, you can try to read out the flash and fuses to check if the setup is OK. The averdude can do this job, directly from CMD. The avrdude is included in the Arduino SW. If you need an assistance with the command, just ask.

Just got a new wire. Nothing changed but the error.

Here it is:

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude: stk500_recv(): programmer is not responding
Problem uploading to board.  See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.

Hopefully this will provide more info on the problem.

I did the loop-back test, FTDI works fine.

Both RX & TX Leds blinked 3 times when uploading, then nothing else happened for several minutes until the error showed up.

I do have a second arduino nano. Before I start messing up with the bootloader, I wanted you to see the aforementioned error. I have never loaded a bootloader before, I'll do some research on it, but help is appreciated.

Thanks!!

Here you can see a more detailed picture of the flash and fuses status:

Arduino: 1.8.3 (Windows 10), Board: "Arduino Nano, ATmega328"

Sketch uses 928 bytes (3%) of program storage space. Maximum is 30720 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM3 -b57600 -D -Uflash:w:C:\Users\ANDRES~1\AppData\Local\Temp\arduino_build_679898/Blink.ino.hex:i 

avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM3
         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
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
         Hardware Version: 4728160
         Firmware Version: 0.4598883
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
         Vtarget         : 420030.5 V
         Varef           : 195822548.0 V
         Oscillator      : 0.536 Hz
         SCK period      : 19022118.1 us

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude: stk500_recv(): programmer is not responding

avrdude done.  Thank you.

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.

If you wish to see the verbose output during compilation, just let me know.

Andres.

It could be just a Windows 10 problem.
I would be interested to seeing what happens when you try the same thing on a Windows 7 PC.

Hi, got a windows 7 PC. Here is the error:

Arduino:1.6.5 (Windows 8), Placa:"Arduino Nano, ATmega328"

Sketch uses 1,030 bytes (3%) of program storage space. Maximum is 30,720 bytes.

Global variables use 9 bytes (0%) of dynamic memory, leaving 2,039 bytes for local variables. Maximum is 2,048 bytes.

C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM22 -b57600 -D -Uflash:w:C:\Users\Alee\AppData\Local\Temp\build6550314689646212856.tmp/Blink.cpp.hex:i 



avrdude: Version 6.0.1, compiled on Apr 15 2015 at 19:59:58

         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

         Copyright (c) 2007-2009 Joerg Wunsch



         System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"



         Using Port                    : COM22

         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.02s



avrdude: Device signature = 0x1e950f

avrdude: reading input file "C:\Users\Alee\AppData\Local\Temp\build6550314689646212856.tmp/Blink.cpp.hex"

avrdude: writing flash (1030 bytes):



Writing | avrdude: stk500_recv(): programmer is not responding

Problema subiendo a la placa. Visita http://www.arduino.cc/en/Guide/Troubleshooting#upload para sugerencias.

  This report would have more information with
  "Show verbose output during compilation"
  activala desde Archivo > Preferencias

Thanks!

Use the same version of the Arduino IDE on both PCs.

Also, there was discussion that you need to install the Windows 10 program of the Arduino IDE not the Windows app from the App store.

Hey, got the following error using 1.8.3 on windows 7 PC:

Arduino:1.8.3 (Windows 8), Tarjeta:"Arduino Nano, ATmega328"

El Sketch usa 928 bytes (3%) del espacio de almacenamiento de programa. El máximo es 30720 bytes.
Las variables Globales usan 9 bytes (0%) de la memoria dinámica, dejando 2039 bytes para las variables locales. El máximo es 2048 bytes.
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM22 -b57600 -D -Uflash:w:C:\Users\Alee\AppData\Local\Temp\arduino_build_67323/Blink.ino.hex:i 

avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM22
         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
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
         Hardware Version: 4728160
         Firmware Version: 0.4598883
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
         Vtarget         : 420030.5 V
         Varef           : 198256140.0 V
         Oscillator      : 1.373 Hz
         SCK period      : 6505677.1 us

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude: stk500_recv(): programmer is not responding

avrdude done.  Thank you.

Problema subiendo a la placa. Visita http://www.arduino.cc/en/Guide/Troubleshooting#upload para sugerencias.

Este reporte podría tener más información con
"Mostrar salida detallada durante la compilación"
opción habilitada en Archivo -> Preferencias.

I have only downloaded IDE from the following site:

Cheers!

Andres.

Now I am thinking it is a problem with the Nano iydrlg.

Do you have another one to try?

This is why I always buy two of everything.

Yes, I have a second arduino nano. It has the CH340 chip, however, everything works just fine with it.

What is the next step?

You've ruled out the PC's OS.
You've ruled out the cable.
That leaves the module.

You could be you just have a broken module.

The loopback test says that FTDI Rx and Tx works just fine, 3 blinks at upload start says that there is reset pulse from FTDI DTR line and the bootloader is on its place, so until this moment everything works fine. You should see Rx blink as the first command comes from PC, I hope there is. Even though, the programmer doesn't respond at all.
My question is: why baud rate 57600 and not 115200? It could be a problem since the bootloader has hard coded speed. You could try the command from CMD with more -v params (-vvv or -vvvv) for more detailed log and without -b and other stuff.
Like this:

C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -vvvv -patmega328p -carduino -P\\.\COM22

Hi Budvar.
I got the avrdude app running in my CMD. However, when I try to boot up the config file following your scheme, it shows the following error:

The filename, directory name, or volume label syntax is incorrect.

I've tried the following combos, all with the same output error.

"-CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -vvv -pm328p -cstk500 -PCOM3"
"-CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -vvv -pm328p -cavrispmkII -PCOM3"
"-CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -vvv -pm328p -cavrisp2 -PCOM3"
"-CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -vvv -pm328p -carduino -PCOM3"
"-CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -vvv -pm328p -carduino -PCOM3"
"-CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -vvv -patmega328p -carduino -PCOM3"
"-CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -vvvv -patmega328p -carduino -PCOM3"

I did some research and found this AVRDUDE: 2.2 Programmers accepting extended parameters

It shows that for the ATMega 328P the MCU is m328p
It also shows several programmers to choose from, I'm not sure which one to use since multiple types keep coming up, "the stk500" from the IDE error; "the AVR ISP mkII" from the IDE's tool; "the arduino" from your post.

In the CMD options panel, it shows that "Verbose output. -v -v for more.", therefore I decided to try with -vvv command. Again, nothing good came out of it.

From the device manager, it shows that the COM3 is the port in use, so, that's what I selected.

I'm using an arduino nano with the ATMega328P connected to port COM3, can you specify where is my mistake?? Please.

Thanks a lot.

I don't understand from your output what the error. The averdude command requires switches:
avrdude -Cconfig_file ...
If you run just averdude, you should obtain help. At the -p place can be whichever ATmega328P or m328p, aslo -v -v -v
eqals to -vvv, and of course port have to be appropriate to yours. I forgot one important thing: if the port number is higher than 9, the entry in form -P\.\COM22 (corrected) is required, can be used also for port num. less than 10, of course you have COM3.
Just follow my command in #13. There is full path to avrdude and .conf used.
This should work (I hope):

C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -vvvv -patmega328p -carduino -P\\.\COM3

Just copy and paste. As you see, it is similar to command like from IDE output.

Okay, got the avrdude running in the CMD line. Here's what I got:

C:\Users\andresjavier>"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude.exe" -C"C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf" -vvvv -patmega328p -carduino -P\\.\COM3

avrdude.exe: Version 6.3, compiled on Jan 17 2017 at 12:00:53
             Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
             Copyright (c) 2007-2014 Joerg Wunsch

             System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

             Using Port                    : \\.\COM3
             Using Programmer              : arduino
avrdude.exe: Send: 0 [30]   [20]
avrdude.exe: Send: 0 [30]   [20]
avrdude.exe: Send: 0 [30]   [20]
avrdude.exe: ser_recv(): programmer is not responding
avrdude.exe: stk500_recv(): programmer is not responding
avrdude.exe: stk500_getsync() attempt 1 of 10: not in sync: resp=0x3f
avrdude.exe: Send: 0 [30]   [20]
avrdude.exe: ser_recv(): programmer is not responding
avrdude.exe: stk500_recv(): programmer is not responding
avrdude.exe: stk500_getsync() attempt 2 of 10: not in sync: resp=0x3f
avrdude.exe: Send: 0 [30]   [20]
avrdude.exe: ser_recv(): programmer is not responding
avrdude.exe: stk500_recv(): programmer is not responding
avrdude.exe: stk500_getsync() attempt 3 of 10: not in sync: resp=0x3f
avrdude.exe: Send: 0 [30]   [20]
avrdude.exe: ser_recv(): programmer is not responding
avrdude.exe: stk500_recv(): programmer is not responding
avrdude.exe: stk500_getsync() attempt 4 of 10: not in sync: resp=0x3f
avrdude.exe: Send: 0 [30]   [20]
avrdude.exe: ser_recv(): programmer is not responding
avrdude.exe: stk500_recv(): programmer is not responding
avrdude.exe: stk500_getsync() attempt 5 of 10: not in sync: resp=0x3f
avrdude.exe: Send: 0 [30]   [20]
avrdude.exe: ser_recv(): programmer is not responding
avrdude.exe: stk500_recv(): programmer is not responding
avrdude.exe: stk500_getsync() attempt 6 of 10: not in sync: resp=0x3f
avrdude.exe: Send: 0 [30]   [20]
avrdude.exe: ser_recv(): programmer is not responding
avrdude.exe: stk500_recv(): programmer is not responding
avrdude.exe: stk500_getsync() attempt 7 of 10: not in sync: resp=0x3f
avrdude.exe: Send: 0 [30]   [20]
avrdude.exe: ser_recv(): programmer is not responding
avrdude.exe: stk500_recv(): programmer is not responding
avrdude.exe: stk500_getsync() attempt 8 of 10: not in sync: resp=0x3f
avrdude.exe: Send: 0 [30]   [20]
avrdude.exe: ser_recv(): programmer is not responding
avrdude.exe: stk500_recv(): programmer is not responding
avrdude.exe: stk500_getsync() attempt 9 of 10: not in sync: resp=0x3f
avrdude.exe: Send: 0 [30]   [20]
avrdude.exe: ser_recv(): programmer is not responding
avrdude.exe: stk500_recv(): programmer is not responding
avrdude.exe: stk500_getsync() attempt 10 of 10: not in sync: resp=0x3f

avrdude.exe done.  Thank you.

Do you know what's going on??

Thanks
Andres.

OK, finally we've got the error: resp=0x3f.
Strange for me. I have no more time today. Maybe someone else.

Thanks a lot anyway Budvar10. I do appreciate all the time and effort.

I think you need to re-bootload the 328P.
You can use the CH340 equipped board running a bootloader installer sketch to do it.