Do I need pull ups or buffers maybe?

Hi, a newby question for the Mega 2650.
I am trying to send serial data to an external device from the serial ports.
Software goes OK as confirmed by good looking strings seen on Serial Monitor, but Hyperterminal and my external device won't read the data correctly. Data looks "OK" on a CRO.
Q: Do I need pull ups or buffers on the Mega's serial lines?
Of course I have checked data rate, parity, stop, polarity etc seems OK. Port 0 and 1 behave the same.
thanks in advance, derek.

Have you got appropriate level translators to match the 5V arduino output to your external serial device?

It might help if you tell us what you’re connecting to.

By "Hyperterminal" do you mean running on the same computer over the same USB link as Serial monitor is?

Also, what's the "external device"?


You might have gathered from the previous posts that RS232 and TTL levels are not directly compatible. You need to convert the 0 to 5V TTL levels from the arduino to the -12V to +12V needed for RS232 devices. It is not only the voltages but the logic sense. A logic 1 is +5V at TTL and it is -12V in RS232. You can get a chip to convert from one to another. Typically is the MAX202 but there are lots of others. See the data sheet for how to wire it up.

Thanks everyone. All fixed now. Problem was data inversion, so I added a 7404 and goes fine now. Although I knew 0-5V would work on the PC port, I forgot that despite the bogus levels the port is still 'trying' to be RS232 so the level inversion is there too. Thanks Mike.