Stufin
Home Quick Cart Profile

Original JHD 16x2 Character LCD Display- Blue

Buy Now on Stufin

Component Name

Original JHD 16x2 Character LCD Display - Blue

Overview

The Original JHD 16x2 Character LCD Display - Blue is a high-quality liquid crystal display (LCD) module designed for use in a variety of applications, including robotics, automation, and IoT projects. This display module is a popular choice among makers and professionals alike, offering a compact and reliable solution for displaying text and characters.

Functionality

The JHD 16x2 LCD Display is a character-based display that can show up to 16 characters per line, with a total of 2 lines. It uses an ST7066U controller/driver, which allows for easy interface with microcontrollers and other devices. The display operates in a 5x7 dot matrix format, providing a clear and crisp display of text and characters.

Key Features

  • Display Size: 16 characters per line, 2 lines (32 characters total)
  • Display Type: STN (Super-Twist Nematic) LCD with blue backlight
  • Controller/Driver: ST7066U
  • Interface: 8-bit parallel interface, compatible with 4-bit and 8-bit microcontrollers
  • Power Supply: 5V single power supply
  • Operating Temperature: -20C to 70C
  • Storage Temperature: -30C to 80C
  • Dimensions: 80.0 mm x 36.0 mm x 14.0 mm (L x W x H)
  • Weight: Approximately 40g
  • Mounting: Standard 14-pin header for easy mounting and integration

Display Modes

The JHD 16x2 LCD Display supports the following display modes

Normal Mode

Displays text and characters in a 16x2 matrix format

Cursor Mode

Allows for cursor movement and editing of displayed text

Blink Mode

Enables blinking of the cursor or entire display

Commands

The display accepts a range of commands for controlling the display, including

Clear Display

Clears the entire display

Return Home

Returns the cursor to the home position

Entry Mode Set

Sets the entry mode for cursor movement and display

Display Control

Controls the display on/off, cursor on/off, and blink on/off

Shift

Shifts the display left or right

Cursor Move

Moves the cursor left or right

Character Generation

Generates custom characters using a 5x7 dot matrix format

Applications

The Original JHD 16x2 Character LCD Display - Blue is suitable for a wide range of applications, including

Robotics and automation projects

IoT devices and sensor displays

Industrial control systems

Medical devices and equipment

Consumer electronics and appliances

Conclusion

The Original JHD 16x2 Character LCD Display - Blue is a versatile and reliable display module ideal for a variety of applications. With its compact size, clear display, and easy interface, it is a popular choice among makers and professionals.

Pin Configuration

  • Original JHD 16x2 Character LCD Display - Blue: Pin Description and Connection Guide
  • The Original JHD 16x2 Character LCD Display - Blue is a widely used LCD module in IoT projects. It features a 16x2 character display, which means it can display 16 characters per line and has 2 lines in total. The module has a blue backlight and uses the HD44780U controller/driver. Here's a detailed description of each pin and a step-by-step guide on how to connect them:
  • Pin Description:
  • 1. VSS (Pin 1): Ground (Negative Power Supply)
  • Connect to the ground pin of your microcontroller or power supply module.
  • 2. VCC (Pin 2): Positive Power Supply (Typically 5V)
  • Connect to the positive power supply pin of your microcontroller or power supply module.
  • 3. VO (Pin 3): Contrast Voltage (Typically 0.5V to 1.5V)
  • Connect to a potentiometer (variable resistor) to adjust the contrast of the LCD display.
  • 4. RS (Pin 4): Register Select (High: Data, Low: Instruction)
  • Connect to a digital output pin of your microcontroller to select between data and instruction registers.
  • 5. RW (Pin 5): Read/Write (High: Read, Low: Write)
  • Connect to a digital output pin of your microcontroller to select the read or write mode.
  • 6. EN (Pin 6): Enable (High: Enabled, Low: Disabled)
  • Connect to a digital output pin of your microcontroller to enable or disable the LCD module.
  • 7. DB0 (Pin 7): Data Bit 0
  • Connect to a digital output pin of your microcontroller to transmit data bit 0.
  • 8. DB1 (Pin 8): Data Bit 1
  • Connect to a digital output pin of your microcontroller to transmit data bit 1.
  • 9. DB2 (Pin 9): Data Bit 2
  • Connect to a digital output pin of your microcontroller to transmit data bit 2.
  • 10. DB3 (Pin 10): Data Bit 3
  • Connect to a digital output pin of your microcontroller to transmit data bit 3.
  • 11. DB4 (Pin 11): Data Bit 4
  • Connect to a digital output pin of your microcontroller to transmit data bit 4.
  • 12. DB5 (Pin 12): Data Bit 5
  • Connect to a digital output pin of your microcontroller to transmit data bit 5.
  • 13. DB6 (Pin 13): Data Bit 6
  • Connect to a digital output pin of your microcontroller to transmit data bit 6.
  • 14. DB7 (Pin 14): Data Bit 7
  • Connect to a digital output pin of your microcontroller to transmit data bit 7.
  • 15. A (Pin 15): Backlight Anode (Positive)
  • Connect to the positive terminal of the backlight power supply or a transistor/drive circuit.
  • 16. K (Pin 16): Backlight Cathode (Negative)
  • Connect to the negative terminal of the backlight power supply or a transistor/drive circuit.
  • Connection Structure:
  • Power Supply:
  • Connect VSS (Pin 1) to Ground (Negative Power Supply)
  • Connect VCC (Pin 2) to Positive Power Supply (Typically 5V)
  • Contrast Adjustment:
  • Connect VO (Pin 3) to the center terminal of a potentiometer (variable resistor)
  • Connect the two outer terminals of the potentiometer to Ground and Positive Power Supply, respectively
  • LCD Control Signals:
  • Connect RS (Pin 4) to a digital output pin of your microcontroller (e.g., Arduino digital pin 12)
  • Connect RW (Pin 5) to a digital output pin of your microcontroller (e.g., Arduino digital pin 11)
  • Connect EN (Pin 6) to a digital output pin of your microcontroller (e.g., Arduino digital pin 10)
  • Data Bus:
  • Connect DB0 (Pin 7) to a digital output pin of your microcontroller (e.g., Arduino digital pin 2)
  • Connect DB1 (Pin 8) to a digital output pin of your microcontroller (e.g., Arduino digital pin 3)
  • Connect DB2 (Pin 9) to a digital output pin of your microcontroller (e.g., Arduino digital pin 4)
  • Connect DB3 (Pin 10) to a digital output pin of your microcontroller (e.g., Arduino digital pin 5)
  • Connect DB4 (Pin 11) to a digital output pin of your microcontroller (e.g., Arduino digital pin 6)
  • Connect DB5 (Pin 12) to a digital output pin of your microcontroller (e.g., Arduino digital pin 7)
  • Connect DB6 (Pin 13) to a digital output pin of your microcontroller (e.g., Arduino digital pin 8)
  • Connect DB7 (Pin 14) to a digital output pin of your microcontroller (e.g., Arduino digital pin 9)
  • Backlight:
  • Connect A (Pin 15) to the positive terminal of the backlight power supply or a transistor/drive circuit
  • Connect K (Pin 16) to the negative terminal of the backlight power supply or a transistor/drive circuit
  • Remember to consult the datasheet of your microcontroller and the HD44780U controller/driver for specific pin assignments and connection requirements. Ensure that the power supply and logic levels are compatible with your microcontroller and the LCD module.

Code Examples

Original JHD 16x2 Character LCD Display- Blue Documentation
Overview
The Original JHD 16x2 Character LCD Display- Blue is a widely used display module in IoT projects, featuring a 16x2 character display with a blue backlight. This module uses the ST7066U controller/driver, which is compatible with most microcontrollers and development boards.
Pinout
The LCD display has a 16-pin interface, with the following pinout:
| Pin | Function |
| --- | --- |
| 1 | VSS (Ground) |
| 2 | VCC (Power Supply) |
| 3 | VE (Contrast Adjustment) |
| 4 | RS (Register Select) |
| 5 | RW (Read/Write) |
| 6 | E (Enable) |
| 7-14 | DB0-DB7 (Data Bus) |
| 15 | K (Backlight Anode) |
| 16 | A (Backlight Cathode) |
Communication Protocol
The LCD display communicates with microcontrollers using a 4-bit or 8-bit data bus. In the 4-bit mode, pins DB4-DB7 are not used.
Arduino Example
Here's an example code snippet for using the Original JHD 16x2 Character LCD Display- Blue with Arduino:
```cpp
#include <LiquidCrystal.h>
// Initialize the LCD display
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal_I2C lcd(rs, en, d4, d5, d6, d7);
void setup() {
  // Initialize the LCD display
  lcd.begin(16, 2);
}
void loop() {
  // Display a message on the LCD display
  lcd.setCursor(0, 0);
  lcd.print("Hello, World!");
  lcd.setCursor(0, 1);
  lcd.print(" IoT Project");
  delay(1000);
}
```
Raspberry Pi Example (Python)
Here's an example code snippet for using the Original JHD 16x2 Character LCD Display- Blue with Raspberry Pi (Python):
```python
import RPi.GPIO as GPIO
import time
# Set up GPIO mode
GPIO.setmode(GPIO.BCM)
# Define the LCD display pins
lcd_rs = 7
lcd_en = 8
lcd_d4 = 25
lcd_d5 = 24
lcd_d6 = 23
lcd_d7 = 18
# Initialize the LCD display
GPIO.setup(lcd_rs, GPIO.OUT)
GPIO.setup(lcd_en, GPIO.OUT)
GPIO.setup(lcd_d4, GPIO.OUT)
GPIO.setup(lcd_d5, GPIO.OUT)
GPIO.setup(lcd_d6, GPIO.OUT)
GPIO.setup(lcd_d7, GPIO.OUT)
def lcd_init():
  # Initialize the LCD display
  lcd_send_byte(0x33)
  lcd_send_byte(0x32)
  lcd_send_byte(0x28)
  lcd_send_byte(0x0C)
  lcd_send_byte(0x01)
  lcd_send_byte(0x06)
def lcd_send_byte(bits, mode):
  # Send a byte to the LCD display
  GPIO.output(lcd_rs, mode)
  if bits & 0x10 == 0x10:
    GPIO.output(lcd_d4, GPIO.HIGH)
  else:
    GPIO.output(lcd_d4, GPIO.LOW)
  if bits & 0x20 == 0x20:
    GPIO.output(lcd_d5, GPIO.HIGH)
  else:
    GPIO.output(lcd_d5, GPIO.LOW)
  if bits & 0x40 == 0x40:
    GPIO.output(lcd_d6, GPIO.HIGH)
  else:
    GPIO.output(lcd_d6, GPIO.LOW)
  if bits & 0x80 == 0x80:
    GPIO.output(lcd_d7, GPIO.HIGH)
  else:
    GPIO.output(lcd_d7, GPIO.LOW)
  GPIO.output(lcd_en, GPIO.HIGH)
  time.sleep(0.002)
  GPIO.output(lcd_en, GPIO.LOW)
  time.sleep(0.002)
def lcd_text(message):
  # Display a message on the LCD display
  for char in message:
    lcd_send_byte(ord(char), 1)
# Initialize the LCD display
lcd_init()
# Display a message on the LCD display
lcd_text("Hello, World!")
```
Troubleshooting
Make sure the LCD display is properly connected to the microcontroller or development board.
 Adjust the contrast adjustment pin (VE) to optimize the display quality.
 Ensure the backlight is powered correctly, if used.
 Verify the communication protocol and pinout configuration match the microcontroller or development board used.