Getting Arduino Due to talk to an RS232 device

Hi all. I've looked through many topics on the forum about converting TTY to RS232. I need my Arduino Due to talk to an On Screen Display device that uses RS232 serial protocol and takes 12V, so I am looking for a level converter.

It seems like the Max 232 chip is the way to go, but as I search for a breakout board with the Max232 integrated (I'm not great with building boards, I would prefer something I can easily solder to) it's not always clear whether a given board will get me to 12V. Ive seen this issue referred to on the forum a few times, the manufacturers aren't always clear about the voltages in RS232 transceivers.

Can anyone help me understand how to look for something that would work? Again, I'm using an Arduino Due because it can do 3 different serial outs (there will be 3 OSDs for 3 different monitors). This is the OSD chip I'm using is

And this is the Max232 I'm thinking of buying

When I look at the data sheets for these different transceiver boards I get a little overwhelmed and can't figure out what exactly I'm looking for. Any help would be much appreciated.

Have you looked at the RS232 design such as here: RS-232 - Wikipedia

That implies that the voltage used for RS232 is between 3v and 15V so a 12v difference.

From the spec sheet of the OSD you link to, it always refers to RS232 without specifying a voltage that I can see, though I can see that 12v is specified for powering the OSD. Not surprisingly there does not appear to be an RS232 transmit on the OSD so you only have receive and ground.

Similarly, I did not see an actual voltage for RS232 specified on the MAX232 - it always referred to RS232 voltages.

Thanks for replying! The wikipedia page has a lot of info that's hard to understand for me, I really don't have all the vocabulary. But glad you agree the info on both the OSD and Max232 data sheets isn't clear.

I think I was hoping to use the Due to both communicate with the OSD and power it. So these are two separate processes, right? Would I need to get a level converter for each? I imagined connecting my 5V pin on Due to a converter of some kind to the 12V power in on the OSD, and then connecting TX on Due to RX on OSD. Does this make any sense?

Too often electrical engineers think the 0V-5V UART level is RS232. This results in RS232 being mentioned where they don't belong. As far as MAX3232, the positive side can go to about 6.xV and the negative side about -6V or less say -5.8V. It never reaches +-12V at all. I go by the spec sheet recommended circuit layout and it just never gets 12V level, neither does any breakout boards I've used. I suggest OP to use a multimeter to measure the OSD RX against GND to see what level it's at. If it's at 5V, then it's a TTL UART level. Then no need for RS232. Just directly connect Due TX to OSD RX. The level doesn't match exactly but TTL will accept 3.3V as HIGH.

If it's -6V, I bet it's got a MAX3232 or similar IC inside the OSD. If it's really at -12V, then it's a decent device and has a decent RS232 voltage like a desktop PC's 9-pin serial port, for some longer cable operations. In these cases, DO use a MAX3232. The mismatched +-6V vs. +-12V isn't a problem for my board (MAX3232 at +-6V) talking to a proper PC RS232 port (at +-12V).

Perhaps these might help:

TTL to RS232 breakout


TTL to RS232 Breakout board

I'm sure there are many more.

BTW The MAX232 Generates its own + and - voltages for the rs232 signal.

If you look at the specification for the Due it will accept 7-12V (recommended) or 6-16V (limits).
The OSD display requires 12V (range 8-14V from spec sheet).

Trying to power the OSD from the Due requires upping the voltage from 3.3 (or 5) to 12V (60ma) each, so at 12V 180ma from 3.3V that is nearly 720ma, if there is a surge on startup then it could quite easily be significantly more. it would be easier and safer to power all 4 items from a single 12V PSU imho.

The OSD RS232 is input only, you could try as liuzengqiang suggests and try using the TTL output which should be at 3.3V, but I would go with the MAX3232. Unfortunately you cannot measure the RS232 voltage on the OSD as it is input only. The MAX3232 is intended for 3.3V TTL and the MAX232 for 5V TTL as far as I can tell (but please check this)