ESP32: How to Interface LCD With ESP32 Microcontroller Development Board

Hello World!

In this Instructables we will be learning how to interface a 16x2 LCD with the ESP32 Microcontroller Board. There are currently no tutorials online on how to interface it, so I decided to share with you my experience and knowledge on how to connect this together!

The LCD display is one of the most versatile electronic component in the maker market so it is wise to learn how to interface it so as to apply his knowledge to many other applications that you will discover as a maker.

Let's get started!

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: BoM

* ESP32 Microcontroller Development Board

* 16x2 LCD

* A Lot of Jumper Wires

* Potentiometer

Step 2: Connections

Follow the table below for a concise and comprehensive guide on how to connect all the pins of the LCD screen to both the potentiometer and the ESP32 micro controller development board

LCD PinPotentiometer Pin ESP32 Pin
1 and 16 1 GND
2 and 1533.3V
32 - Signal pin

Step 3: Code

#include <LiquidCrystal.h>
LiquidCrystal lcd(22,23,5,18,19,21);
void setup()
    lcd.begin(16, 2);
    lcd.print("How to Interface");

    // go to row 1 column 0, note that this is indexed at 0
    lcd.print ("LCD with ESP32");
void loop(){}

Step 4: Contrast Control

Turn the knob of the potentiometer to change the contrast of the LCD. When you first upload the program onto the ESP32 board you may find that you're not seeing anything on the display, this is likely because the contrast is not set properly.

Turn the knob until you can see the display clearly.

Makerspace Contest 2017

Participated in the
Makerspace Contest 2017

Be the First to Share


    • Made with Math Contest

      Made with Math Contest
    • Multi-Discipline Contest

      Multi-Discipline Contest
    • Robotics Contest

      Robotics Contest

    6 Discussions


    4 weeks ago

    What a shame, this would have been a great instructable except for the fact it is impossible to follow - look at the pin table, which is the only real information in this instructable and it is all over the shop - I mean what potentiometer has 13 pins? LOL.

    If any one works it out please let us all in on the "trick".


    2 months ago on Step 4

    I changed pin 2 to 5v and started to work


    5 months ago

    Not working !!!

    I have a ESP32 DevKit 1 and I connected to LCD 1602A,
    I even connected to 5V to pin 2 GND to Pin 1 of the LCD screen, and the Potentiometer connected to 5v, GND and the middle to Pin 3 of LCD.

    The connections RS, EN and pin 11,12,13 and 14 were connected to. Still not working.


    1 year ago

    Hi and thank you for the guide. I got a bit confused with "2-signal" for lcd pin 3. I supposed the it would go to potentiometer and from there to esp32 gnd. Am I missing something? Thank you


    1 year ago


    Do you use a LCD1604 5v ? I don"t see any comment about the issue 5v/3.3v. ESP32 works with 3.3v but common LCD1604 works with 5v. How do you manage that ??


    1 reply