I'm in a bit of a pickle here. I need to translate 3.3v to 5v ttl levels. The devices I'm driving (12 total) are not low current devices so I don't want to interface directly, even with a current limiting resistor.

This is a reference design that I plan on selling and I want it to be as fault tolerant as possible. My first pass was just to add 100Ohm resistors across each output from the microprocessor (3.3v output). I'm rethinking that however and I was looking at voltage translation. The two techniques that look most promising for me is either a pass through transistor interface using a MOSFET such as bs170 and the other is to use a dedicated chip such as the TXB0108 voltage translator.

Here is my conundrum. I really want to keep the cost of these boards down. I've sourced the mosfets at mouser for about .25$ each when buying in lots of 100. The voltage translator ic's are a bit more expensive at about 4 bucks each, when bought in large lots. My biggest issue is I only need 12 pins to be translated so it seems on the second IC I would be wasting 4 pins. The mosfets are going to cost about 3 bucks per board (way less than the IC's) with a couple of resistors it brings up to 3.10 or so. So, that cuts my BOM cost by about 6 bucks, but my issue is the space on the board. Those 12 mosfets (and accompaning resistors) take up WAY more room than the two ICs (which take no external components).

TLDR; Does anyone know of another (cheaper and less room) than the two methods I mentioned above? I need to translate 3.3v up to 5v. It will only be output since the signal is unidirectional (always 3.3v -> 5v).


2 Answers 2


Since you are translating from a 3.3 V source to a 5 V destination, and you specified TTL levels, you may in fact not need any translation circuit at all. TTL circuits switch at around 0.8 V, and only expect 2.0 V nominal for a high level input. So if your micro can generate 2.0 V it will be able to fully switch a standard 5 V TTL input.

If you need to provide more current than your micro can source, then you should be able to use any 5 V TTL buffer chip. For example, the octal buffer 74LS244, which findchips shows in the USD 0.60 range at qty 100.

If you really don't trust your micro to produce 2 V output when high, or if you aren't completely sure the downstream device use true TTL levels, and you don't need an exceptionally fast switching, you can use an open-drain output buffer like 74LVC07A as a translator. The chip can be powered by 3.3 V, but its output high level is controlled by an external pull-up voltage, for which you'd use 5 V. These are 6 channels per chip, and they're less than USD 0.25 each at the quantities your talking about.

  • 3
    \$\begingroup\$ All good stuff (really). But there is a risk that a 5V target MAY cause overvoltage problems to the 3V3 system. You'd want to look carefully at the spec sheets and even then be careful. Probably OK, but worth noting. Murphy loves such opportunities. \$\endgroup\$
    – Russell McMahon
    Commented Dec 24, 2011 at 1:12
  • \$\begingroup\$ Just edited a bit to clarify the open drain buffer solution wouldn't have the uC driving a 5-V-powered chip. \$\endgroup\$
    – The Photon
    Commented Dec 24, 2011 at 1:25
  • \$\begingroup\$ Thanks for the great answer. These are actually PWM inputs to a motor driver board so I'm not too worried about current on the digital line. I'm trust you regarding the levels. I also checked the datasheet to be sure ;). \$\endgroup\$
    – SRM
    Commented Jan 5, 2012 at 4:06

I assume SMD construction. Please confirm.
All prices are in stock at Digikey with no attention gives to ROHS.
SMD parts assumed, but DIP often about the same if available.

If the requirement is 3.3V -> 5V TTL then if polarity inversion is OK, with a MOSFET you need at most one resistor per circuit and maybe none.

MOSFET gate may legally be driven from processor pin directly.
If true TTL it floats high and can be oulled down - A FET will do this with NO drain resistor. It has been many many years since I designed with real TTL, and yours may be TTL levels and not TTL proper, or ...?

Your IC prices seem high IF you can handle BGA version which is $2,80/1 and $1.96/100.here

Ah - same price in TSSOP

BS170 in Asia would be a few cents US each in 1000+ volume.

You can use NPN transistors instead of MOSFET. Adds need for a base resistor but costs a few cents transistors if you buy a bucket full. Or 1 cent each in Asia.

These SOT23 NPN are 11 cents/100 from Digikey and have input resistors included so at most need just pullup on collector. Datasheet here.

Without internal resistirs thse NPNs are 8c/100, 3c/1000 , datasheet here

If logic inversion is NOT OK you can use bipolar transistors and connect their bases to 3V3 via a resistor and drive their emitters. This needs the same current from drive pin as output requires but does level translation with no inversion.

Can do same with FET._

7 & 8 drivers per IC:

You can get ULN200x - here I=ULN2003, - 7 darlingtons in pkg with internal input transistors for 38c/100 or under 6c/cct. datasheet

Or 63c/100 for ULN280x here ULN2803 8 per pkg darlington. datasheet So 2 x ULN2003 cheaper.

Out of left field: :-)

Depending on speed this may be a complete solution.

This IC (the 59 version) costs $1 in 100's and will take 16 inputs at 0/3V3 and provide 16 outputs at 0/5V with or without polarity inversion and with no resistors required on input or output. :-)

Or ... :-)

  • \$\begingroup\$ All great ideas, but remember my board space is a premium so I want to keep the component count down. The price I quoted was definitely not BGA. I cannot handle BGA yet as I just learned basic SMD soldering techniques after being a through hole junkie for years. I want to keep the cost of these boards down since they are prototypes. \$\endgroup\$
    – SRM
    Commented Jan 5, 2012 at 4:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.