Serial output

With the arduino duemilanove, I've connected pins 0 & 1 to pins 2 & 3 of a DB9 serial port on a PC (also ground to pin 5).

I have a program on the Arduino that writes "Hello World" once per second to Serial. When I view the output using the Serial Monitor in the Arduino IDE I see the output.

But when I view the output on the PC's serial port, I get garbage. I get the same garbage every time (1ce per second).

I've triple checked that my serial port on the PC is set to 9600/N/8/1. I've even tried mucking with those settings, but I can't get a clean transmission from the arduino to the PC tapping off the TX/RX pins on the board.

Help?!

You are sending TTL signals, and the PC is expecting RS232 signals. They are inverted, and the voltage level is different. Google 232 from the arduino page, and follow the schematics. However don't connect the unused pins to vcc as stated there, or the 232 chip will get very hot.

Joachim

You have no level shifters/inverters in your circuit.
A PC uses RS232 (+/- 12V nominally) but your Arduino only outputs non-inverted TTL.

Google MAX232.