Logic level converting serial TX RX

Hi, I am trying to use a logic level converter to convert 5V signals from a USB to serial adaptor to the 3.3V TX/RX on my Arduino. The logic level converter is keeping all the lines HIGH though and nothing is coming through to the TX/RX on the Arduino.
Any suggestions on how to resolve this?

Hi David
A big help would be what logic level converter are you using and a diagram of how you have everything connected.
There may be some restriction on new subscribers posting pictures and diagrams and I am not sure of exactly what these are so you may have to post a description but please be accurate.
Cheers Bob

Hi Bob, Thanks for the reply. Hopefully this image uploads

1 Like

The USB device is a TA0240 USB to 6 pin TTL serial converter module.
The logic level converter is a bi-directional device, I have this set to 9600 baud

Hi David
On your logic level converter the “LV” point should connect to 3.3V on the Arduino I think. “VIN” might be the 5V from the USB port.
Try that for starters.
Cheers Bb

1 Like

Hi Bob, I have a 3.3V source that is powering the logic level converter and also powering the Arduino via the Vin pin.
I’ve checked the HV and LV pin on the logic level converter and it is being powered correctly with 5V and 3.3V. All of the HV1,HV2,HV3,HV4 are showing 5V and all of the LV1,LV2,LV3,LV4 are showing 3.3V.
It looks like the USB to serial adaptor is not enough of a drain to pull these lines down to 0V. Not sure how to fix this.

1 Like

Hi David
You could well be correct. Remove the USB to serial adaptor data connections and try shorting each HV data connection to ground and monitor the LV side and make sure that it also goes low. This will prove the logic level converter.
If you have access to an oscilloscope you could also monitor the signals on the HV side and see what is happening there.
You may have to look at another type of converter. This is a handy and educational TI link
https://www.ti.com/lit/sg/slyy165a/slyy165a.pdf?ts=1659424319464&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FCD40109B%253Futm_source%253Dsupplyframe%2526utm_medium%253DSEP%2526utm_campaign%253Dnot_alldatasheet%2526DCM%253Dyes%2526dclid%253DCKX2zsLMp_kCFVrQcwEdRuQC9Q.
Cheers Bob

2 Likes

I don’t know the TA0240 module, but you describe it as 6 pin. Some of the 6 pin modules have both a +5V and +3.3V pin on the output. If the +3.3V is bridged to Vin then no level translator is needed. You probably know TTL serial logic is logic high normally. It only goes low when signalling.

I just tested this with a CH340 based module. Works fine. I see core have one, not the same as mine but the description says set up for 3.3V signals and can be bridged to use 5V signals. The one I have has +5V, +3.3V, Vin pins and a jumper to choose which. It was much cheaper than the core module but does the same job if you don’t want DTR or CTS.

1 Like

Hi David,

Were you able to complete Bob’s test and see if the logic level converter was correctly mirroring the logic state across the board?

@Alan73922 our module defaults to 3.3V unless a link is soldered on the rear of the board so it should be safe to use with circuits and skip the complexity of a separate logic level shifter.

I thought that’s what I said. A picture … 1000 words.

1 Like