# Arduino Mega 2560 stuck at uploading

I have two Arduino Mega 2560 boards, both gives errors when trying to upload sketches (I bought the second board thinking its a fault with the first one, but same thing happen with the new board).

The new board started to fail after a day! The boards worked perfectly in the first few (~10) uploads. I can't imagine how this happen, but it's like the board is dying with time! The same sketch, which could be easily uploaded previously, can't be uploaded now.

If you ask me what happens, It starts uploading and gets stucked at about 95% of the progress. (please see the following image)

I found this is the exact issue mentioned in this thread. I found several other posts too regarding this matter so I hope I'm not the only one to face this. But unfortunately, still I couldn't find any working solution.

Can anyone please suggest me a proper workaround? At least, will downgrading the Arduino IDE will work, permanently?

Arduino IDE version, 1.0.1

• Is it really on com26? Have a look in device manager. – Dean Jan 6 '13 at 9:47
• yes, i've done that mistake a long time ago.. – Anubis Jan 6 '13 at 9:53
• Are you using a programmer or the bootloader? – kolosy Oct 13 '14 at 15:04
• Also - enable the output.verbose option in the preference file and see what the bootloader is saying. – kolosy Oct 13 '14 at 15:09

You are using IDE 1.0.1. Most probably the problem is with the stk500v2 protocol used for uploading to Arduino Mega. It's changed to more reliable 'wiring' protocol in v.1.0.2.

The other answers are not complete. The best thing to do is to burn a new bootloader into the Arduino Mega 2560 board, together with the newest Arduino IDE, and remove all old things that are on your computer.
Do you have a programmer ? You should get one.

The trouble with the '!!!' is fixed, and also a number of other bugs have been fixed in the bootloader for the Arduino Mega 2560.

Remove the Arduino IDE. Delete the C:\Program Files (x86)\Arduino folder, because there could still be files that mess up the new version.
Remove all the usb-serial drivers that you have installed. It is not normal to have COM26. I have COM5.
Remove Java completely. The Arduino has its own mini version of Java, and an other Java could get in the way.
Find the hidden "arduino15" folder(s). Delete those folders. This is important, don't think you can skip this step.

After that you can start with a fresh new install.
Install the newest Arduino IDE from the official website: https://www.arduino.cc/en/main/software
When using a cheap clone board with the CH340G, use the drivers of the official website: http://www.wch.cn/download/CH341SER_EXE.html
Use a programmer and the Arduino IDE to burn the newest bootloader into the Arduino Mega 2560. When you use the Arduino IDE to burn the bootloader, then also the fuses will be set to their proper values.

When there is a problem with the reset (the reset is needed to connect to the bootloader to upload a sketch), then get rid of that board.

I had the same problem, upload get stuck on my Arduino Mega 2560. In my case the issue was a string with more than one exclamation point!!!

Removed and worked again.

NOTE:
This did not upload: Serial.println("Hello!!!");
This did upload: Serial.println("Hello!");

NOTE 2:
"!!!" seems to be an escape sequence to put the bootloader into "monitor" or "command prompt" mode (see: avr-developers.com/bootloaderdocs/index.html)

• It's highly unlikely that the extra exclamation marks are the cause here. If anything, it points to some sort of intermittent connection issue. – kolosy Oct 13 '14 at 15:03
• As I said: in my case this was the issue! – cabbi Oct 13 '14 at 15:06
• forum.arduino.cc/index.php?topic=49591.0 – cabbi Oct 13 '14 at 15:07
• I never said your symptom didn't go away. I'm saying that it's unlikely that the extra 2 bytes of 0x21 were the cause of what you were seeing. – kolosy Oct 13 '14 at 15:13
• I'm not an Arduino expert, but may be other people are: forum.arduino.cc/index.php/topic,46966.0.html#0 – cabbi Oct 13 '14 at 15:16

Have you tried this: