FTDI board won't program breadboard Arduino, but programs atmega in Uno

So I have an FTDI breakout board with which I was having trouble uploading sketches to my breadboard Arduino, the error codes are all in my original post below.
On a whim, I put the Atmega328 from the breadboard into my Arduino and tried uploading a sketch using by connecting the tx and rx pins to digital 0 and 1, and powering the Arduino board through the FTDI board. This is shown in the attached picture. For some reason or the other, this setup worked! Yet it still doesn't work on my breadboard Arduino, even with the same atmega328 chip. The breadboard is set up correctly, and all loaded sketches run, I just can't program it... =(
Any help would be greatly appreciated.
Image of the setup that actually works (sorry for the horrible Paint job):

ORIGINAL POST BELOW

Hi all,

I am having some trouble uploading sketches to an atemga328 on a breadboard. The chip has the Arduino Uno bootloader and uploading works just fine when I drop it into my Uno.

When I try to upload a sketch, I see the atmega328 reset (evidenced by the flashing LED at D13 when I hit the upload button), then the TX light on my home-made FT232RL breakout board blinks three times and then nothing. I've done an extensive Google search and found that this is not an uncommon issue. However, none of the solutions I've come across seem to be of any use.

So far I've tried:

-Checking the baud rate in boards.txt (115200) and changing to it through device manager
-Shorting the TX and RX pins and typing into a serial terminal - every key press was repeated as expected
-Selecting different boards from the Arduino IDE even though I'm sure the chip has the Uno bootloader
-Using different chips, all from the same source (Sparkfun)
-Verbose upload
-Manually wiring a reset button to pin 1, although I also confirmed that the FT232 was resetting the chip through DTS->0.1uf cap

I found ladyada's FTDItest (ftditest [AdaWiki]) which is a pretty solid list of diagnostics for the FT232RL. Everything on that page worked as expected. I can not figure out what I'm doing wrong here!

The only caveat is that when the my chip resets on the breadboard, the blinking on D13 that happens every time you reset seems to last quite a bit longer than when the same chip is dropped into my Arduino Uno and the reset button is pressed. I can take a video of this if it is of any significance.

So does anyone have any suggestions or some more diagnostics? I need all the help I can get here!

Thanks a lot!
boredat20

EDIT: Oops! Almost forgot my verbose output :wink:

avrdude: Version 5.4-arduino, compiled on Oct 11 2007 at 19:12:32
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

         System wide configuration file is "C:\Users\XXXXXX\arduino-0022\hardware/tools/avr/etc/avrdude.conf"

         Using Port            : \\.\COM2
         Using Programmer      : stk500v1
         Overriding Baud Rate  : 115200
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.

EDIT 2: Also wanted to add, the loop back test does not seem to work when using the serial monitor built into the Arduino IDE (TX but no RX), however when I use X-CTU it works exactly as expected.

So the plot thickens.

I decided on a whim to try hooking up my FTDI breakout directly to my Arduino Uno. TX to D0, RX to D1, Vcc to VIN, and GND to GND. Tried uploading without a manual reset; got the same error. Then I decided to hold the reset button, upload the sketch, wait for the "binary size..." message, and then let go. Surprise surprise, the sketch uploaded successfully XD!

That's not the end of it though. Strangely enough, the exact same procedure on my breadboard atmega328 simply does not work. No combination of pauses and resets will let me upload a sketch. If I take that chip off the breadboard and drop it into my Uno, the sketch is uploaded successfully using the method I described earlier.

Does anybody have ANY idea what on earth is going on here?

Here is a tutorial that my help you troubleshoot your breadboard setup:
http://itp.nyu.edu/physcomp/Tutorials/ArduinoBreadboard

Make sure you have the 16MHz crystal connected properly on your breadboard Arduino.

Hey Louis, thanks for your response. I probably should have mentioned, the atmega-on-a-breadboard actually functions just fine, it's only the uploading of sketches where it is posing a problem.

boredat20

I've modified my original post to be more reflective of my current situation. Again, all help is appreciated!!!

boredat20

Is there maybe another bootloader I can try? Can anybody try and explain what I'm seeing?

I was having the similar problem, then found a solution:

do not upload using "upload button", use "File -> Upload using programmer" instead!! :wink:

boredat20:
The only caveat is that when the my chip resets on the breadboard, the blinking on D13 that happens every time you reset seems to last quite a bit longer than when the same chip is dropped into my Arduino Uno and the reset button is pressed. I can take a video of this if it is of any significance.

If the blinks are slower then the clocking to the breadboard does not seem right. If you don't have the right clocking speed then the serial baud rate will be off. Check your crystal and make sure it actually is 16.000 MHz part.

Show us a picture of your bread board circuit.