(SOLVED)Breadboard arduino wont program.

ok first of all, i did all the troubleshooting( i didn't post as soon as the issue arised)

so i built a Diyduino like this: http://www.arduino.cc/en/Main/Standalone except i used a SP3232e IC (like a Max232). i have double checked all the wiring. the pre programmed LED blink works. it is a Arduino UNO from sparkfun.

it has both TX and RX going to/from computer and arduino. but i posted the pic of the IC scheme so that you guys can confirm i connected tx and rx correctly. I labeled where i connected on the IC, in terms of data not Vcc etc.

i get the error:

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

in the arduino IDE when i attempt to upload the program. im sure i have the correct COM port and Board selected.

as it doesnt automatically reset when programming i have to manually presh the button once this shows up in the arduino IDE:

Binary sketch size: 8506 bytes (of a 32256 byte maximum)

so is anything wrong with the RS232 wiring? why is it not working? do i need to install any serial drivers even though i m not using a USB-serial adapter?

thanks

SOLUTION:
ok it turns out it was WIN7 fault that i got resp = 0x30 error in arduino IDE. i got that even w/o an arduino plugged in. so i tried another computer, presto!
and
i soldered the wires on to the DB9 (pin 5 was on pin 1 etc) and thus the inserted wires were wrong on the breadboard.

Often the RX and TX have different meanings depending on if they are DTE or DCE see:-

I would try swapping round the RX and TX connections to the computer, or better still send stuff from a serial terminal application ans see that the TX pin from the computer's serial port actually waggles the RX line and not the TX line.

true! this is my setup: "9 pin DTE devices transmit on pin 3 and receive on pin 2." on my DB9 connector.

but what im confused about is the SP3232E pinout. what data connections go where. RS232 in/outs and logic ins/outs in the diagram. did i do it right?

AtMega Tx goes to Sipex pin 11, Atmega Rx goes to Sipex pin 12.

Sipex pin 14 goes to DB9 pin 2 (TX out)
Sipex pin 13 goes to DB9 pin 3 (RX in)
DB9 pin 5 goes to ground.

Maybe swap DB9 pins 2 & 3 if things don't work

thanks, exactly what i was looking for, will let you know if it works.

EDIT///

AtMega Tx goes to Sipex pin 11, Atmega Rx goes to Sipex pin 12.

Sipex pin 14 goes to DB9 pin 2 (TX out)
Sipex pin 13 goes to DB9 pin 3 (RX in)

tried that, doesnt work.

Maybe swap DB9 pins 2 & 3 if things don't work

still doesnt work.

added a ground connection from DB9 to the breadboard.
still doesnt work

eh oops i had the sipex ic in backwards :smiley:

ok, haha i had the 3232 sipex IC in backwards. so i re did the wiring, and found someone else with the same exact setup and checked my wiring to theirs. now i get:
avrdude: stk500_getsync(): not in sync: resp=0xbf
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x5d

sometimes its resp=0x00 or resp=0xff

i know the Sipex IC is connected right because i can hook up my serial charachter LCD to pin 13 of the Sipex IC and i can write stuff on it using the serial monitor. see new correct labeled data pinout below.

Have you implemented the auto reset circuit?

Send the DTR into one of the RS232 inputs and take the output through a 0.1uF cap to the reset pin being pulled up to +5V with 10K.

yes now i get resp = 0x30 instead

ok it turns out it was WIN7 fault that i got 0x30. i got that even w/o an arduino plugged in. so i tried another computer, presto!
and
i soldered the wires on to the DB9 (pin 5 was on pin 1 etc) and thus the inserted wires were wrong on the breadboard.

SOlVED