Good morning everyone,

I have a STM32F407 microcontroller running on 3.3V logic level, and I have a plethora of peripherals that I want to connect to it. The problem is that these peripherals run at anything but 3.3V level. Some of them are 1.8, some are 2.5, and a couple of 5V devices.

Immediate solution that comes to mind: programmable logic level translator. There are a lot of dual supply bi-directional level translator ICs available; I can turn these into "programmable" ones with the help of digital potentiometers.

My only problem is the common requirement of logic level translator ICs: Vcc > Vl, i.e. voltage on one side of the translator must be strictly less that voltage on the other side. But what I want is:

controller side logic level: fixed at 3.3V,

GPIO side level: anything from 1.8 to 5 V.

Are there any solutions to this problem (either through ICs or discrete elements), or am I asking too much? Thank you in advance.

  • \$\begingroup\$ Why do you want to use the same translator for each peripheral? \$\endgroup\$
    – CL.
    Commented Aug 11, 2015 at 7:15
  • \$\begingroup\$ @CL ideally - yes; in short, the question is about the ability to level-shift a single signal line (or a pair of such) in a wide range of voltages. \$\endgroup\$ Commented Aug 11, 2015 at 7:20
  • 1
    \$\begingroup\$ Can the peripherals provide the voltage to power the level shifter? That would allow you to have the right level without any configuration. \$\endgroup\$
    – Botnic
    Commented Aug 11, 2015 at 7:25
  • \$\begingroup\$ @Botnic - I guess no, as most of 'em are sensors (I provide voltages for them via separate power rails). \$\endgroup\$ Commented Aug 11, 2015 at 7:31
  • \$\begingroup\$ @DmitriyKhudorozhkov, that doesn't make your point. If you can supply each sensor with its required voltage, you can also supply that voltage to the level translator. \$\endgroup\$
    – The Photon
    Commented Aug 11, 2015 at 8:49

2 Answers 2


One option is, design your system to accommodate translation from 3.3 V on the uC side to lower and equal voltages on the peripheral side.

Then if you have a 5 V peripheral, include as part of the peripheral circuit a translator to translate from 5 V on the peripheral side to 3.3 V on the uC side. This means that 5 V peripherals will have their signals running through two translator circuits.


If your 5V peripherals are inputs to the uC, then using a device from the 74LCX series can help. These devices are designed to have 5V tolerant inputs in a 3.3V system.

You may need to watch out for the Volp (quiet output bounce) specification. This is a measure of how much disturbance a quiet output experiences when any other output changes state.


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.