TX 5V To RX 3.3V: What's Wrong With My Wiring?

Hello Gurus,
I'm attempting to convert 5V TX signals from a SparkFun OBD-II UART to 3.3V RX Signals to a SparkFun Artemis RedBoard ATP. I found a schematic to make that happen, rolled up my sleeves and made an awesome soldered solution:

wiring.png

(adding protective electrical tape of course)

When I hook it all up, I can see that the OBD-II UART is receiving requests (no conversion happening there, sending 3.3V signals from RedBoard). However, I'm not seeing anything come back through my custom mess. I was getting data back before with infrequent 5V responses (which I learned I should stop that, and the data was out of whack possibly as a result). So one possibility is that I fried my board.

Before additional trials, does the wiring look correct?

Thanks for taking a look!

Chris

wiring.png

Did you connect the grounds? Show us ALL your wiring.

It should work from 5V logic to 3V3 logic, but not in reverse.
The STN1110 datasheet doesn't give a minimum voltage for the UART data in. Here is what the RS232 spec says:

"By the RS-232 standard a logic high ('1') is represented by a negative voltage – anywhere from -3 to -25V – while a logic low ('0') transmits a positive voltage that can be anywhere from +3 to +25V."

So, 0 to +3 should work according to the RS232 specification. It's possible that if you connect the 3v3 Output to the 5V input, the communications should work.

But, why don't you just use a $3.00 logic level converter?

We use the term RS-232 for two different and mutually exclusive implementations:
#1. The original is as SteveMann described in Reply#2, above. It uses +/ & - power supplies and was intended, if I remember correctly, to replace the Baudot Teletype code with the new ASCII code. It was intended to drive long twisted pair lines.
#2. The low/single voltage/logic implementation uses standard logic levels; '1' = HIGH, '0' = LOW which is inverted from #1. This is what we use to communicate between PC and uC.
Herb

The Uno uses the CH340 USB to Serial chip, and while true ancient RS-232 was +/- 25 Volts, the CH340 can accept those levels. But 0 to +3 is still a valid RS232 signal level.

Yes, I worked with mechanical teletypes when 300 Baud was considered fast.

I have used thse for bi-di coms with a 5V->3.3V->5V

Worked well at 230400 baud

SteveMann:
It should work from 5V logic to 3V3 logic, but not in reverse.
The STN1110 datasheet doesn't give a minimum voltage for the UART data in. Here is what the RS232 spec says:

"By the RS-232 standard a logic high ('1') is represented by a negative voltage – anywhere from -3 to -25V – while a logic low ('0') transmits a positive voltage that can be anywhere from +3 to +25V."

So, 0 to +3 should work according to the RS232 specification. It's possible that if you connect the 3v3 Output to the 5V input, the communications should work.

But, why don't you just use a $3.00 logic level converter?

Sorry, Steve. No. The region between +3 and -3 is forbidden. 0 does fall into that hole!

Paul

You're right, Paul. 0V is invalid on the RS232 spec.

Hey everyone,
Thank you for the comments and added context (and sorry for the late response). I feel a touch smarter as a result!

I ended up purchasing a logic level converter and all looks cleaner and works.

owntheweb:
Hey everyone,
Thank you for the comments and added context (and sorry for the late response). I feel a touch smarter as a result!

I ended up purchasing a logic level converter and all looks cleaner and works.

Did you ground the unused inputs of the logic converter? I have noticed, in the past, the unused inputs would cause oscillations that the used I/O's 'felt'. I have made it a habit of grounding the unused of the logic converter since the discovery.

Yes sir!

I appreciate the follow up as I've been prone to errors.