With Digital Circuits you typically hear about Ones and Zeros, High or Low, True or False. Typical lingo for Digital Circuits. You have a popular type known as TTL (Transistor-Transistor Logic). It was common back in the 80s and 90s and is still used today in many Applications. TTL used 0 Volts for the Low and 5 Volts for the High. However there was a time we had to deal with CMOS (Complementary metal–oxide–semiconductor) and these signals varied from 12 to 15 Volts for the High. It was TTL compatible as long as the CMOS was running at a TTL level begin with. However if you had a 12 Volt signal that needed to be controlled with a TTL 5 Volt or vice versa you needed to Level Shift the signal.
Digital Circuits back then were much slower so you could get away with using Transistors, Resistors and signal Diodes for it but at one point things started to get faster and you needed to use faster MOSFET switching and so forth. Even today we have this issue with 3.3V as a standard and even at times 1.5V as the Logic High. There are tons of stuff that still uses 5V signaling but you can’t just control it with the 3.3V or 1.5V. Two things will happen if you try. A unstable signal thinking it’s a False Low/High or blow up the device. Once again Logic Shifting can get around this. There are a couple of ways to do it and once again it depends on the speed of the circuit.
I recommend a 74LS07 for this. It was used back in the day for controlling CMOS signals form a TTL signal but with 3.3V and 1.5V you can control both ways.
For this to work the circuit requires dual voltage rails of 5 Volts and 3.3 Volts. If you need to control 1.5 Volts then use a 1.5 Volt rail. On the top side of the circuit it is showing how to control a 3.3 Volts signal with 5 Volts. On the Output 4Y we have a Pull Down Resistor of 1K to bring the 5 Volts down to 3.3 Volts and how typical Pull Down/Up resistors work as current protection and doesn’t impose a short. So a 5 Volts logic signal goes into 4A and 3.3 Volts of the signal comes out of 4Y.
The same goes for the Bottom side but we have a 10K Pull Up Resistor to bring the rail up to 5 Volts. So a 3.3 Volts signal goes into 1A and a 5 Volts signal comes out of 1Y.
The 7407 gives you six Inputs and six Outputs. The downside is if you need it to be bidirectional then you would have to do it twice, as in what is in the example Schematic.
You could also use a Buffer such as the 74LVC8T245 that has dual Voltage Voltage Inputs and can work from 1.2 Volts to 5 Volts. Or another quick and dirty way is to do this and will totally Isolate the circuit is to use a Optocoupler.
Take note, both circuits use their own Ground. It’s not a common Ground circuit. This is a personal favorite of mine and I used this a lot when controlling a Computer’s Parallel Port to control stuff. You could use this for a assortment of voltages as well. However for a Bidirectional use you would need to double up on the Circuit.
Two ways that I have seen Level Shifting that is improper to use is Series Resistor and Voltage Regulators. The Resistor has no Isolation and takes a bit of Current. A Voltage Regulator such as the 78xx series is kinda like a Zener Diode with a built in Series Transistor but it is too slow for switching.
Another quick and dirty way if the Output is a Open Drain/Collector you can just use a 10k Pull Up Resistor for the Voltage you want to Control.
Another circuit is just designed to send a 5 Volt Logic to 3.3 Volt.
I have never tried this circuit but from looking at it the 5 Volt Output will turn on the Base of the Transistor and let 3.3V flow from the Collector and then turn on the second transistor’s Base to let the 3.3V flow acting like a buffer to translate the 5V into 3V for the IN signal. I honestly don’t know if the Transistor in the example would be correct since the VEBO requires 5-6 Volts. I can’t think of any Transistors that can do 2.5 or 3 Volts for the VEBO to work on a Logic Level. However one does come to mind but it isn’t a BJT Transistor but a IRLB721Pbf MOSFET.
From my guess it would look like this.
I imagine this could be doubled up and be used as a Bidirectional circuit as well.