user639: I have a Arduino Nano (Sainsmart) that I'm trying to upload a sketch to. Under the Arduino IDE, the device selected was Arduino Nano w/ ATmega328. 
However uploading the sketch gives me the error
avrdude: stk500_recv(): programmer is not responding

I tried both USB ports (/dev/tty.usbserial & /dev/cu.usbserial) but the same error persist. The Arduino is connected to a Macbook Air via the USB cable, and the PWR LED indicator light on the Arduino is turned on and the L indicator LED blinks. There was no problem uploading to a Arduino Uno.
Retried after installing the latest FTDI drivers (MAC OSX, x64, v2.2.18, FTDIUSBSerialDriver_10_4_10_5_10_6_10_7.mpkg) from http://www.ftdichip.com/Drivers/VCP.htm. However that did not help.
What could have gone wrong?

user40482: The Arduino IDE version 1.8.5 gave the same error every time I tried to connect it to my OSEPP Nano.  I tried with multiple nano boards with different versions of the IDE. I had the board set to "Arduino Nano".
The solution was: Instead of Nano choose Arduino/Genuino Uno. This worked for me.

user7200: I also had that error message. I think there are many possible causes, so I haste to specify my special case.
I have a hackintosh with OS X Yosemite 10.10.2, Arduino software 1.0.6 and Funduino UNO. Uploading the example for Serial.write() succeeded the first time. Thereafter most uploads failed. Even when the upload succeeded the serial monitor would not always show output.
This seemed to me to be due to miscommunication on the USB port. I had to repeatedly reset the funduino, unplug and replug the USB cable or even restart the system. When replugging the USB cable sometimes my system would freeze.
By googling I found a solution to "Inserting USB device causes Mavericks 10.9.1 to freeze".
Answer no 12 on tonymacx86.com basically instructs you to remove GenericUSBXHCI.kext from /System/Library/Extensions.
I am happy to report that after removing this kext I have no problems uploading the example and monitoring the output. Because I don't need to replug the USB cable I don't know whether this solves my system freeze. I'm not even sure it was a system freeze, because my system may only have become unresponsive to my USB keyboard and mouse.

user30425: Had same issue and solution was as follows:

identified my arduino as CH340/ATmega168P (written on PCB)
went to IDE and picked from list not UNO but "Arduino Pro or Pro Mini"
when this option is selected new menu "Processor" selection is available (just under Board selection)
selected my processor ATmega168P there and upload worked like a charm!


user2926: Did you remember to tell the IDE that the board type is a Nano?
Tools -> Board => Arduino Nano ...
This gets me every time I swap between my Nano and Uno.

user46455: I recently had the same issue with 3 Nano boards I just purchased from Amazon.  I can confirm that the suggested fix (changing to "old bootloader") solved my problem.
I think the main problem is the upload speed.  The "old bootloader" version successfully uploads at 57600, but the default "new" version tries to upload at 115200 and fails.

user7157: Having a similar issue with my Sainsmart Nano.
Under Preferences check "Show verbose output during [x] upload, then when uploading, you should get a red trace like this:
avrdude: Version 5.11, compiled on Sep  2 2011 at 18:52:52
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf"
         User configuration file is "/Users/johannes/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/tty.usbserial-A403MRTP
         Using Programmer              : arduino
         Overriding Baud Rate          : 57600
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 

You'll notice a little "pause" just before the first line of avrdude: Send: 0 [30]   [20]. Try uploading again and have you finger ready on the physical reset button of your Nano. Just the moment before the first avrdude: ... appears, press the reset button.
When you succeed, you'll see the screen filling with all sort of gibberish, and ending something like this after a few seconds:
[78] . [00] S [53] h [68] o [6f] u [75] l [6c] d [64]   [20] b [62] e [65]   [20] 0 [30] x [78] 4 [34] 9 [39] D [44] 4 [34] . [00] . [01] . [00] . [00] . [00] . [02] . [00] . [03] . [00] . [04] . [00] . [00] . [00] . [00] . [00] . [e6] . [06] . [b5] . [06] n [6e] . [06] w [77] . [06] . [8c] . [06] . [9d] . [06] . [00] . [00] . [00] . [00] . [02] . [0d] . [aa] . [0d] . [95] . [0c] . [c9] . [0c] . [a9] . [0c] . [f2] . [0c] . [00] 
avrdude: Recv: . [10] 
# | 100% 3.71s

avrdude: verifying ...
avrdude: 8824 bytes of flash verified
avrdude: Send: Q [51]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 

avrdude done.  Thank you.


user353: This error message basically shows up for any communication problem, so by itself, it is not all that instructive. The Arduino Nano is supposed to have auto-reset, but maybe your clone does not? In that case, you'd have to press the reset key on the board just before starting an upload.

user10067: I was having the same problem and got the same error message.  Turns out these boards don't come with a bootloader preinstalled.  If you have some jumper wires and another working arduino you can use this tutorial to install the bootloader and it should work great, mine did at least! :)

user45935: Know this is old but I ran onto it during my search for Nano(V3)'s not uploading so thought might help someone else.  Problem is the bootloader - Arduino IDE BUT I Found an easy solution (right under my nose). 
I realized that my nano's had been uploading just fine then I had finally updated the Arduino AVR Boards from 1.6.20 to 1.6.21.  I didn't think there was any problems because it still showed my Nano and ATmega328 etc in the board manager after the change. 
But the new boards manager has a new ATmega328 processor choice for the Nano. I changed processor: In the Arduino IDE select TOOLS > PROCESSOR > pulldown menu from ATmega328P to  "ATmega328P (Old Bootloader)".
Since then, I have uploaded many programs to several different Nano's V3 (Prolofic interace Chipset) without issue.

639: <p>I have a <a href="http://rads.stackoverflow.com/amzn/click/B00761NDHI">Arduino Nano (Sainsmart)</a> that I'm trying to upload a sketch to. Under the Arduino IDE, the device selected was <code>Arduino Nano w/ ATmega328</code>. </p>

<p>However uploading the sketch gives me the error</p>

<pre><code>avrdude: stk500_recv(): programmer is not responding
</code></pre>

<p>I tried both USB ports (<code>/dev/tty.usbserial</code> &amp; <code>/dev/cu.usbserial</code>) but the same error persist. The Arduino is connected to a Macbook Air via the USB cable, and the <code>PWR</code> LED indicator light on the Arduino is turned on and the <code>L</code> indicator LED blinks. There was no problem uploading to a Arduino Uno.</p>

<p>Retried after installing the latest FTDI drivers (MAC OSX, x64, v2.2.18, FTDIUSBSerialDriver_10_4_10_5_10_6_10_7.mpkg) from <a href="http://www.ftdichip.com/Drivers/VCP.htm">http://www.ftdichip.com/Drivers/VCP.htm</a>. However that did not help.</p>

<p>What could have gone wrong?</p>
 40482: <p>The Arduino IDE version 1.8.5 gave the same error every time I tried to connect it to my OSEPP Nano.  I tried with multiple nano boards with different versions of the IDE. I had the board set to "Arduino Nano".</p>

<p>The solution was: <strong>Instead of Nano choose Arduino/Genuino Uno</strong>. This worked for me.</p>
 7200: <p>I also had that error message. I think there are many possible causes, so I haste to specify my special case.</p>

<p>I have a hackintosh with OS X Yosemite 10.10.2, Arduino software 1.0.6 and Funduino UNO. Uploading the example for Serial.write() succeeded the first time. Thereafter most uploads failed. Even when the upload succeeded the serial monitor would not always show output.</p>

<p>This seemed to me to be due to miscommunication on the USB port. I had to repeatedly reset the funduino, unplug and replug the USB cable or even restart the system. When replugging the USB cable sometimes my system would freeze.</p>

<p>By googling I found a solution to "Inserting USB device causes Mavericks 10.9.1 to freeze".
Answer no 12 on tonymacx86.com basically instructs you to remove GenericUSBXHCI.kext from /System/Library/Extensions.</p>

<p>I am happy to report that after removing this kext I have no problems uploading the example and monitoring the output. Because I don't need to replug the USB cable I don't know whether this solves my system freeze. I'm not even sure it was a system freeze, because my system may only have become unresponsive to my USB keyboard and mouse.</p>
 30425: <p>Had same issue and solution was as follows:</p>

<ul>
<li>identified my arduino as CH340/ATmega168P (written on PCB)</li>
<li>went to IDE and picked from list not UNO but "Arduino Pro or Pro Mini"</li>
<li>when this option is selected new menu "Processor" selection is available (just under Board selection)</li>
<li>selected my processor ATmega168P there and upload worked like a charm!</li>
</ul>
 2926: <p>Did you remember to tell the IDE that the board type is a Nano?</p>
<p><code>Tools</code> -&gt; <code>Board</code> =&gt; <code>Arduino Nano ...</code></p>
<p>This gets me every time I swap between my Nano and Uno.</p>
 46455: <p>I recently had the same issue with 3 Nano boards I just purchased from Amazon.  I can confirm that the suggested fix (changing to "old bootloader") solved my problem.</p>

<p>I think the main problem is the upload speed.  The "old bootloader" version successfully uploads at 57600, but the default "new" version tries to upload at 115200 and fails.</p>
 7157: <p>Having a similar issue with my <code>Sainsmart Nano</code>.</p>

<p>Under <code>Preferences</code> check "Show verbose output during [x] upload, then when uploading, you should get a red trace like this:</p>

<pre><code>avrdude: Version 5.11, compiled on Sep  2 2011 at 18:52:52
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf"
         User configuration file is "/Users/johannes/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/tty.usbserial-A403MRTP
         Using Programmer              : arduino
         Overriding Baud Rate          : 57600
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
</code></pre>

<p>You'll notice a little "pause" just before the first line of <code>avrdude: Send: 0 [30]   [20]</code>. Try uploading again and have you finger ready on the physical reset button of your <code>Nano</code>. <em>Just the moment before the first <code>avrdude: ...</code> appears, press the reset button.</em></p>

<p>When you succeed, you'll see the screen filling with all sort of gibberish, and ending something like this after a few seconds:</p>

<pre><code>[78] . [00] S [53] h [68] o [6f] u [75] l [6c] d [64]   [20] b [62] e [65]   [20] 0 [30] x [78] 4 [34] 9 [39] D [44] 4 [34] . [00] . [01] . [00] . [00] . [00] . [02] . [00] . [03] . [00] . [04] . [00] . [00] . [00] . [00] . [00] . [e6] . [06] . [b5] . [06] n [6e] . [06] w [77] . [06] . [8c] . [06] . [9d] . [06] . [00] . [00] . [00] . [00] . [02] . [0d] . [aa] . [0d] . [95] . [0c] . [c9] . [0c] . [a9] . [0c] . [f2] . [0c] . [00] 
avrdude: Recv: . [10] 
# | 100% 3.71s

avrdude: verifying ...
avrdude: 8824 bytes of flash verified
avrdude: Send: Q [51]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 

avrdude done.  Thank you.
</code></pre>
 353: <p>This error message basically shows up for any communication problem, so by itself, it is not all that instructive. The Arduino Nano is supposed to have auto-reset, but maybe your clone does not? In that case, you'd have to press the reset key on the board just before starting an upload.</p>
 10067: <p>I was having the same problem and got the same error message.  Turns out these boards don't come with a bootloader preinstalled.  If you have some jumper wires and another working arduino you can use this <a href="http://www.instructables.com/id/How-To-Burn-a-Bootloader-to-Clone-Arduino-Nano-30/step3/Simple-few-steps/" rel="noreferrer">tutorial</a> to install the bootloader and it should work great, mine did at least! :)</p>
 45935: <p>Know this is old but I ran onto it during my search for Nano(V3)'s not uploading so thought might help someone else.  Problem is the bootloader - Arduino IDE BUT I Found an easy solution (right under my nose). </p>

<p>I realized that my nano's had been uploading just fine then I had finally updated the Arduino AVR Boards from 1.6.20 to 1.6.21.  I didn't think there was any problems because it still showed my Nano and ATmega328 etc in the board manager after the change. </p>

<p>But the new boards manager has a new ATmega328 processor choice for the Nano. I changed processor: In the Arduino IDE select <code>TOOLS</code> > <code>PROCESSOR</code> > pulldown menu from ATmega328P to  <code>"ATmega328P (Old Bootloader)"</code>.</p>

<p>Since then, I have uploaded many programs to several different Nano's V3 (Prolofic interace Chipset) without issue.</p>
