Modern circuits often use multiple voltage levels domains in a single design, the microcontroller may require 3.3V and the temperature sensor 1.8V for example. To interface with the temperature sensor, we need a device that translates the two logic levels. These devices are called level shifter or voltage translators and available in various configurations, in this article we describe how N-Channel MOSFETs can be used as simple and low-cost level shifter for active low interfaces like I²C and UART.
A resistor pulls the signal lines to their respective logic level, and an N-channel MOSFET separates the two logic levels. The MOSFETs gate is connected to the lower supply voltage, source to the low voltage signal, drain to the high voltage signal.
In the steady state, when no data is transferred, the voltage at the gate and source of the MOSFET are equal, the MOSFET does not conduct. The body diode is reversed biased and does not conduct.
Low-side is pulled low
When the low-side is pulled low, the voltage from gate to source increases and the MOSFET will start to conduct, sinking current to the low-side, decreasing the voltage on the high-side.
High-side is pulled low
Pulling the logic level low on the high-side will forward bias the body diode, sinking current from the low-side, doing so reduces the voltage on the low side enough that the MOSFET starts to conduct too.