Here'a a voodoo programming suggestion:
*press the verify/compile button on the IDE
*wait for the result
*press reset on the board
*press upload on the IDE
Massimo mentioned this separation of compile / upload is necessary in practice on some machines, though I didn't catch his explanation. Yes the upload button will also do the compile, but I'm thinking that perhaps if compilation is slow you can miss your upload window.
If not, it may be that the computer takes a while to compile the sketch, and so by the time it tries to upload it, the bootloader has already timed. You may need to press upload, wait a few seconds, and then reset the board. Try various pauses from 1 to maybe 15 seconds. Resetting the board multiple times doesn't help, you just need to get the timing right.
What is going on?
I leave the thing alone for a day come back it. I was going to reinstall everything and start over. I plug in the board into the USB cable for one last time and compile and upload the led_blink sketch and it works. I wire it up on a breadboard and it works. I change the code a little to add another led, compile and upload, and it works. I play around a little bit. compile/upload and now I get this :
Binary sketch size: 4300 bytes (of a 7168 byte maximum)
[VP 2] Device is not responding correctly.
I try it agian, and get:
Binary sketch size: 4300 bytes (of a 7168 byte maximum)
Since it worked at least once it's probably a timing issue.
I had similar (although not nearly as severe) problems occasionally when using a slow, old computer (400MHz with WinXP).
This is how it works for me almost every time:
verify/compile
click upload button
reset arduino board after a second or two
On this old, overloaded computer the IDE obviously needs a little time to do its work, and if you reset the arduino board first it won't work. The above procedure works almost every time for me.
no, it's actually on the plastic bag that it came in, on a wood desk. I got the board pre-assembled from sparkfun. When I first got it, it worked just fine. Then it started do this. I haven't even had the board a week yet.
Sounds like a bad connection between the board and the computer. Is this an Arduino NG? It's possible that something came loose on the board in shipping – sometimes working, sometimes not. Maybe you can get it replaced?
One thing you can try to get a bit more information is changing upload.verbose from false to true in your Arduino preferences file (http://www.arduino.cc/en/Hacking/Preferences). It will dump every byte of data going between the computer and the board. But a flaky connection is a flaky connection, so I'm not sure it will help to know exactly which byte is wrong.
no, it's actually on the plastic bag that it came in, on a wood desk. I got the board pre-assembled from sparkfun. When I first got it, it worked just fine. Then it started do this. I haven't even had the board a week yet.
That is a static dissipative bag, meaning it conducts electricity and should not be under the board.
I've got the Arduino NG. Nothing looks loose, nothing moves when I try to wiggle it. I did get it working again, but it's back to doing the same thing again.