I got similar problem, my arduino UNO was working correctly but during some experiments it suddenly stopped working, it's stuck on uploading, i've tried it with simple codes and the same happen. The LEDs are on, but when i click the reset button nothing happens. What should I do?
I think i may have unplugged the USB cable when i was uploading a program.
Hi @mateusfelima. You described the Arduino board you are uploading to as "Uno". Something that can be confusing is there are multiple boards with "UNO" in their name. We need to be certain of exactly which one you have. The reason is that the problem might be caused by the IDE not being correctly configured for your specific board.
Please tell us which of the following boards you are attempting to upload to:
- UNO (R1, R2, R3) or Uno Mini
- This includes clone/derivative boards as long as they have the ATmega328P microcontroller.
- UNO R4 Minima
- UNO R4 WiFi
- UNO WiFi
- UNO WiFi Rev2
- ...or something else?
If you aren't sure which one you have, you can provide a picture of the board or a link to the place you bought it from and we'll see if we can identify it.
Sure, it's the UNO R3
I'm going to ask you to post the full verbose output from an upload.
This procedure is not intended to solve the problem. The purpose is to gather more information.
Please do this:
- Select File > Preferences... (or Arduino IDE > Settings... for macOS users) from the Arduino IDE menus.
The "Preferences" dialog will open. - Uncheck the box next to Show verbose output during:
βcompilation in the "Preferences" dialog. - Check the box next to Show verbose output during: β upload.
- Click the "OK" button.
The "Preferences" dialog will close. - Attempt an upload, as you did before.
- Wait for the upload to hang, as indicated either by no new output being printed in the black "Output" panel at the bottom of the Arduino IDE for some time, or by the same messages being printed repeatedly there.
- Right click on the black "Output" panel at the bottom of the Arduino IDE window.
A context menu will open. - From the context menu, click Copy All.
- Open a forum reply here by clicking the "Reply" button.
- 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.

- Press the Ctrl+V keyboard shortcut (Command+V for macOS users).
This will paste the upload output into the code block. - Move the cursor outside of the code block markup before you add any additional text to your reply.
- Click the "Reply" button to post the output.
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\Mateus\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude" "-CC:\Users\Mateus\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf" -v -V -patmega328p -carduino "-PCOM5" -b115200 -D "-Uflash:w:C:\Users\Mateus\AppData\Local\Temp\arduino\sketches\924A1396C03AE17182CC3A94CB4F1F27/Blink.ino.hex:i"
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Users\Mateus\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"
Using Port : COM5
Using Programmer : arduino
Overriding Baud Rate : 115200
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x93
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x93
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x93
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x93
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x93
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x93
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x93
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x93
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x93
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x93
avrdude done. Thank you.
Failed uploading: uploading error: exit status 1
In this case i'm using the blink code, i've verified if i'm using the right port and if arduino uno is selected in the IDE. I tried this same code in another arduino and it's working.
Please try this experiment and then report back with the results:
This procedure is not intended to solve the problem. The purpose is to gather more information.
- Connect the Arduino board to your computer with a USB cable.
- Press and release the button on the Arduino board that is marked "RESET".
Now please reply here on the forum thread with the answer to the following question:
- Did you see the "L" LED blink multiple times quickly immediately after you released the "RESET" button?
Nothing happens when i click RESET, but the LEDs are on
This result tells us that one of the following two things is happening:
- The microcontroller on the board is not running.
- The bootloader (a program stored in a special area of memory in the microcontroller that handles sketch uploads) was somehow erased or corrupted.
It is possible for a short or external circuitry connected to the Arduino board to prevent the primary microcontroller from running.
Make sure the board is not sitting on anything conductive that could short the contacts on the bottom of the board. Make sure there isn't any conductive debris (e.g., strands of wire or component leads) on the board or on the surface the board is sitting on.
If you have a shield or any external circuitry or components connected to your Arduino board, try this experiment:
- Disconnect the USB cable of the Arduino board from your computer.
- Disconnect any shields, modules, external circuitry, etc. from your board.
- Connect the Arduino board to your computer with a USB cable.
Now try uploading a sketch to the board again. Does the upload succeed?
This experiment will determine whether the upload error was caused by a problem in the external circuitry. If so, you can then focus your attention on identifying the specific problem with the circuit and resolving it.
This topic already exist and @ptillisch was helping me in this issue, but i'm limited to three answers in the same topic because i'm a new user.
In summary, my arduino UNO R3 was working correctly but suddenly it stopped, when i try to upload any sketch to it, even if nothing is connected to its pins, it gets stuck on "uploading..."
I think this may have started when i unintentionally hit the usb cable while it was uploading and disconnected it, so maybe it got corrupted.
This is the full verbose output from the upload:
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\Mateus\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude" "-CC:\Users\Mateus\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf" -v -V -patmega328p -carduino "-PCOM5" -b115200 -D "-Uflash:w:C:\Users\Mateus\AppData\Local\Temp\arduino\sketches\924A1396C03AE17182CC3A94CB4F1F27/Blink.ino.hex:i"
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Users\Mateus\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"
Using Port : COM5
Using Programmer : arduino
Overriding Baud Rate : 115200
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x93
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x93
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x93
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x93
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x93
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x93
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x93
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x93
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x93
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x93
avrdude done. Thank you.
Failed uploading: uploading error: exit status 1
I've tried to press RESET button too, but nothing happens. The arduino's LEDs are on, and they don't blink.
Nothing is connected to the board's pins and it's not sitting on anything conductive.
I verified if i'm using the correct port and if the "Arduino UNO" is selected at the IDE. I tried the same simple code to another Arduino UNO i have and it works normally.
I have merged the topics. @mateusfelima creating multiple topics to circumvent the forum's security features is not allowed.
Instead, you should complete the very trivial requirements to increase the "trust level" of your forum account:
https://blog.discourse.org/2018/06/understanding-discourse-trust-levels/#trust-level-1-basic
Get to trust level 1 byβ¦
- Entering at least 5 topics
- Reading at least 30 posts
- Spend a total of 10 minutes reading posts
The forum software will send you a message once you have earned trust level 1 ("Basic user"). After that you will no longer be subject to the restrictions that are imposed on users with trust level 0 ("New user").
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.
Prepare ISP programmer
You will need an ISP programmer. If you don't have a programmer, you can use a spare Arduino board as an "Arduino as ISP" programmer.
Arduino as ISP
The following instructions are for using an Arduino board as an "Arduino as ISP" programmer. If you have a dedicated programmer, you can skip to the next set of instructions.
Although the "Arduino as ISP" only works for programming targets of the AVR architecture, you can also use boards of a variety of architectures (e.g., "AVR", "SAMD", "megaAVR") as an "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".
-
Disconnect the USB cable of the Arduino boards from your computer.
-
Make the following connections between the "programmer board" and the "target board".
β Refer to the "Connections" table on the SPI library reference page to determine the pin numbers.Programmer Target CIPO (AKA "MISO") CIPO VCC 5V (VCC on 3.3 V boards) SCK SCK COPI (AKA "MOSI") COPI 10 RESET GND GND -
Connect the "programmer board" to your computer with a USB cable.
-
Select File > Examples > 11.ArduinoISP > ArduinoISP from the Arduino IDE menus.
The "ArduinoISP" sketch will open in Arduino IDE. -
Select your "programmer board" from Arduino IDE's Tools > Board menu.
-
Select the port of your "programmer board" from Arduino IDE's Tools > Port menu.
-
Select Sketch > Upload from the Arduino IDE menus.
-
Wait for the upload to finish.
You are now ready to burn the bootloader using your "Arduino as ISP" programmer.
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.
- Connect an ISP programmer to your Arduino board.
If you are using an "Arduino as ISP", then you have already connected it according to the previous instructions. - Select the target board from the Tools > Board menu and any other custom Tools menus (e.g., Tools > Processor).
- Select the appropriate programmer from the Tools > Programmer menu.
- Tools > Burn Bootloader
- Wait for the process to finish successfully.
- Disconnect the USB cable of the programmer from your computer.
- Disconnect the programmer from the "target board".
Now connect the "target board" to your computer with a USB cable, select its port from the Tools > Port menu, and try uploading a sketch as usual.
Conclusion
Now connect the "target board" to your computer with a USB cable and try uploading again. Does the upload succeed now?
Thanks for your help! But sadly it didn't work...
This time i got this verbose output:
"C:\Users\Mateus\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude" "-CC:\Users\Mateus\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf" -v -patmega328p -cstk500v1 -PCOM7 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0xFD:m -Uhfuse:w:0xDE:m -Ulfuse:w:0xFF:m
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Users\Mateus\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"
Using Port : COM7
Using Programmer : stk500v1
Overriding Baud Rate : 19200
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : STK500
Description : Atmel STK500 Version 1.x firmware
Hardware Version: 2
Firmware Version: 1.18
Topcard : Unknown
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.02s
avrdude: Device signature = 0x000000 (retrying)
Reading | ################################################## | 100% 0.02s
avrdude: Device signature = 0x000000 (retrying)
Reading | ################################################## | 100% 0.02s
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.
Failed chip erase: uploading error: exit status 1
@ptillisch Should I try to use this "-F" suggested? if yes, how do I do it?
No, the -F flag is only used in certain rare cases where the AVRDUDE tool is able to successfully read the chip signature, but that signature is incorrect due to the memory on the chip where it is stored somehow having become corrupted.
In this case where the read signature was 0x000000, this actually means that AVRDUDE was not able to establish any communication at all with the chip, meaning that even if you configured the command to ignore the signature chip failure, it would only fail immediately after that step in the operation due to the lack of communication.
Double check all your electrical connections between the programmer board and the target board. Jumper wires can sometimes be damaged or defective in a way that causes there to be no electrical continuity across the wire. You can check your wires with the continuity tester on a multimeter, or swap out the current jumper wires with other wires from your collection to make sure this isn't the cause of the error.
I checked the wires' connection and their continuity with a multimeter. I made the connections just like shown here: https://docs.arduino.cc/built-in-examples/arduino-isp/ArduinoISP/
I tried to burn uploader again, but i got the same output.
The problem is probably caused by the Arduino board having suffered permanent physical damage. I recommend you carefully review what you were doing with the board the last time it was in a working state. You may be able to identify the cause of the damage and in this way profit from the mishap by gaining knowledge that will allow you to avoid subjecting boards to the same conditions in the future.
Unless you have the right tools on hand and the skills to use those tools, repair of the board will not be feasible. I suggest you attach a note to the damaged board describing what is wrong with it and put it in your electronics salvage bin. Then purchase a replacement board.
You can support the work Arduino does to provide free open source software, documentation, and hardware designs to the community by purchasing official hardware. It is available from these sources:
Okay, i think it may have been damaged when i accidentally unpluged while a sketch was being uploaded. Or maybe my sketch was sending data "too fast" to MATLAB while i had two "attachInterrupt()" routines.
Thank you for all your assistence!