DIYables LCD 20x4 Display I2C Interface for Arduino, ESP32, ESP8266, Raspberry Pi

LCD
Buy on Amazon
20x4 character LCD display with I2C interface and blue backlight Click to zoom
20x4 character LCD display with I2C interface and blue backlightLCD 20x4 I2C module showing white characters on blue backgroundI2C LCD 2004 display with adjustable contrast potentiometer20-column 4-row LCD display for Arduino ESP32 projects

Quick Overview

This 20x4 character LCD display features an I2C interface for simple 4-wire connection, reducing pin usage on your microcontroller. With 20 columns and 4 rows, it provides 80 characters of display space for menus, sensor data, and status information.

The blue backlight with white characters offers excellent readability, and the built-in potentiometer allows contrast adjustment. The programmable backlight control enables power-saving features in your projects.

Key Features

  • 20x4 Character Display: 80 characters total (20 columns × 4 rows)
  • I2C Interface: Simple 4-wire connection (VCC, GND, SDA, SCL)
  • Blue Backlight: White characters on blue background
  • Adjustable Contrast: Built-in potentiometer for contrast control
  • Programmable Backlight: ON/OFF control via code
  • 5V Operation: +5V supply voltage
  • Wide Compatibility: Works with 5V and 3.3V logic microcontrollers

SPECIFICATION

Specification Value
Product Type LCD Character Display
Display Size 20x4 (20 columns, 4 rows)
Interface I2C (4 wires)
Supply Voltage +5V
Backlight Color Blue
Character Color White
Contrast Adjustment Potentiometer
Backlight Control Programmable ON/OFF

Arduino Example Code

/* * This code is created by DIYables.io * This code is released in the public domain * For more detail, visit https://diyables.io/products/lcd-20x4-display-i2c-interface */ #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 20, 4); // I2C address 0x27, 20 column and 4 rows void setup() { lcd.init(); // initialize the lcd lcd.backlight(); lcd.setCursor(0, 0); // move cursor the first row lcd.print("LCD 20x4"); // print message at the first row lcd.setCursor(0, 1); // move cursor to the second row lcd.print("I2C Address: 0x27"); // print message at the second row lcd.setCursor(0, 2); // move cursor to the third row lcd.print("DIYables"); // print message at the third row lcd.setCursor(0, 3); // move cursor to the fourth row lcd.print("www.diyables.io"); // print message the fourth row } void loop() { }

COMPATIBLE HARDWARE

  • Arduino boards (UNO, Mega, Nano, etc.)
  • ESP32 development boards
  • ESP8266 (NodeMCU, Wemos D1, etc.)
  • Raspberry Pi (all models)
  • Raspberry Pi Pico
  • Any 5V or 3.3V microcontroller with I2C interface