16×2 Character LCD (HD44780)¶
The classic 1602 character display. Yellow-green or blue backlight. Runs in 4-bit parallel mode (D4–D7 + RS + E + RW). Or use the I²C backpack (PCF8574) to drop wiring to 4 pins (SDA, SCL, VCC, GND).
In stock
Hitachi
1 files · 322 KB
Specs¶
| Spec | Value |
|---|---|
| Controller | HD44780 (or compatible) |
| Characters | 16 columns × 2 rows |
| Char matrix | 5×8 pixels |
| Modes | 4-bit or 8-bit parallel |
| Voltage | 5 V (logic + backlight) |
| Current | ~25 mA (backlight on) |
Pinout (16-pin header)¶
| Pin | Symbol | Function |
|---|---|---|
| 1 | VSS | GND |
| 2 | VDD | 5 V |
| 3 | V0 | Contrast (10 kΩ pot between 5 V and GND, wiper to V0) |
| 4 | RS | Register select (cmd / data) |
| 5 | RW | Read / write (tie to GND for write-only) |
| 6 | E | Enable strobe |
| 7–10 | D0–D3 | Data bus (unused in 4-bit) |
| 11–14 | D4–D7 | Data bus |
| 15 | A | Backlight + (through 220 Ω) |
| 16 | K | Backlight GND |
Wiring (4-bit, Arduino Uno)¶
| LCD | Arduino |
|---|---|
| RS | D12 |
| E | D11 |
| D4 | D5 |
| D5 | D4 |
| D6 | D3 |
| D7 | D2 |
Code¶
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
lcd.begin(16, 2);
lcd.print("circuit.rocks");
lcd.setCursor(0, 1);
lcd.print("hello, hacker");
}
void loop() {}
For the I²C backpack version, use LiquidCrystal_I2C and pass the address (0x27 or 0x3F).
Schematic¶
HD44780 application circuit on page 12 of the datasheet PDF.
Last updated: 2026-05-13 · Source on GitHub