3.3v/5.0v Level Converter's unexpected behavior.

I purchased several of this Level Converter:

And expected it to work as that same page illustrates:

But that's not what happens. Testing with a square wave and a scope, I found:

  1. The two TX levelers work equally well in BOTH directions! 3.3v to 5.0v, or 5.0v to 3.3v.
  2. The RX connections draw current even with the output side not connected, as though shorted with about a 1k resistor.
  3. The RXI produces only about 2.0v at RX0.

I'm able to use this leveler successfully for two-way communication, by using one TXI/TXO to convert a 5 volt signal to 3.3 volts, and the other TXI/TXO to convert a 3.3 volt signal back up to 5 volts. But man; that's not the way it's supposed to work. That's not the way it's supposed to be wired.

Am I missing something here? What's going on?

(Of course, one GND is connected to ground (the two GNDs being shorted together internally.) And LV is connected to the 3.3-volt source, with HV connected to the 5.0-volt source.)

  1. the "I" and "O" suffixes denote input and output. Are you sure it's wired correctly?

  2. there's two 1k resistors between RXI and ground. You should be able to measure 2k with your multimeter.

  3. the RX (5V to 3V) circuits are just voltage dividers. I would expect 2.5V output if the input is exactly 5V. This is usually good enough for digital inputs.

According to the DX link, two of the lines feature 10K/20K voltage dividers, which should work fine for 5V TX -> 3V RX. The picture is not consistent with this claim, showing 10K resistors everywhere, so check the actual board.

The original board appears to be a clone of an old Sparkfun breakout. Schematics and instructions here.

The RX is not bidirectional although the TX is. The TX lines use a very common n-MOSFET circuit for bidirectional function but the RX lines only use a voltage divider, saving them a few cents. You should be able to do level shifting at low speed though.

Sparkfun now has the proper bidirectional level shifter with one transistor for each pin, so 4 transistors total:

In your application, do you really need bidirectional?

Thank you all for such detailed and complete information! Your answers make it well worth my having asked.

I had no idea the standards for level shifters are so loose.

I've already replaced the shifter with the Sparkfun model.

I don't need bidirectional, but using it makes things easier by not having to be concerned about direction when wiring the breadboard up.