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



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 |
Tutorials
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









