Questions regarding voltage level translators

I need some help deciding between two different voltage level translators.

My objective is to have a Teensy (operating on 3.3V) talk to any board UART (3.3V or 5V) TX/RX lines.

I want the level shifter to automatically detect the voltage level and translate accordingly.

I was first looking at this item

https://www.sparkfun.com/products/15439

It seems to auto-detect the reference voltage on both sides and provide bi-directional translation. It’s intended for I2C protocol, though, so I wanted to know if the SDA and SCL lines can alternatively be used as TX/RX lines or whether something will prevent from doing that.

My other doubt about it is that, as far as I know, I2C is an open-drain system where the master keeps the pins high at its own voltage level and the slave just generates falling edges, so it should be voltage agnostic.

The second one I was looking at was this guy:

https://www.sparkfun.com/products/11771

The hookup guide on this one mentions SPI as one option because it can perform at high speeds. Does it mean it should be okay for using in UART?

For this board the slikscreen labeling is on the reverse side of the breakout board from the side where the IC is attached. Is it okay to have the headers soldered so that when it is placed on a breadboard, the IC will be on the under side, and the labels will appear a the top? Will there be any heat dissipation concerns from doing that?

Thanks.

Hi alisyedz,

Depending on what you mean by “automatically detect” the voltage level, either of these will work. Just to clarify, in order for these to work properly, reference voltages for both high and low voltages need to be connected. Neither of these will automatically detect the logic level of a connected device unless the reference voltage for its logic is applied to the high side.

Also, using these for 3.3V to 3.3V communication is unnecessary and will most likely cause issues since they function on the simple logic of VccA < VccB. So, for example, VccA is your low voltage logic and VccB is your high voltage logic. Shifting from 3.3V to 5V or vice versa works just fine but if both are equal, the level shifter can have issues functioning properly. It is a much better idea to simply remove the level shifter if you are communicating between two 3.3V logic devices.

Thanks for the info. I am still not quite there to make my teensy work as a USB host, receiving inputs from a standard USB keyboard.

I’ll keep in mind your advice about not having a level shifter in the way when the situation is a 3.3V to 3.3V.