Features:
- LCD Display:
- 16 characters × 2 lines
- White text on a blue backlight for improved visibility
- 5V supply voltage
- Compact size: 98 x 60 x 12mm
- I2C Interface Module:
- Supply voltage: 5V
- Potentiometer for adjusting backlight and contrast
- 2 I2C interfaces – connect via Dupont lines or I2C cables
- Compatible with 1602 and 2004 LCDs
Principle of Work:
The LCD operates by manipulating the polarization of light through a liquid crystal layer using an electric field. The I2C module enables serial communication with microcontrollers using just two lines: SDA (data) and SCL (clock). Address pins (A0–A2) allow multiple displays on a single bus.
Pinout:

- VCC: Power supply (5V)
- GND: Ground
- SDA: Serial Data Line
- SCL: Serial Clock Line
- A0, A1, A2: I2C address selection pins
- Potentiometer: Adjusts contrast and backlight
Applications:
- Embedded systems (IoT, home automation, wearables)
- Robotics (status/sensor display)
- Consumer electronics (MP3 players, cameras, consoles)
- Instrumentation and control systems
- Educational development and prototyping
Circuit Diagram:

Connection to Arduino Uno:
- VCC → 5V
- GND → GND
- SDA → A4
- SCL → A5
Library Installation:
- Open Arduino IDE
- Go to Sketch > Include Library > Manage Libraries
- Search for
LiquidCrystal_I2C
- Click "Install"
- Include the library in your sketch
Example Code:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
Serial.begin(9600);
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Hello, world!");
}
void loop() {
if (Serial.available() > 0) {
String input = Serial.readString();
lcd.clear();
lcd.print(input);
}
}
Technical Details:
- Display:
- 16 characters x 2 rows
- Blue backlight with white characters
- Character size: 2.95mm x 4.35mm
- Character pixels: 5x7
- Voltage: 5V ± 0.5V
- Current: ~2mA @ 5V
- Dimensions: 80 x 36 x 13 mm
- Temperature range: 0°C to 55°C
- I2C PCF8574 Module:
- Voltage: 5V
- I2C address configurable via A0–A2
- Compatible with 1602/2004 displays
- Adjustable contrast and brightness
- 2 I2C interfaces (Dupont or dedicated cable)
- Operating temp: 0°C to 55°C
Comparison with Non-I2C LCD:
A standard 16x2 LCD without I2C requires many digital pins (typically 6–10) for operation. The I2C version reduces this to just 2 pins (SDA and SCL), simplifying wiring and freeing up valuable microcontroller I/O. It's more compact, easier to use, and scalable for larger projects.
Features:
- LCD Display:
- 16 characters × 2 lines
- White text on a blue backlight for improved visibility
- 5V supply voltage
- Compact size: 98 x 60 x 12mm
- I2C Interface Module:
- Supply voltage: 5V
- Potentiometer for adjusting backlight and contrast
- 2 I2C interfaces – connect via Dupont lines or I2C cables
- Compatible with 1602 and 2004 LCDs
Principle of Work:
The LCD operates by manipulating the polarization of light through a liquid crystal layer using an electric field. The I2C module enables serial communication with microcontrollers using just two lines: SDA (data) and SCL (clock). Address pins (A0–A2) allow multiple displays on a single bus.
Pinout:

- VCC: Power supply (5V)
- GND: Ground
- SDA: Serial Data Line
- SCL: Serial Clock Line
- A0, A1, A2: I2C address selection pins
- Potentiometer: Adjusts contrast and backlight
Applications:
- Embedded systems (IoT, home automation, wearables)
- Robotics (status/sensor display)
- Consumer electronics (MP3 players, cameras, consoles)
- Instrumentation and control systems
- Educational development and prototyping
Circuit Diagram:

Connection to Arduino Uno:
- VCC → 5V
- GND → GND
- SDA → A4
- SCL → A5
Library Installation:
- Open Arduino IDE
- Go to Sketch > Include Library > Manage Libraries
- Search for
LiquidCrystal_I2C
- Click "Install"
- Include the library in your sketch
Example Code:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
Serial.begin(9600);
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Hello, world!");
}
void loop() {
if (Serial.available() > 0) {
String input = Serial.readString();
lcd.clear();
lcd.print(input);
}
}
Technical Details:
- Display:
- 16 characters x 2 rows
- Blue backlight with white characters
- Character size: 2.95mm x 4.35mm
- Character pixels: 5x7
- Voltage: 5V ± 0.5V
- Current: ~2mA @ 5V
- Dimensions: 80 x 36 x 13 mm
- Temperature range: 0°C to 55°C
- I2C PCF8574 Module:
- Voltage: 5V
- I2C address configurable via A0–A2
- Compatible with 1602/2004 displays
- Adjustable contrast and brightness
- 2 I2C interfaces (Dupont or dedicated cable)
- Operating temp: 0°C to 55°C
Comparison with Non-I2C LCD:
A standard 16x2 LCD without I2C requires many digital pins (typically 6–10) for operation. The I2C version reduces this to just 2 pins (SDA and SCL), simplifying wiring and freeing up valuable microcontroller I/O. It's more compact, easier to use, and scalable for larger projects.