Skip to content
Home > Components > Displays > LCD 16x2 (Parallel)

LCD 16x2 (Parallel)

Standard 16-character by 2-line alphanumeric display utilizing the classic Hitachi HD44780 parallel interface.

Component Preview

LCD 16x2 Parallel16x2 LCD

A classic alphanumeric liquid crystal display based on the HD44780 controller. It can display 16 characters per line across 2 lines. This version uses a parallel interface requiring at least 6 digital pins.

DisplaysParallelText

Overview

The LCD 16x2 is one of the most common display modules for microcontrollers. Because it doesn't use an I2C backpack, you must wire 6 digital lines (in 4-bit mode) directly to the Arduino, plus power and contrast lines.

Pin Reference

PinTypeDescription
VSSpowerGround (GND).
VDDpowerPower (5V).
V0analogContrast Adjustment. Usually connected to a potentiometer.
RSdigitalRegister Select (0 = Instruction, 1 = Data).
RWdigitalRead/Write. Tie to GND for Write-only.
EdigitalEnable signal.
D0-D3digitalLower data pins (not used in standard 4-bit mode).
D4-D7digitalHigher data pins (used for both 4-bit and 8-bit modes).
ApowerBacklight Anode (+5V).
KpowerBacklight Cathode (GND).

Configurable Attributes

AttributeTypeDefaultDescription
colorstringblueThe backlight color in the simulator (e.g., blue or green).

Wiring Diagram (4-bit Mode)

Wiring Diagram

Example Arduino Code

This uses the standard Arduino LiquidCrystal library built into the IDE.

cpp
#include <LiquidCrystal.h>

// Initialize the library with the numbers of the interface pins
// LiquidCrystal(rs, enable, d4, d5, d6, d7)
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  // Set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  
  // Print a message to the LCD.
  lcd.print("Hello World!");
}

void loop() {
  // Set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 1);
  
  // Print the number of seconds since reset:
  lcd.print(millis() / 1000);
}

Simulation Notes

  • The simulator automatically assumes max contrast if V0 is wired directly to ground.
  • You can leave D0-D3 completely disconnected in the simulator when using 4-bit mode.

Released under the MIT License.