Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use lcd 20*4: Examples, Pinouts, and Specs

Image of lcd 20*4
Cirkit Designer LogoDesign with lcd 20*4 in Cirkit Designer

Introduction

The 20x4 LCD (Liquid Crystal Display) is a versatile display module capable of showing 20 characters per line across 4 lines. It is widely used in embedded systems for displaying text, numeric data, and simple graphics. This module is ideal for applications requiring a clear and compact display, such as industrial control panels, home automation systems, and educational projects. The LCD 20x4 can be interfaced using either a parallel or serial communication protocol, making it compatible with a variety of microcontrollers, including Arduino boards.

Explore Projects Built with lcd 20*4

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
I2C LCD Display Module with Power Supply Interface
Image of J8 +j22 lcd closeup: A project utilizing lcd 20*4 in a practical application
This circuit interfaces a 20x4 I2C LCD display with a power source and an I2C communication bus. The LCD is powered by a 4.2V supply from a connector and communicates via I2C through another connector, which provides the SCL and SDA lines as well as ground.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Controlled I2C LCD Display
Image of LCD_I2C: A project utilizing lcd 20*4 in a practical application
This circuit connects an ESP32 microcontroller to a 20x4 LCD display with an I2C interface. The ESP32 powers the LCD and communicates with it using the I2C protocol, with D21 and D22 pins serving as the data (SDA) and clock (SCL) lines, respectively. The circuit is designed to display information or user interface elements controlled by the ESP32.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO I2C 20x4 LCD Display Project
Image of sample: A project utilizing lcd 20*4 in a practical application
This circuit consists of an Arduino UNO microcontroller connected to a 20x4 I2C LCD display. The Arduino provides power and communicates with the LCD via I2C protocol to display static text messages across its four rows.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32 and I2C LCD Display for Data Visualization
Image of layar20x4I2C: A project utilizing lcd 20*4 in a practical application
This circuit consists of an ESP32 Devkit V1 microcontroller connected to a 20x4 I2C LCD display. The ESP32 controls the LCD via I2C communication, with the SCL and SDA lines connected to GPIO pins D22 and D21, respectively, and provides power and ground connections to the display.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with lcd 20*4

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of J8 +j22 lcd closeup: A project utilizing lcd 20*4 in a practical application
I2C LCD Display Module with Power Supply Interface
This circuit interfaces a 20x4 I2C LCD display with a power source and an I2C communication bus. The LCD is powered by a 4.2V supply from a connector and communicates via I2C through another connector, which provides the SCL and SDA lines as well as ground.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of LCD_I2C: A project utilizing lcd 20*4 in a practical application
ESP32-Controlled I2C LCD Display
This circuit connects an ESP32 microcontroller to a 20x4 LCD display with an I2C interface. The ESP32 powers the LCD and communicates with it using the I2C protocol, with D21 and D22 pins serving as the data (SDA) and clock (SCL) lines, respectively. The circuit is designed to display information or user interface elements controlled by the ESP32.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of sample: A project utilizing lcd 20*4 in a practical application
Arduino UNO I2C 20x4 LCD Display Project
This circuit consists of an Arduino UNO microcontroller connected to a 20x4 I2C LCD display. The Arduino provides power and communicates with the LCD via I2C protocol to display static text messages across its four rows.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of layar20x4I2C: A project utilizing lcd 20*4 in a practical application
ESP32 and I2C LCD Display for Data Visualization
This circuit consists of an ESP32 Devkit V1 microcontroller connected to a 20x4 I2C LCD display. The ESP32 controls the LCD via I2C communication, with the SCL and SDA lines connected to GPIO pins D22 and D21, respectively, and provides power and ground connections to the display.
Cirkit Designer LogoOpen Project in Cirkit Designer

Technical Specifications

  • Display Type: Character LCD
  • Resolution: 20 characters x 4 lines
  • Operating Voltage: 4.7V to 5.3V
  • Current Consumption: 1mA (without backlight), ~15mA (with backlight)
  • Interface: Parallel (4-bit or 8-bit mode) or I2C (with adapter)
  • Backlight: LED backlight (usually white or green)
  • Character Size: 5x8 dot matrix
  • Operating Temperature: -20°C to 70°C
  • Dimensions: ~98mm x 60mm x 12mm

Pin Configuration and Descriptions

The LCD 20x4 typically has 16 pins for parallel communication. If an I2C adapter is used, only 4 pins are required.

Parallel Interface Pinout

Pin No. Name Description
1 VSS Ground (0V)
2 VDD Power supply (4.7V to 5.3V)
3 VO Contrast adjustment (connect to a potentiometer)
4 RS Register Select (0: Command mode, 1: Data mode)
5 RW Read/Write (0: Write, 1: Read)
6 E Enable signal (triggers data read/write)
7-14 D0-D7 Data pins (used for 4-bit or 8-bit communication)
15 A Backlight anode (connect to 5V via a resistor)
16 K Backlight cathode (connect to ground)

I2C Interface Pinout (with Adapter)

Pin No. Name Description
1 GND Ground (0V)
2 VCC Power supply (4.7V to 5.3V)
3 SDA Serial Data Line (connect to microcontroller's SDA pin)
4 SCL Serial Clock Line (connect to microcontroller's SCL pin)

Usage Instructions

Using the LCD 20x4 in a Circuit

  1. Power Supply: Connect the VSS pin to ground and the VDD pin to a 5V power source.
  2. Contrast Adjustment: Connect the VO pin to the wiper of a 10kΩ potentiometer. Connect one end of the potentiometer to ground and the other to 5V. Adjust the potentiometer to set the display contrast.
  3. Communication Mode:
    • For parallel mode, connect the RS, RW, E, and data pins (D0-D7) to the microcontroller.
    • For I2C mode, connect the SDA and SCL pins to the corresponding microcontroller pins.
  4. Backlight: Connect the A pin to 5V through a 220Ω resistor and the K pin to ground.
  5. Code Implementation: Use a suitable library (e.g., LiquidCrystal for parallel mode or LiquidCrystal_I2C for I2C mode) to control the LCD.

Example Code for Arduino (I2C Mode)

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

// Initialize the LCD with I2C address 0x27 and dimensions 20x4
LiquidCrystal_I2C lcd(0x27, 20, 4);

void setup() {
  lcd.init(); // Initialize the LCD
  lcd.backlight(); // Turn on the backlight
  lcd.setCursor(0, 0); // Set cursor to the first column of the first row
  lcd.print("Hello, World!"); // Display text on the LCD
  lcd.setCursor(0, 1); // Move to the second row
  lcd.print("LCD 20x4 Demo"); // Display additional text
}

void loop() {
  // No actions in the loop for this example
}

Important Considerations

  • Ensure the power supply voltage is within the specified range to avoid damage.
  • Use pull-up resistors for the SDA and SCL lines when using I2C communication.
  • Avoid excessive backlight current by using an appropriate resistor.
  • For parallel mode, unused data pins (D0-D3 in 4-bit mode) should be grounded.

Troubleshooting and FAQs

Common Issues

  1. No Display on the Screen:

    • Check the power connections (VSS and VDD).
    • Adjust the contrast using the potentiometer connected to VO.
    • Verify the backlight connections (A and K).
  2. Garbled or No Text:

    • Ensure the correct communication mode (4-bit, 8-bit, or I2C) is configured in the code.
    • Double-check the wiring between the microcontroller and the LCD.
    • Verify the I2C address if using an I2C adapter (common addresses are 0x27 or 0x3F).
  3. Backlight Not Working:

    • Check the resistor value connected to the A pin.
    • Ensure the backlight pins (A and K) are properly connected.

FAQs

  • Q: Can I use the LCD 20x4 with a 3.3V microcontroller?
    A: Yes, but you will need a level shifter or a 5V-tolerant I2C adapter for proper operation.

  • Q: How do I find the I2C address of my LCD?
    A: Use an I2C scanner sketch to detect the address. This is especially useful if the default address (0x27) does not work.

  • Q: Can I display custom characters on the LCD?
    A: Yes, the LCD supports custom characters. Use the createChar() function in the LiquidCrystal or LiquidCrystal_I2C library to define and display them.

By following this documentation, you can effectively integrate and troubleshoot the LCD 20x4 in your projects.