Hi,
I encountered strange problem with a simple BJT voltage level shifter.
Quick background: I am doing a 74HC590 based counter that is outputting data to Arduino Uno, my supply is regular USB (exact measured voltage is 4.6-4.7V, I guess that is in the tolerance region). 74HC590 works as intended only the output bits go only as high as 3.2-3.4 V at logic ,,1" I guess that is due to the internal semiconductor junction losses in the chip itself. Since Uno operates at 5V, 3.4V is considered logic ,,low", hence I am making a voltage shifter.
I tried to use both NPN (2N2222) and PNP (BC640 and S8550) transistors to make a non-inverting voltage shifter 3.4V to 5V. I have used similar circuits in the past without any problems. This time (with both NPN and PNP configurations) I am still getting only around 3.9V at the output which should be way above 4 Volts (considering the supply) and Arduino is still reading 3.9V as logic low. I checked my wiring really good, I am getting the right signals on the right pins, I am sure that everything else in the circuit works flawlessly, but this voltage shifter...
What is the problem with such voltage shifter and how do I fix it? I want to keep the circuit as simple as possible. Thank you in advance.
I encountered strange problem with a simple BJT voltage level shifter.
Quick background: I am doing a 74HC590 based counter that is outputting data to Arduino Uno, my supply is regular USB (exact measured voltage is 4.6-4.7V, I guess that is in the tolerance region). 74HC590 works as intended only the output bits go only as high as 3.2-3.4 V at logic ,,1" I guess that is due to the internal semiconductor junction losses in the chip itself. Since Uno operates at 5V, 3.4V is considered logic ,,low", hence I am making a voltage shifter.
I tried to use both NPN (2N2222) and PNP (BC640 and S8550) transistors to make a non-inverting voltage shifter 3.4V to 5V. I have used similar circuits in the past without any problems. This time (with both NPN and PNP configurations) I am still getting only around 3.9V at the output which should be way above 4 Volts (considering the supply) and Arduino is still reading 3.9V as logic low. I checked my wiring really good, I am getting the right signals on the right pins, I am sure that everything else in the circuit works flawlessly, but this voltage shifter...
What is the problem with such voltage shifter and how do I fix it? I want to keep the circuit as simple as possible. Thank you in advance.

Last edited by a moderator:
