16

Whenever I try to program my Arduino UNO Rev.3, I'm seeing the following error

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00

When I plug this in, I do see a power light. There are no cables whatsoever connected other than the USB. I have another Arduino UNO which works fine when I upload the sketch (I'm using the basic blink sketch). How do I resolve this? What kind of problem can it be?

8
  • 2
    Make sure there are no wires connected to the Serial Interface (pin 0 and pin 1)
    – Ikbel
    Nov 16, 2015 at 20:17
  • @KiraSan updated the question with more information (nothing plugged into 1 or 0). Nov 16, 2015 at 20:28
  • I think you should consider using that Arduino Duo to reburn the bootloader of your Arduino UNO.
    – Ikbel
    Nov 16, 2015 at 20:35
  • Also before doing that, make sure you selected AVR ISP as programmer, and chosen the right board.
    – Ikbel
    Nov 16, 2015 at 20:44
  • i am also stuck with this kind of problem with my nano board....
    – user26865
    Sep 25, 2016 at 4:46

6 Answers 6

24

After trying numerous suggestions, 2 different boards, 3 different cables on a WinXP and a Win7 machine, I finally got things working by going to "Tools -> Processors -> ATmega 328P Old Bootloader"

3
  • 4
    Although this answer would be correct for a Nano, this question is about an Uno and so your answer is off topic. We already have a question for that Nano problem: arduino.stackexchange.com/q/51771
    – per1234
    Apr 25, 2018 at 0:57
  • 1
    For me it was the opposite: had to select nanoatmega328new on PlatformIO. Thanks dude
    – refex
    Feb 5, 2021 at 9:25
  • I'm using VS Code. Sadly, there is no "Tools" menu that I can find.
    – lurker
    Apr 3, 2021 at 18:17
3

I had this problem when working with Arduino IDE and XOD running on top of it. What I found; looked like baud rates were being set differently at different stages in the setup. I compared Windows 'device settings', arduino IDE settings and XOD settings...and they are not the same and seem to change ? ...hence the 'avrdude:stk500_**** errors!

To demonstrate

Connect an Arduino board to a PC USB socket.

  1. On Windows 7; Control Panel\ System and Security\System\ Device Manager... then double-click on 'Ports (COM & LPT)

    You should see FTDI

    or

    USB-SERIAL CH340(COM7) ... for a chinese serial com chip on the arduino board. Right-click on this and check 'Properties\ Port Settings' and note the 'Bits per second' value : e.g. 57600 ... (write it down !)

  2. Open the arduino IDE and click on File\Preferences and tick the option ;'Show verbose output during: 'upload'.Then close the 'Preferences' screen.

  3. Load a small program that works. e.g. File\Examples\01.Blink

  4. In the for your arduino board setup in the Arduino IDE;

    Tools\Board ... such as Arduino Nano

    Tools\Processor ... such as ATmega328P

    Tools\Port:COM7 for example ... make sure a tick is selected.

    Tools\Get Board Info ... will show info from the arduino serial chip (a good sign your usb cable works!)

  5. On the IDE toolbar select;

    • 'Verify' and shortly it should show 'Done Compiling'

    • Click 'Upload' and the Blink program should load into the arduino chip.

  6. Now here is the interesting observation; The 'verbose message at the bottom of the IDE screen will indicate what 'Overriding Baud Rate : XXXXX' is being used! Write this number down next to the value you found on the Windows devices setting.

  7. Now, if you are a XOD man, leave the arduino IDE running and run XOD.

  8. Open the XOD IDE and open (Deploy) say the 01-hello program and load it into your arduino board.

  9. Select'welcome-xod' and select 01-hello program on left-side menu.

  10. Select 'Deploy\Upload to Arduino ...'

  11. select 'Board model:' and 'Serial port:' ... eg COM7

  12. Scroll up in the 'Deployment ' window and there will be another value labeled 'Overriding Baud Rate : e.g.115200'

I HAVE FOUND THESE BAUD RATE SETTINGS CHANGE INEXPLICABLY !

I hope my observations will throw some light on your problem of erratic uploads.

3
  • Thanks Lionelb! What I had to do was go to Tools and change Port to COM3 instead of COM1, which was in use for a serial port on my system. This was after reading your solution and checking Control Panel\ System and Security\System\ Device Manager.. I did not happen to have an issue with the bits per second, but that is helpful too.
    – DeepDive49
    Jan 28, 2019 at 0:30
  • Thanks worked for me. After File\Preferences and ticking the option ;'Show verbose output during: 'upload'. I only needed to set the bits per second in the device manager for the used com.port.
    – stacker
    Dec 30, 2020 at 17:10
  • To upload the program again I needed to change the baud rate to 9600 (after initially 57600)
    – stacker
    Dec 30, 2020 at 20:31
1

Have you already tried this? https://stackoverflow.com/a/20735393/5507619

I had this problem with a Crowduino, running the Arduino IDE on OSX. The solution for me was to switch on verbose output during upload (in the arduino IDE preferences pane).

Then, when uploading, you can see avrdude sending three packets avrdude: Send: 0 [30] [20] (with corresponding RX flashes on the board) right before the avrdude: ser_recv(): programmer is not responding error.

The trick is to hit the reset button on the board immediately before these three packets are sent. Then the program will be uploaded successfully.

1

I had periodically encountered this as well and was stumped after I had tried all the recommended solutions I could find. In my particular case it turned out to be the cable I was using.

1

I was having the same problem, however I was able to solve as follows,

  • rebooting my computer
  • or, changing the cable, basically switching between 2 USB cables (may be it just needed to unplug the USB and plug it in again).

  • or, resetting the COM port

    1. closing the Arduino IDE
    2. disabling the COM port
    3. enabling the COM port
    4. opening the Arduino IDE
0

For me it was a matter of -B 10 instead of -b xxxx. So:

sudo ~/arduino-1.8.12/hardware/tools/avr/bin/avrdude -P /dev/ttyACM0 -B 10 -c arduino -p m328p -C ~/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf -U eeprom:r:eeprom.hex:r

Not the answer you're looking for? Browse other questions tagged or ask your own question.