Error: programmer is not responding Warning: attempt 1 of 10: not in sync: resp=0x00

Hi.I have an arduino uno r3 that is probably a clone and when i try to write a code in arduino IDE this error appears in the output.

Have you verified you have selected the correct port ? It should appear / disappear from the list when you plug and unplug it.
Make sure you have the correct board selected.
Check with a different USB cable and maybe a different hub.

yes i did select the correct port

Hi @respecterdem. I'm going to ask you to provide the full verbose output from an upload attempt.


:red_exclamation_mark: This procedure is not intended to solve the problem. The purpose is to gather more information.


Please do this:

  1. Select File > Preferences... (or Arduino IDE > Settings... for macOS users) from the Arduino IDE menus.
    The "Preferences" dialog will open.
  2. Uncheck the box next to Show verbose output during: compile in the "Preferences" dialog.
  3. Check the box next to Show verbose output during: ☐ upload.
  4. Click the "OK" button.
    The "Preferences" dialog will close.
  5. Attempt an upload, as you did before.
  6. Wait for the upload to fail.
  7. You will see an "Upload error: ..." notification at the bottom right corner of the Arduino IDE window. Click the "COPY ERROR MESSAGES" button on that notification.
  8. Open a reply here on this forum topic by clicking the "Reply" button.
  9. Click the <CODE/> icon on the post composer toolbar.
    This will add the forum's code block markup (```) to your reply to make sure the error messages are correctly formatted.
  10. Press the Ctrl+V keyboard shortcut (Command+V for macOS users).
    This will paste the error output from the upload into the code block.
  11. Move the cursor outside of the code block markup before you add any additional text to your reply.
  12. Click the "Reply" button to publish the post.
Sketch uses 924 bytes (2%) of program storage space. Maximum is 32256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
"C:\Users\Erdem\AppData\Local\Arduino15\packages\arduino\tools\avrdude\8.0.0-arduino1/bin/avrdude" "-CC:\Users\Erdem\AppData\Local\Arduino15\packages\arduino\tools\avrdude\8.0.0-arduino1/etc/avrdude.conf" -v -V -patmega328p -carduino "-PCOM3" -b115200 -D "-Uflash:w:C:\Users\Erdem\AppData\Local\arduino\sketches\F14576DA735B83EE58D2DB4181D458AD/sketch_sep5a.ino.hex:i"
Avrdude version 8.0-arduino.1
Copyright see https://github.com/avrdudes/avrdude/blob/main/AUTHORS

System wide configuration file is C:\Users\Erdem\AppData\Local\Arduino15\packages\arduino\tools\avrdude\8.0.0-arduino1\etc\avrdude.conf

Using port            : COM3
Using programmer      : arduino
Setting baud rate     : 115200
Error: programmer is not responding
Warning: attempt 1 of 10: not in sync: resp=0x00
Error: programmer is not responding
Warning: attempt 2 of 10: not in sync: resp=0x00
Error: programmer is not responding
Warning: attempt 3 of 10: not in sync: resp=0x00
Error: programmer is not responding
Warning: attempt 4 of 10: not in sync: resp=0x00
Error: programmer is not responding
Warning: attempt 5 of 10: not in sync: resp=0x00
Error: programmer is not responding
Warning: attempt 6 of 10: not in sync: resp=0x00
Error: programmer is not responding
Warning: attempt 7 of 10: not in sync: resp=0x00
Error: programmer is not responding
Warning: attempt 8 of 10: not in sync: resp=0x00
Error: programmer is not responding
Warning: attempt 9 of 10: not in sync: resp=0x00
Error: programmer is not responding
Warning: attempt 10 of 10: not in sync: resp=0x00
Error: unable to open port COM3 for programmer arduino

Avrdude done.  Thank you.
Failed uploading: uploading error: exit status 1

Please try this experiment and then report the results:


:red_exclamation_mark: This procedure is not intended to solve the problem. The purpose is to gather more information.


  1. Connect the Arduino board to your computer with a USB cable.
  2. Press and release the button on the Arduino board that is marked "RESET".

Now please reply here on this forum topic with the answer to the following question:

  • Did you see the "L" LED blink multiple times quickly immediately after you released the "RESET" button?

No, nothing happened

There is a program named a "bootloader" that is stored in a special area of the memory in the primary microcontroller of your Arduino board. This program receives the data sent by the computer when you upload a sketch to the board.

The symptoms you describe indicate that the bootloader is not running when it should be activated. This could have either of the following causes:

  • The memory in the microcontroller where the bootloader was stored has somehow been erased or corrupted.
  • There is physical damage to the microcontroller or its support circuitry.

If the cause is a missing bootloader, the board might be recoverable by a "Burn Bootloader" operation. I'll provide instructions you can follow if you want to try that:


The "Burn Bootloader" operation is a fairly complex endeavor which requires additional hardware, and there is no guarantee that it will recover your board. If the cause of the upload failure is physical damage, then it is impossible. So it is up to you to decide whether you think it is worth trying this.

If you think it is an interesting thing to learn about and are up for taking on a challenging task, then it could be worth doing even if it does not result in the recovery of the board. But if you would rather focus your energy on progressing with your projects then it is probably better to just replace the board and move forward.


You will need an "ISP programmer" in order to perform a "Burn Bootloader" operation. An ISP programmer is a piece of hardware that allows your computer to write directly to the flash memory of the primary microcontroller on the Arduino board.

If you don't have an ISP programmer, you can use a spare Arduino board as a DIY programmer (known as an "Arduino as ISP").

I'll provide instructions you can follow to do that:

Burning Bootloader with "Arduino as ISP" Programmer


In the instructions below, the board used as an "Arduino as ISP" is referred to as the "programmer board". The board the bootloader is being burned on is referred to as the "target board".


A. Prepare "Arduino as ISP" programmer

Although the "Arduino as ISP" only works for programming targets of the AVR architecture, you can use some boards of other architectures (e.g., "AVR", "SAMD", "megaAVR") as an "Arduino as ISP" programmer.

  1. Disconnect the USB cable of the Arduino boards from your computer.

  2. Make the following connections between the pins on the "programmer board" and the "target board":

    Programmer Target
    CIPO (AKA "MISO") CIPO
    VCC 5V (VCC on 3.3 V boards)
    SCK SCK
    COPI (AKA "MOSI") COPI
    10 RESET
    GND GND

    The documentation for the boards you are using will identify the location of these pins. If you are using an official Arduino board, check the pinout diagram on the documentation page for the board.

  3. Connect the "programmer board" to your computer with a USB cable.

  4. Select File > Examples > 11.ArduinoISP > ArduinoISP from the Arduino IDE menus.
    The "ArduinoISP" sketch will open in Arduino IDE.

  5. Select your "programmer board" from Arduino IDE's Tools > Board menu.

  6. Select the port of your "programmer board" from Arduino IDE's Tools > Port menu.

  7. Select Sketch > Upload from the Arduino IDE menus.

  8. Wait for the upload to finish.

You are now ready to burn the bootloader using your "Arduino as ISP" programmer.

B. Burn Bootloader

Instructions for burning the bootloader:


It is not possible to do this via "Arduino Cloud Editor". You will need to use Arduino IDE or Arduino CLI.


  1. Select the "target board" from the Tools > Board menu, and any other custom Tools menus (e.g., Tools > Processor).
  2. Select the appropriate programmer from the Tools > Programmer menu in Arduino IDE.
    This is dependent on which board you are using as the "programmer board":
    • If it is an ATmega32U4-based board (e.g., Leonardo, Micro, Pro Micro): Select "Arduino as ISP (ATmega32U4)" from the menu.
    • If it is not an ATmega32U4-based board: Select "Arduino as ISP" from the menu.
  3. Select Tools > Burn Bootloader from the Arduino IDE menus.
  4. Wait for the process to finish successfully.
  5. Disconnect the USB cable of the "programmer board" from your computer.
  6. Disconnect the "programmer board" from the "target board".

Conclusion

Now connect the "target board" to your computer with a USB cable and try uploading again. Does the upload succeed now?