
In the world of electronics, we are often caught in a "voltage war."
On one side, we have the classic 5V devices (Arduino Uno, older sensors). On the other, we have the modern 3.3V contenders (Raspberry Pi, ESP32, STM32). Connecting them directly can result in "fried" chips and blue smoke.
You need a Logic Level Shifter. But do you need a fancy dedicated chip, or can you get away with parts you found in your drawer?
Here is the breakdown of the simplest level shifters, ranked by complexity.
Table of Contents
- The "Penny" Solution: Resistor Voltage Divider
- The "Hassle-Free" Solution: Bi-Directional MOSFET Module
- The "Pro" Solution: 74LVC245 (Buffer Chip)
- Comparison: Which one do you need?
1. The "Penny" Solution: Resistor Voltage Divider
Best for: Slow signals (UART, Button presses) going from 5V $\rightarrow$ 3.3V only.
The absolute simplest level shifter consists of just two resistors. This is called a Voltage Divider. It works by "throwing away" the excess voltage as heat (very tiny amounts) to bring the signal down to a safe level.
The Formula
To get 3.3V from a 5V signal, you use the ratio: $$V_{out} = V_{in} \times \frac{R2}{R1 + R2}$$
Recommended Values
- R1 (Top Resistor): 1.2 k$\Omega$ (or 10 k$\Omega$)
- R2 (Bottom Resistor): 2.2 k$\Omega$ (or 20 k$\Omega$)
Why it works: Using a 1.2k and 2.2k resistor: $$5V \times \frac{2200}{1200 + 2200} \approx 3.23V$$ This is perfect for a 3.3V input pin.
The Catch (Read Carefully!)
- One Way Only: This works ONLY for stepping down (5V $\rightarrow$ 3.3V). You cannot use resistors to step up 3.3V to 5V.
- Speed Limit: Resistors interact with the capacitance of the wire/pin, creating a low-pass filter. It works fine for Serial (UART) at 9600 baud, but it will fail at high speeds (SPI/I2C).
2. The "Hassle-Free" Solution: Bi-Directional MOSFET Module
Best for: I2C, SPI, and general-purpose bi-directional communication.
If you search for "Level Shifter" on Amazon or AliExpress, you will find small modules (usually red or purple) with 4 to 8 pins. These rely on a single N-Channel MOSFET (usually a BSS138) per channel.
Why is this the "Standard"?
- Bi-Directional: It automatically detects which side is transmitting. If the 3.3V side talks, it boosts it to 5V. If the 5V side talks, it drops it to 3.3V.
- Safe: It isolates the two power domains effectively.
- I2C Compatible: Because I2C requires pins to be "pulled low," this open-drain MOSFET design is the only simple way to level shift I2C lines.
3. The "Pro" Solution: 74LVC245 (Buffer Chip)
Best for: High-speed unidirectional signals (LED Strips, Neopixels).
If you are trying to control a WS2812B LED strip (which requires 5V data) using an ESP32 (which outputs 3.3V data), the resistor method won't work (it can't step up), and the MOSFET module is often too slow for the tight timing of LEDs.
You need a Bus Transceiver like the 74LVC245 or 74HCT125.
- Function: It takes a weak 3.3V signal and blasts it out as a strong 5V signal.
- Speed: Extremely fast (nanosecond switching times), ensuring clean data for timing-sensitive protocols.
Comparison: Which one do you need?
| Feature | Resistor Divider | MOSFET Module (BSS138) | Buffer Chip (74LVC245) |
|---|---|---|---|
| Complexity | Simplest (2 parts) | Simple (Module) | Moderate (IC) |
| Direction | 5V $\rightarrow$ 3.3V Only | Bi-Directional | 3.3V $\rightarrow$ 5V (Usually) |
| Speed | Slow (<100 kHz) | Medium (<2 MHz) | Fast (>100 MHz) |
| Best For | UART RX, Sensors | I2C, SPI, General Dev | LED Strips, High Speed SPI |
| Cost | < $0.01 | ~ $0.50 | ~ $0.80 |
Conclusion
So, what is the simplest level shifter?
- If you just need to connect a 5V sensor to a Raspberry Pi, grab two resistors and build a divider. It’s the "penny" solution.
- If you are connecting I2C devices or want a foolproof tool for your workbench, buy a Bi-Directional MOSFET Module.
Sourcing Components Need resistors, BSS138 MOSFETs, or 74LVC245 chips? Visit Aichiplink.com to find stock from verified distributors.

Written by Jack Elliott from AIChipLink.
AIChipLink, one of the fastest-growing global independent electronic components distributors in the world, offers millions of products from thousands of manufacturers, and many of our in-stock parts is available to ship same day.
We mainly source and distribute integrated circuit (IC) products of brands such as Broadcom, Microchip, Texas Instruments, Infineon, NXP, Analog Devices, Qualcomm, Intel, etc., which are widely used in communication & network, telecom, industrial control, new energy and automotive electronics.
Empowered by AI, Linked to the Future. Get started on AIChipLink.com and submit your RFQ online today!
Frequently Asked Questions
What is the absolute simplest level shifter circuit?
The absolute simplest is the **Voltage Divider**, which uses two resistors to step 5V signals down to 3.3V. However, it is uni-directional and slow.
Can I use a resistor to convert 3.3V to 5V?
**No.** Resistors can only reduce voltage (step-down). To convert 3.3V up to 5V, you need an active component like a MOSFET or a logic buffer chip (e.g., 74LVC245).
Do I need a level shifter for I2C?
**Yes.** Connecting a 5V I2C device to a 3.3V master (like Raspberry Pi) without a shifter can damage the master. You must use a **Bi-Directional MOSFET shifter** because I2C lines need to pull current in both directions.
Can I connect 3.3V to 5V without a level shifter?
Sometimes. Some 5V chips (like the ATmega328P on Arduino) will register 3.3V as a "High" signal (Logic 1), so you *might* get away with connecting a 3.3V output directly to a 5V input. However, connecting a 5V output to a 3.3V input is almost always dangerous.




