4 Channel Logic Level shifter (#2595) with HV < LV


I’m using an Arduino clone running at 3.3V and want to interface with two different microprocessors/systems (camera lenses) via SPI - only one is connected at a time, but both on the same pins (hardware connector).

So I will need a level shifter, BUT one voltage is above the 3.3V and the other is below it. All level shifters I have found need the high-voltage side to be higher than the low-voltage side, but I have not found any information to what happens if thats not the case.

Considering your 4 Channel Logic Level shifter (#2595) (https://www.pololu.com/product/2595), what happens if the LV is 3.3V and HV is 3.0V? Does it work with such a small difference? Can it damage any components?



The MOSFET used in the level shifter circuit has a built-in diode that blocks current from flowing as long as the voltage on the LV side is lower than the voltage on the HV side. If the higher voltage is used on the LV side, current would flow from one side to the other when trying to transfer a digital high signal and the voltage on the HV side (in this case the lower voltage) would end up increasing until it was equal to the LV side voltage (in this case the higher one) minus a diode drop. That would defeat the purpose of the level shifter.

In your case, since the difference is only 0.3V which is smaller than the diode drop, you might be able to get away with it, but I would not recommend trying. Instead, you might consider attaching a level shifter to each of your camera lens circuits the correct way and then swapping out the whole assembly instead of just the lens circuit.


Hi Claire,

thanks for the details about the level shifter.

I can’t exchange any circuits: All electronics are in one project box, the lens mounts/adapters are going to be connected by cable with a 12 pin Hirose connector and I can’t fit a levleshifter inside those mounts/adapters or connectors. I’m using a m4/3 camera (BMCC) and different adapters for FourThirds (3.0V), Nikon (5V) and Cannon (5.5V) lenses and want to remote control those lenses (focus, aperture, read focus distance,…). So, what about…

  1. Using the level shifter with HV < LV (3.0V < 3.3V). As I understand it, this should be fine, as long as the difference is small (0.3V). Will the level shifter be fast enough for 500 kHz SPI in this configuration? Any other bad side effects?

  2. Is it possible to mount two level shifters back-to-back, so that one is HV->LV and the other LV->HV and connect both to the same wires?

  3. Is there a level shifter on the market that has no “direction”?

  4. The 3.0V lenses are FourThirds format… I might get away with 3.3V instead of 3.0V, but that would be the worst option, as those are really expensive lenses and I don’t want to fry them.

  1. I do not expect you would see much difference in the speed the level shifter is capable of when using it with 3V on the high side and 3.3V on the low side, but as I mentioned in my last post, I would strongly recommend against using it that way.

  2. You could attach two level shifters in series to the output of your 3.3V microcontroller to first shift the level to a voltage above that of both camera lens circuits and then shift down for them. Doing this though would reduce the maximum speed possible. I am not sure if it would be reduced enough for 500kHz to be an issue. You would probably have to try it to see.

With open-drain signals, the speed the level shifter is capable of is determined by the pull-up resistors on the input and output, so you could increase the maximum speed by adding parallel pull-up resistors, although this would also result in more current draw when a low signal is present. With push-pull signals, it is generally capable of somewhat faster speeds.

  1. There are other types of level shifters, like ones that use buffers, that are probably more appropriate for your application, though I do not have any particular ones we recommend.