SparkFun Forums 

Where electronics enthusiasts find answers.

For the discussion of Arduino related topics.
By mtmentat
Hello, and thanks in advance for any responses!

I attended SFE's stenciling class, and came out with an Arduino Pro 238 5V/16MHz fully tested. I only recently got around to buying the FTDI Basic 5V board.

So... I know the board works, because it was tested before my eyes at SparkFun and because I can use my Uno (hooking up all the appropriate tx, rx, power leads) to program it. When trying to upload a sketch, I get the error message below:

avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

In reading up on it, it seems to be a very hard-to-diagnose problem. I'm running Arduino 0021, Windows 7 Enterprise 64bit, and have checked that I've got the correct COM and board (Arduino Duemilanove or Nano w/ 328) selected. I've updated my drivers using the ones from and checked that the COM port is using 57600 baud rate (as found the boards.txt file).

Please help me get this working, because once I can program using the FTDI breakout board I can give away my Uno to a friend so that he can get started with microcontrollers, too! :P
Last edited by mtmentat on Mon Dec 13, 2010 4:42 pm, edited 1 time in total.
By mtmentat
Update: From the IRC channel I got a possibly useful suggestion and tested it. Loopback test: shorting together the tx and rx pins on the FTDI basic 5V board, without the Arduino Pro attached, I opened the serial monitor in Arduino and sent a random letter to the COM. Nothing happened (no reply), only a small blip from the tx LED on the FTDI board. Does this mean that the board/FTDI chip is bad?

LATER: Um... The loopback test works now. This is really frustrating, because by now I've changed configurations way too many times to have a great idea of why this is suddenly working. :(
Last edited by mtmentat on Sun Dec 12, 2010 7:42 pm, edited 2 times in total.
By Grimfox
I've run into this problem recently as well. I checked the troubleshooting link that pops up when you get an error during uploading. I didn't find any answers on that page so i went to the next trouble shooting step which is to run the upload again with verbose output enabled (shift+upload) Lo-and-Behold the thing uploaded without any problems.

I had a friend run into a similar problem and he tried the verbose upload and it didn't help at all. I haven't the slightest why it does that but I have a feeling that it has something to do with the baud rate being accidentally reset. Try uploading a real simple program a couple times (blink or serial read/write)

See if one of those option doesn't help. Otherwise I'd take your verbose output and send it to the forums and see if they can help toubleshoot your error better.
By mtmentat
Thanks, Grimfox, for the reply. I tried verbose uploading, but it didn't seem to help. What I got back is below:

[omitted: some stuff about local files on my computer]
Using Port : \\.\COM6
Using Programmer : stk500v1
Overriding Baud Rate : 57600
avrdude: ser_open(): setting dtr
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Recv:
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: Send: Q [51] [20]
avrdude: Recv:
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

avrdude done. Thank you.

Pretty much the same as before. I will probably take your advice and post this over at
Last edited by mtmentat on Sun Dec 12, 2010 8:19 pm, edited 2 times in total.
By mtmentat
I don't know if I should expect this to work...
...but I hooked up my Uno to the FTDI Basic 5V. Selecting either "Uno" or "Duemilanove or Nano w/ATmega328" in the board menu I still get the simple time out (see first post). This not working would really point to the FTDI board or my drivers/settings. Can anyone confirm that programming an Uno should work, if my FTDI board was properly configured/working? I want to be able to rule out the error being because of my Pro board.

By mtmentat
Upload successful, but with some concerns. I can upload successfully, using the steps below:

1. Selecting proper com port and board (Duemilanove or Nano w/ATmega328).
2. Uploading verbosely (shift+Upload).
3. Hitting the reset button on the Arduino Pro board when I first see avrdude: Send: 0 [30] [20] .

Hitting reset before/after the string of 3x Send's will result in the original error. Thus, I haven't been able to make it work when I'm not doing a verbose upload. This works, but is rather tedious. Now that I know this trick works, does anyone have a more elegant solution to this problem? Will I forever be timing my reset-pushing when I'm programming!!??