Mac + Uno + avrdude: stk500_recv(): programmer is

2020-07-05 07:06发布

问题:

I'm trying to upload .hex file to Arduino. I don't have any problems with uploading code through an IDE (like blink example or any other). The port and board are correct.

So, the problem appears when I try to upload

avrdude -pm328p -carduino -P/dev/tty.usbmodemfd121 -b57600 -D -Uflash:w:grbl_v0_8c_atmega328p_16mhz_9600.hex -v -v -v -v

avrdude: Version 6.1, compiled on Mar 23 2014 at 04:42:55
     Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
     Copyright (c) 2007-2014 Joerg Wunsch

     System wide configuration file is "/usr/local/Cellar/avrdude/6.1/etc/avrdude.conf"
     User configuration file is "/Users/Mikhail/.avrduderc"
     User configuration file does not exist or is not a regular file, skipping

     Using Port                    : /dev/tty.usbmodemfd121
     Using Programmer              : arduino
     Overriding Baud Rate          : 57600
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00

What I tried:

  • I have 4 Uno's at the table (original + free versions), the same issue.
  • I have installed newest drivers from here, tried with and without them.
  • tried with avrdude which comes with Arduino IDE (1.0.5 and nightly builds) and newest avrdude v.6.1 brew install avrdude
  • different baud rates down to 9600
  • tried to press reset after bytes are sent like suggested here

回答1:

What fixed it for me was:

  • Disconnect the USB cable from the Arduino
  • Try to upload your program
  • This will fail and the Arduino app will ask you which USB port to use.
  • I did this twice
  • Then plug in the USB cable to the Arduino
  • Upload you program... succes!

Note: Shortly before I installed the drivers mentioned by Mikhail.

Setup: Mac OS 10.9.5, Arduino.app 1.0.6, Arduino Duemilanove



回答2:

One more reason to fail : wrong bootloader

Recently purchased an Arduino nano and when tried to upload Blink for testing purposes it failed. Because the board was manufactured previously to Jan 2018 just selecting Processor > "ATmega328P (Old Bootloader)" solved the problem (https://www.arduino.cc/en/Guide/ArduinoNano#toc4)



回答3:

I just bought an arduinomonkey nano board from Amazon and ran into this exact problem. I am running Arduino software version 1.0.5 and mac osx version 10.9.4.

I tried many different suggestions (like holding reset as you upload) and none of the worked reliably. In all the documents it states that for Mac no updated USB drivers are needed however, I just downloaded the updated drivers from: http://www.ftdichip.com/Drivers/VCP.htm (2.2.18)

after downloading and launching the FTDI..._10_4_.... file. After it installed, went back to the arduino IDE and uploaded a sketch...it worked perfectly!



回答4:

I had same problem with Ardunio Leonardo board. I notice that I forgot to set my board version from IDE. After selecting correct board (Tools --> Board --> Ardunio Leonardo) problem solved.



回答5:

Had the same problem. But my fixed it by going to Tools->Serial Port, then selecting tty.ADR6300-SerialPort



回答6:

I had the same problem with my Arduino Uno last night. After banging my head on the wall, I upgraded the Arduino IDE to 1.6.0.. I did this on a Mac OS X, simply by downloading 1.6.0 from the Arduino homepage.

After installing this and then selecting the proper board in my case something like: /dev/tty/usbmodem____ (Arduino Uno)

The error was cured and I could again upload programs without having to do any tricky reset button pressing, i.e. one second after the program uploads hold the reset button for 5 seconds.

Well this is what worked for me hope it works for others!



回答7:

Successfully solved with Hex Uploader.

It is created for flashing .hex files to Arduino for Mac OS.

Options for other OS are described in the grbl documentation.



回答8:

I had the same error, and the problem was that I used pins TX/RX in my schema (you need them to be free when uploading).