If I want a breakout with two sensors on it, one operating at my MCU's voltage (3.3 V) and the other requires a drop to 1.8 V, do I need two sets of pullup resistors for both voltage lines? Can I do with pullups just on the 3.3 V line? The blue circles in the schematic indicates my area of question.

Pull-up resistors needed?

  • \$\begingroup\$ How do your logic shifters work? What happens if 1.8V side of them is left floating (which would be the case without pull-ups)? \$\endgroup\$
    – domen
    Dec 3, 2018 at 13:55
  • \$\begingroup\$ There is a very good application note regarding level shiftingtechniques for an i2c bus: nxp.com/docs/en/application-note/AN10441.pdf. You can see in Fig. 1 an example for a bidirectional level shifter. \$\endgroup\$
    – someonr
    Dec 3, 2018 at 14:26

2 Answers 2


The single-FET(Per Line) I2C Level shifter is quite cool. But it must have pullups on both sides of the shifter. To figure out why let's look at how I2C works.

The single Rule: An I2C device can only assert a low level on the bus.

so Let's look at the higher side Voltage device asserting a low: On the FET, a low voltage is provided on the Drain, this forward biases the body diode, and allows for a diode above gnd to be seen on the Source. When the Vgs Threshold is reached the FET turns on further reducing the voltage on the lower voltage side.

On the flipside, when the Low Voltage device asserts a low, It immediately Trips the Vgs Threshold and connects the low voltage to the higher voltage side.

Now make sure you use a FET with a very low Vgs(thresh) value, depending on your low side voltage, it needs to be at least a diode drop lower than your Low Side voltage. Something like the AO3414 for a 1.8V low-voltage side I2C would be good.


Yes, you need pull-ups on both sides of the FET.


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.