Upload Timeout Error on Mega 2560 - Not Sure What Changed

The timeout error is a known issue.

Google it.

Anyone have a verified and working fix? I've had my Arduino for about 4 hours and just got hit with this (and I'm not using any !!! in my code, which was allegedly the cause of the issue). This has been going on for months now and I gotta be honest - I'm pretty frustrated that the (presumably bootloader) issue still seems to be unfixed.

Thanks for the help. I have been struggling with this same problem and it seems many have as well. I downloaded the arduino 0023 software and I got the same results as you, so I copied and renamed as you suggested and the problem is fixed. So far so good.

I was having this problem too. Luckily I hadn't erased my old 0022 program. Going back to that fixed the problem. I really ought to remember: "Never update a program that works!"

A lot of people seem to be having problems with the new version, including me. sigh Hopefully they figure it out..

Guys. I used the avrdude.exe and avrdude.conf file from 022 and it worked fine for me. There seems to be a bug in avrdude 5.11 that is causing some of these issues.

I believe I have found a fix. But I had to compile an new avrdude.exe. Here is a patch for avrdude-5.11.1/stk500v2.c

73c73
< #define SERIAL_TIMEOUT 2

#define SERIAL_TIMEOUT 5
76c76
< #define RETRIES 5


#define RETRIES 33
1317a1318,1325

printf("trying this reset stuff now..\n");
usleep(50*1000);

serial_set_dtr_rts(&pgm->fd, 1);
usleep(501000);
serial_set_dtr_rts(&pgm->fd, 0);
usleep(50
1000);

where did you find this file ?? do i just add these?

AVRDUDE 5.11.1 can be found at Index of /releases/avrdude/

I provided a patch that can be applied to the file I mentioned. But you need to apply the patch and recompile avrdude for it to work. But my upload success rate went from 40% to 100%. The code now matches more closely the way the old version worked. It's a pain. The arduino people should recognize there is a problem, and fix it.

JesseJay

I have the same problem. I have a new Mega R3. I tried both Arduino 0022 and 1.0 on my Mac OSX 10.6.8. Sometime my sketch will upload fine, but most of the time it times out. Doing some Google searches, I found this seems to be a known problem, but I'm not sure how to fix it. I've seen some talk about avrdude, but I don't know anything about fixing, compiling and uploading a boot loader. Since this problem seems to be kind of old and my hardware and software are new, I'm surprised this problem still exists. What should I do?

Moi aussi. But I can upload with Parallels PC emulator running Windows XP on my MAC but not my actual MAC.

Having tested alot with this problem, i found this:

Whenever i have string in my sketch which has threee marksigns in a string (eg: "!!!"), my sketch will make the Mega2560 timeout when uploading ("huh?..bootloader>" hex code message followed after multiple retries by avrdude: stk500v2_ReceiveMessage(): timeout ).
Using Windows 2008 R2 Server (think Win7 64 will do the same), Arduino IDE 1.0 & Arduino Mega2560 compatible.

Here's a sample sketch to reproduce the error:

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  Serial.println("!!!");
}

Hopefully this will help.

#deajan
Thanks, that solved the problem for me.
I'm running Mac OS X 10.7.3, Arduino IDE 1.0 & Arduino Mega ADK r1.

Thanks to Michael635 for showing that replacing the AVR directory from rev-0023 solves the problem. It solved mine!
Anders

@aefields

I was having this problem too. Luckily I hadn't erased my old 0022 program. Going back to that fixed the problem. I really ought to remember: "Never update a program that works!"

Very true! :wink:

I had the same problem and just fixed it by doing that exactly. Now, it works fine. Thank you! 8)

I also renamed all of my sketches from *.ino to *.pde.

would anybody care to speculate why I am unable to upload a sketch which produces an object of approximately 36k when I can upload an object of 34k? I have been working with windows XP and arduino 1.0 for several weeks now and today my the object grew to just over 36k. Now I cannot upload it. I can upload the program when I'm using Linux with arduino-1.0 (downloaded from the git repository over 2 months ago) but none of the windows boxes will upload it. We are using Windows XP and Windows 2003 server with no luck... HELP!? please.
Thanks

It would really help if you said what the error was rather than the vague phrase "unable to upload".

Did you add a string that contains three or more '!' in a row?

sorry for not being more explicit. The upload just hangs, no error messages, no output, it just never finishes. If I use my Debian Linux machine, it works fine. If I reduce the size of the sketch, it works fine. But my sketch of 36742 bytes wont upload. As I watch the lights on the Mega, it looks curiously as if the Mega is being reset right in the middle of the upload.
THANKS FOR ANY HELP!
Fred

Is there a solution to these sketch upload timeout errors yet?
My older Mega works fine, as do all my other FTDI based 'duinos, but the Mega R3 is useless to me right now. Meh!
Arduino 1.0 on MacOS 10.6.8
Maybe dumb question: is the Mega R3 programmable with a FTDI USB cable?
John

I was having the same issue.

But end up I realized that I have place the reset switch A_RST_M at the wrong position.
Correcting the switch position and my Arduino is now working well.

I just joined in to say that I have this same problem. This ruined at least three weekends for me. Instead of working on new projects, I am banging my head into the wall, trying everything to resolve this.

I have Mega 2560, R2l, on Win XP SP3. It constantly either hangs with timeout, or sometimes it tells me that COM port is taken by another application. I always either get timeout or port locked by other applicaiton.

So many Mega 2560 owners are having problems with this, that developers should definitely check this one out.