In present day electronic we find many sensors or modules working in 3.3V logic levels.In other terms LVTTL devices (Low-voltage TTL). But even now we mostly use 5V TTL logic level uC or other devices with them. Hence, we need to change logic levels between 3.3V <---> 5V when interfacing both of them together. There are many dedicated chips for this and there was none available in the country. So I decided to build some simple circuits to do this conversion using transistors. Here,you can use any general purpose NPN transistors available in your country such as 2N39042SC828,BC547…etc. You need to supply 3.3V & 5V as shown in the schematics as Vcc. This won’t be a problem as you may already have these two power rails in your circuit as you use both for chips as Vcc. I have tested this on my 3.3V Bluetooth module interfaced with 5V PIC16F887.It worked well.
Why R1 in first figure?
ReplyDeleteR1 & R5 can be omitted,i just built two NOT gates here in unison to make a buffer
ReplyDeleteMakes sense :)
ReplyDeleteCan anyone explain to me how the 3.3-5V level shifter circuit shown above actually works? Please explain the circuit and how the voltages across the collectors and emitters change and why, thank you
ReplyDeleteIt's like this,When input is 0V,Q1 is OFF and Q1's collector will be 5V,then Q2 will be ON, and Q2's collector is at 0V (as Vce of Q2=0)
DeleteWhen input is 3.3V,Q1 is ON and Q1's collector will be 0V(as Vce of Q1=0),then Q2 will be OFF, and Q2's collector is at 5V,It's simple two NOT gates combined :D
How would I connect an Omron G2R-1-E 5V Realy to that circuit?
DeleteAnyone ?????
DeleteI haven't used that particular relay,You can connect is using a simple transistor relay drive with a transistor,resistor and a diode :D
DeleteThis link may help you (check for relay drives)
http://www.rentron.com/rf_remote_control.htm
This comment has been removed by the author.
ReplyDeleteCan this circuit used between arduino due 3.3 v to 5v character lcd ??
ReplyDeleteThis should work,I'm using this to inteface my 3.3V Bluetooth module to micro controllers. I have used just some zener diodes for my 3.3V graphic lcd,I'll write about it on next post
DeleteWhen input goes low, Q1 should turn off and its collector voltage should increase. I observe this behavior, but with an issue: it takes a long time for Q1 to turn off (but it turns on rapidly).
ReplyDeleteThis limits its use to 1MHz....any solution ? Why is that ?
Thanks.
I didn't use this in such speeds,may be you need a faster switching transistor then,Those data will be on the transistor datasheet :D
DeleteYou need to add pull down resistor at the base circuit. Just add 10k ohms to the ground.
DeleteStick a resistor between the base of the input transistor Q3 and ground, this will speed up the turn off of this transistor, that is what is limiting the switching speed. Use a 1K resistor as this is what you are using everywhere else.
ReplyDeleteSorry I meant Q1 transistor.
DeleteThanks for the idea :D It gives the "pull down" to Q1,should speed up :)
DeleteHello all , I have to code a level converter In verilog and implement it in FPGA and show the output..!! Please it's my assignment and I hand to finishit asap.. !! please someone reply if you have any brief idea about that
ReplyDeleteI have a proteus file in this regard..! how can I upload it here?!
ReplyDeleteThis isn't working as a level shifter its working as voltage regulator
ReplyDeleteIn the first pic,, When Q2 is OFF, the output is available after the 1.5k resistor. but how that will be equal to 5v being your Vcc is 5v and there's a presence of 1.5k before the output.
ReplyDeleteYou're correct, but depending on the input impedance of the load, it will be close.
ReplyDeleteThe 1.5K will form a voltage divide with the load impedance.
These are nice and simple circuits but they do have a down side.
ReplyDeleteThey have quite high current consumption.
Circuit 1 will consume 3mA and circuit 2, 7mA when at logic level zero/low.
Thank you very much for your comments. I built these are these was no alternative to buy in local market
ReplyDeleteTesting it with M590 GSM Modem and Arduino and seems to work also whithout R1 and R5 Thanks a lot !
ReplyDeleteGlad to hear it helped you :D
DeleteFOR HIGHER SPEED YOU CAN USE MOSFET
ReplyDelete