Random Nerd Tutorials

How to Level Shift 5V to 3.3V


In this tutorial, I show how you can shift a signal from 5V to 3.3V. This is very useful if you want to connect an Arduino (operates at 5V) to an ESP8266 (operates at 3.3V).

The following Figure describes what we want to accomplish by the end of this tutorial.

FEATURED level shifter - Copy

Method #1 – Voltage Divider

Warning: This method works for slow signals, but it’s not very reliable. I recommend using Method #2.

A voltage divider is a simple circuit which reduces a large voltage into a smaller one.

Using 2 resistors and an input voltage, we can create an output voltage that is a fraction of the input. Below you can see the formula that you need to use to calculate the resistors that you need in your circuit:

voltage divider equation

Solving the formula above with Vin=5V, R1=1000ohms and Vout=3.3V.

We get R2~=2000ohms.

voltage divider

So, here’s how the final circuit looks like:

voltage divider circuit

Method #2 – Bi-Directional Logic Level Converter

A Bi-Directional Logic Level Converter (LLC) also reduces the voltage from a signal. This the recommended method to level shift signals that require high speed communication (serial at a high baud rate, I2C, etc…).

You can check this page to find the bi-directional logic level converter module best price.



You simply connect the signal with the High Voltage to the HV pins and it outputs the signal with the lower voltage on the other side (LV). With the board shown in the Figure above you have 4 channels available.

Do you have any questions? Leave a comment down below!

Thanks for reading. If you like this post probably you might like my next ones, so please support me by subscribing my blog and my Facebook Page.

Learn ESP32 with Arduino IDE

This is our complete guide to program the ESP32 with Arduino IDE, including projects, tips, and tricks! The registrations are open, so SIGN UP NOW »

Recommended Resources

Home Automation using ESP8266 »
Build IoT projects and home automation gadgets with the ESP8266 Wi-Fi module.

Build a Home Automation System »
Learn how to build a automation system using open-source hardware and software from scratch.

Arduino Step-by-Step Projects »
Build 25 cool Arduino projects with our course even with no prior experience!

Leave a Comment:

Add Your Reply

Enroll in our Electronics and Programming Courses:

ESP32, ESP8266, Arduino and much more.