DIYables LCD I2C 16x2

LCD
Buy on Amazon
16x2 character LCD display with I2C interface module Click to zoom
16x2 character LCD display with I2C interface moduleLCD I2C 1602 front view showing character displayLCD 16x2 with adjustable contrast potentiometerLCD I2C module connected to Arduino for text display16x2 LCD I2C display connected to ESP32 development boardLCD I2C 16x2 2-pack in retail packagingTwo-piece LCD I2C 1602 module set for projects

Quick Overview

This 2-pack of 16x2 character LCD displays features I2C interface for easy connection with just 4 wires. Each display shows 2 lines of 16 characters (32 characters total) with adjustable contrast and programmable backlight control.

The I2C interface reduces wiring complexity and saves GPIO pins on your microcontroller. With I2C address 0x27, these displays are ideal for sensor readouts, menus, status displays, and data monitoring in Arduino, ESP32, and Raspberry Pi projects.

Key Features

  • 2-Pack Included: Two 16x2 LCD I2C modules
  • I2C Interface: Simple 4-wire connection (VCC, GND, SDA, SCL)
  • 16x2 Display: 32 characters (16 columns × 2 rows)
  • Adjustable Contrast: Built-in potentiometer
  • Programmable Backlight: ON/OFF control via code
  • Standard I2C Address: 0x27
  • Compact Size: 78mm × 34mm × 13mm (L × W × H)
  • 5V Power Supply: +5V operation

SPECIFICATION

Specification Value
Product Type LCD Character Display with I2C
Quantity 2 pieces
Display Size 16x2 (16 columns, 2 rows)
Interface I2C (4 wires)
I2C Address 0x27
Supply Voltage +5V
Contrast Adjustment Potentiometer
Backlight Control Programmable ON/OFF
Dimensions 78mm × 34mm × 13mm (L × W × H)

INTERFACE

  • VCC pin: the power supply for the LCD, connect this pin to VCC (5V).
  • GND pin: connect this pin to GND (0V).
  • SCL pin: I2C clock signal pin, connect this pin to SCL of microcontroller
  • SDA pin: I2C data signal pin, connect this pin to SDA of microcontroller

Arduino Example Code

Arduino Example Code - backlight disabled

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

Arduino Example Code - backlight enabled

/* * This code is created by DIYables.io * This code is released in the public domain * For more detail, visit https://diyables.io/products/lcd-i2c-16x2 */ #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27, 16 column and 2 rows void setup() { lcd.init(); // initialize the lcd lcd.backlight(); lcd.setCursor(3, 0); // move cursor to (3, 0) lcd.print("DIYables"); // print message at (3, 0) lcd.setCursor(0, 1); // move cursor to (0, 1) lcd.print("www.diyables.io"); // print message at (0, 1) } 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