Arduino Nano “Programmer Not Responding” on a Mac

Arduino Nano v3
Arduino Nano v3

For the Staff project, I’m going to be replacing the existing Arduino Uno R3 with a smaller, more easily embedded Arduino Nano.  The Nano is a heck of a lot smaller than the Uno (makes sense – it’s meant to be permanently installed, while the Uno is a prototyping platform).  I received my Nano a few weeks ago, but immediately ran into a frustrating problem… code would compile, begin to upload, and I’d get the error “stk500_recv(): programmer not responding”

The intarwebz are full of people reporting this problem, unfortunately most are not finding answers.

I went through the usual debugging problems – changing out the USB cable I was using, checking to make sure USB drivers were correct – I could still upload and use code on my Uno, but the Nano flat out refused to accept the new code (and I did check the very common problem of not selecting the correct board in the IDE).

Finally, came across a general discussion about bootloaders, and there was a comment that sometimes these boards do not reset properly.  After some more research, I found some folks using various ‘reset button’ hacks to sort of nudge the board into accepting code.  With a lot of trial an error, I have a procedure that seems to work pretty consistently.  There’s occasional twitches, but with persistence it always loads.

Here’s the process I use.

  • Connect up the Nano as you would normally.  A stock Nano will have a ‘blinking light’ idle application on it – the painfully bright white LED will go on and off about once every 2 seconds.
  • Prepare your Arduino environment:
    • Tools->Serial port-> /dev/tty.usb(whateveryourmacshowshere)
    • Tools->Board->Arduino Nano should be:
      • AT/Mega328 for a Nano 3.0
      • AT/Mega168 for a Nano 2.0
  • When your code is compiling cleanly, upload the code into the Nano using the following steps
    • On the Nano, push down and hold the Reset button
    • On the IDE, click the ‘Upload’ button.
    • When the Compilation is done, and the display says ‘Uploading’ – wait approximately 2 seconds, then release the reset button
    • If it works, you will see the yellow and red TX / RX lights blink for a few seconds as code is transmitted to the Nano.  A failure is usually just a few blinks of the red RX light.

While this is not an ideal situation (it makes it harder to load data remotely onto a physically isolated device), it has made it possible for me to actually use the Nano for the project, I hope this information is useful to other frustrated makers out there 🙂

 

About

A wandering geek. Toys, shiny things, pursuits and distractions.

View all posts by

Leave a Reply

Your email address will not be published. Required fields are marked *