I chose the TXS0108 from Sparkfun for this purpose, but I am facing some problems with the bidirectional communication.
Here are the details:
I am using the ESP32 RMT for creating a communication bus between the sensor and the micro controller.
Level shifter setups
I tried different circuits for this setup, but few of these worked properly.
This is the first setup I tried, which is also recommended by Sparkfun:
I tied the OE pin to VCCA, with this result:
Apparently, when the RMT pin switches to RX mode, the A side is floating and the output is the following. Note that even with the sensor connected to the B side, the result is similar.
I decided to use a 1k pull-down resistor:
Results were definitely way better:
When I connect the sensor to the B side, this happens:
I even tried with 1k pulldown resistor on both sides but the result is the same.
Current semi-working solution
The following is the only working solution at the moment:
The bus works as expected:
Unfortunately, this setup doesn't work if I try to connect another bus in the same way and they try to communicate at the same time, only one bus works at a time:
The result is the following: