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






Quick Overview
This 20x4 character LCD display features a vibrant blue backlight with I2C interface for simple 4-wire connection. With 80 characters total (20 columns × 4 rows), it provides ample display space for menus, sensor data, and status information in Arduino, ESP32, ESP8266, and Raspberry Pi projects.
The built-in potentiometer allows easy contrast adjustment without additional components, ensuring optimal readability in various lighting conditions. Perfect for data logging, control panels, and information displays.
Key Features
- Large 20x4 Display: 80 characters (20 columns × 4 rows)
- Vibrant Blue Backlight: Bright illumination with white characters
- Adjustable Contrast: Built-in potentiometer for optimal readability
- Easy I2C Interface: 4-wire connection saves GPIO pins
- Wide Compatibility: Arduino, ESP32, ESP8266, Raspberry Pi, MicroPython
- Space-Saving: I2C reduces wiring complexity
- Beginner-Friendly: Comprehensive tutorials provided
- Versatile Applications: Data displays, control panels, information systems
SPECIFICATION
| Specification | Value |
|---|---|
| Product Type | LCD Character Display with I2C |
| Display Size | 20x4 (20 columns, 4 rows) |
| Backlight Color | Blue |
| Interface | I2C (4 wires) |
| Supply Voltage | +5V |
| 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-2004-i2c-20x4-display-blue-backlight
*/
#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
- MicroPython compatible boards
- Any 5V or 3.3V microcontroller with I2C interface









