I got this presumably cloned logic level shifter to try to wire my Clone Nano to an ILI9341 TFT screen. I previously got the screen working using resistors to divide the voltage. When I tried to replace the voltage dividers with the level shifter, I have had no success.
I tried to make a simple example, but the multimeter reads 0 when touching A1 to ground (I have no idea how to use a voltmeter, and also do not know if this example is valid or not). B1 and VB read ~4.6v and VA reads 3.3v.
I have tried connecting OE to ground, 3v3 and 5v. I'm pretty stuck, any help appreciated, thanks!
Connect GND to Arduino GND.
Connect OE to GND 3.3V or 5V, to turn it on.
Connect VA to 3.3V.
Connect VB to 5V.
The VA is the low side and the VB is the high side. They can not be exchanged. Both voltages must be applied or else it does not work.
To use it, it needs pullup resistors on both sides (on the high side and on the low side). Suppose you want to use A1 and B1, then add 10k from A1 to 3.3V and add 10k from B1 to 5V. It has internal pullup resistors.
It should work. Check the soldering if it does not.
I like those level shifters with pullup resistors and a voltage regulator included: https://www.aliexpress.com/item/32336156137.html.
Two channels is enough for the I2C bus and it has a voltage regulator of 3.3V to power a sensor.
~~The real question is: Do you need a bi-directional level shifter for that display ? The answer is: No, not such a bi-directional thingy which is meant for the I2C bus. You need a normal level shifter.~~The TXS0108E can also deal with the SPI bus and other digital signals, no problem.
Can you buy a 3.3V Arduino board ?
[EDIT]I am very sorry for all the wrong information. This chip is versatile and can do more than one thing. I read the datasheet wrong. Thank you WattsThat !
Since the OP provides no details on his actual display and or a schematic, it’s impossible to help any further other than to point out what the TXB0108 can and cannot do.
OE must be connected to Vcca to function. If you connect OE to GND, the TXB0108 does nothing since this places all pins into a high impedance state.
The TXB0108 works correctly with a 5V Arduino driving a 3.3V TFT LCD in SPI mode, no issues whatsoever.
The TXB0108 will not work with outputs needing pull-up resistors, it requires push-pull cmos outputs to properly configure its I/O pins as inputs or outputs. The means it will absolutely not work for I2C level translation where you have an open drain shared bus with pull-up resistors.
That’s a good use of color, I wish more members would take that level of interest and care with their posts.
I’ve used the TXB01xx devices for several projects and never had any issues but I must admit that I never really understood how they worked until this recent thread:
That thread caused me to dig deeper into the datasheet which in section 8.3, shows a schematic with resistor values that explains the operation of the bus direction detection. I also learned that TI makes a specific chip for open drain applications, the TXS series devices, which function down to 1.6 volts on the LV side. The advantage of this part is that they would work with both I2C and SPI interfaces. I’m going to order some to test.
Both chips should work to connect the display to the Nano. A 3.3V Arduino board is still easier, but don't buy a Due.
It's a YF08E, so I guess a TXS0108. As far as I can tell the only difference is protocol, but should be fine for shifting 5v->3.3v for the display as you said.
Thanks to everyone replying, I gave as much info as I have, considering I bought the screen probably on AliExpress more than 4 years ago. Here's some pictures of the screen. (Forum rules say try not to link externally, so are inline images preferred?)
I'm clearly a big noob when it comes to hardware, but let me go one step at a time - removing the screen from the equation. Is it even valid for me to connect the level shifter up as I have in my simple example and read a value from a voltmeter? It's Arduino 5v to level shifter Vccb, Arduino 3.3v to level shifter Vcca, Arduino 3.3v to OE, ground to ground, Pin D8 output HIGH to level shifter B2, multimeter touching ground and level shifter A2.
Whandall:
Why do you think the chip is faked?
How it should be used can be found in the data sheet.
You supplied no schematic and my crystal ball is cloudy.
Ah I meant the board and whatnot, the chip has the TX logo on it and looks like what comes up on google for YF08E. Let's say a big noob is asking their first question on the Arduino Forums, what's the fastest way they can make a intelligible schematic?
There is only one big noob here, and that's me for making those mistakes :-[
The Arduino Nano has a diode from the 5V of the USB connector to its onboard "5V". The voltage will be about 4.5V instead of 5.0V. You measured about 4.6V, that is correct.
There are online schematic sites. I think that EasyEDA requires to log in now.
For a desktop computer, then KiCad is worth the time to learn.
I moved from EAGLE to KiCad, and so did many other hobbyists.
We don't mind a photo of a drawing. That is okay. Have you seen EEVblog and bigclivedotcom ? Guess what they use ? See here and here.
You need jumper wires with crocodile clips
You did everything right. We can only make wild guesses: the level converter module could be broken; the breadboard can have bad contacts; and so on.
Since it was already working with resistors, I suggest to put that level converter board aside and try an other voltage converter with a normal logic buffer (not a fancy bi-directional one).
When you use the "Quick Reply" then you don't get the option to attach a image. Use the "REPLY" button or use More/Modify afterwards.