

The 1602A 16x2 LCD is a character liquid crystal display module manufactured by Tinsharp. It features a display area capable of showing 16 characters per line across 2 lines, making it ideal for text-based output in embedded systems. This module is widely used due to its simplicity, low power consumption, and compatibility with microcontrollers like the Arduino UNO.








The following table outlines the key technical details of the 1602A LCD module:
| Parameter | Specification |
|---|---|
| Manufacturer | Tinsharp |
| Part ID | 1602A |
| Display Type | Character LCD |
| Display Format | 16 characters x 2 lines |
| Operating Voltage | 4.7V to 5.3V |
| Operating Current | 1.5mA (typical) |
| Backlight Voltage | 4.2V to 4.6V |
| Backlight Current | 120mA (typical) |
| Character Size | 5.2mm x 8.5mm |
| Interface Type | Parallel (4-bit or 8-bit mode) |
| Operating Temperature | -20°C to +70°C |
| Storage Temperature | -30°C to +80°C |
The 1602A LCD module has a 16-pin interface. The table below describes each pin:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | VSS | Ground (0V) |
| 2 | VDD | Power supply (4.7V to 5.3V) |
| 3 | VO | Contrast adjustment (connect to a potentiometer for contrast control) |
| 4 | RS | Register Select (0: Command mode, 1: Data mode) |
| 5 | RW | Read/Write control (0: Write, 1: Read) |
| 6 | E | Enable signal (used to latch data) |
| 7 | D0 | Data bit 0 (used in 8-bit mode; leave unconnected in 4-bit mode) |
| 8 | D1 | Data bit 1 (used in 8-bit mode; leave unconnected in 4-bit mode) |
| 9 | D2 | Data bit 2 (used in 8-bit mode; leave unconnected in 4-bit mode) |
| 10 | D3 | Data bit 3 (used in 8-bit mode; leave unconnected in 4-bit mode) |
| 11 | D4 | Data bit 4 (used in both 4-bit and 8-bit modes) |
| 12 | D5 | Data bit 5 (used in both 4-bit and 8-bit modes) |
| 13 | D6 | Data bit 6 (used in both 4-bit and 8-bit modes) |
| 14 | D7 | Data bit 7 (used in both 4-bit and 8-bit modes) |
| 15 | A (LED+) | Backlight anode (connect to 5V through a resistor) |
| 16 | K (LED-) | Backlight cathode (connect to ground) |
Below is an example of how to connect the 1602A LCD to an Arduino UNO in 4-bit mode:
| 1602A Pin | Arduino Pin |
|---|---|
| VSS | GND |
| VDD | 5V |
| VO | Potentiometer |
| RS | Pin 12 |
| RW | GND |
| E | Pin 11 |
| D4 | Pin 5 |
| D5 | Pin 4 |
| D6 | Pin 3 |
| D7 | Pin 2 |
| A (LED+) | 5V (via 220Ω) |
| K (LED-) | GND |
#include <LiquidCrystal.h>
// Initialize the library with the pins connected to the LCD
// (RS, E, 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() {
// Move the cursor to the second line
lcd.setCursor(0, 1);
// Print a dynamic message
lcd.print("Arduino Rocks!");
delay(1000);
// Clear the second line
lcd.setCursor(0, 1);
lcd.print(" "); // Clear the line
delay(1000);
}
No Display on the Screen:
Garbled or No Text:
Backlight Not Working:
Flickering or Unstable Display:
Q: Can I use the 1602A LCD with a 3.3V microcontroller?
A: The 1602A is designed for 5V operation. You can use a level shifter or voltage divider for compatibility with 3.3V systems.
Q: How do I display custom characters?
A: The 1602A supports custom characters using the CGRAM. Refer to the HD44780 controller datasheet for details.
Q: Can I control the backlight brightness?
A: Yes, you can use a PWM signal from a microcontroller to control the backlight brightness via the A (LED+) pin.
Q: Is the 1602A compatible with I2C?
A: The 1602A itself is not I2C-compatible, but you can use an I2C backpack module to enable I2C communication.