What Is the HD44780? Character LCD Controller: Pinout and Uses
The HD44780 is the standard controller for character (alphanumeric) LCDs; almost every 16×2 and 20×4 LCD runs on it. It connects over a 4/8-bit parallel interface; to save pins it is usually reduced to 2 lines with a PCF8574-based I2C backpack. The most common issue is the contrast (V0) setting.
The HD44780 is the standard controller for alphanumeric (character) LCD displays. Almost every 16×2 and 20×4 character LCD on the market runs on this controller (or a compatible one). For the concept, see what is an LCD display.
What is the HD44780 used for?
Driving character LCDs such as 16×2 to show text/menus/values. It connects over a 4-bit or 8-bit parallel interface; to save pins it is usually reduced to 2 lines with a PCF8574-based I2C "backpack".
LCD interface pins (16 pins)
| Pin | Function |
|---|---|
| 1–2 | VSS (GND), VDD (+5 V) |
| 3 | V0 (contrast — via pot) |
| 4 | RS (command/data select) |
| 5 | RW (read/write — usually GND) |
| 6 | E (enable) |
| 7–14 | D0–D7 (data; D4–D7 in 4-bit mode) |
| 15–16 | A, K (backlight +/−) |
Watch out: contrast (V0)
The most common "blank/not working" complaint is the contrast setting: if V0 (pin 3) is not adjusted with a potentiometer, the characters are invisible. Even if the backlight is on, wrong contrast shows no text.
Limitations
- Character/text only (no graphics); for graphics use an OLED/TFT (SSD1306).
- The parallel interface needs many pins → an I2C backpack (PCF8574) is the practical fix.
Equivalents and alternatives
- KS0066 / SPLC780: HD44780-compatible controllers.
- I2C LCD backpack (PCF8574): reduces to 2 lines.
- SSD1306 OLED: if you need graphics.
Find it in our catalog
Use the HD44780 search.