Jhd-2x16-i2c Proteus !!link!! May 2026
JHD-2X16-I2C is a popular alphanumeric liquid crystal display used in Proteus simulations and real-world electronics projects. It integrates a standard 16x2 LCD with an I2C communication interface (typically using the
expander), allowing it to be controlled using just two data wires (SDA and SCL) instead of the usual 10+ wires required for parallel communication. Key Features and Specifications Display Capacity : 2 rows of 16 characters each (32 total). Communication Protocol
: I2C (Inter-Integrated Circuit), which simplifies wiring significantly by reducing the pin count to four: VCC, GND, SDA, and SCL. On-board Controller
: Often based on the Hitachi HD44780 driver IC, paired with an I2C "backpack" module. Customization : Many modules include a potentiometer on the back for contrast adjustment and a jumper for backlight control Arduino Forum Using JHD-2X16-I2C in Proteus jhd-2x16-i2c proteus
To simulate this component effectively, keep the following in mind:
[SOLVED] I2C LCD - Setup instructions for 16x2 - Arduino Forum
6.2 Compilation Errors
If Proteus throws an error regarding LiquidCrystal_I2C.h: Cause: The library is not linked to the
- Cause: The library is not linked to the Proteus VSM studio or the compiler cannot find it.
- Fix: Ensure the library is installed in the Arduino libraries folder, and the Proteus project source code references the correct path.
3.2 Simulation Schematic Setup (Proteus)
- Place LM016L, PCF8574, ARDUINO_UNO, two 4.7k resistors, and a 10k potentiometer.
- Connect PCF8574:
- SDA → Arduino SDA (A4 on Uno)
- SCL → Arduino SCL (A5 on Uno)
- VDD → +5V
- VSS → GND
- A0, A1, A2 → GND (address =
0x20)
- Connect LM016L:
- VSS → GND
- VDD → +5V
- V0 (contrast) → Wiper of 10k pot (pot ends: +5V and GND)
- RS, RW, EN, D4–D7 → to PCF8574 as per mapping above.
- RW → GND (optional but recommended)
- Add pull-up resistors (4.7k each) from SDA to +5V and SCL to +5V.
The Wiring Table
| Arduino Pin | JHD-2x16-I2C Pin | Proteus Net Name | |-------------|------------------|------------------| | A4 (analog) | SDA | I2C_SDA | | A5 (analog) | SCL | I2C_SCL | | GND | GND | GND | | 5V | VCC | VCC |
Crucial Step: Right-click the JHD-2x16-I2C in Proteus and edit its properties. Look for I2C Address. Set it to 0x27 (most common). If your code uses 0x3F, change it here.
Technical Report: Interfacing JHD-2x16-I2C LCD Module in Proteus
3. Hardware Connection Logic
Method B: Wiring the I2C Adapter (Standard Practice)
If a single "JHD-2x16-I2C" part is not available, the simulation is constructed by placing two components: including circuit design
- LM016L (The standard 16x2 LCD).
- PCF8574 (The I2C I/O Expander).
1. Introduction
The JHD-2x16-I2C is a 16-character by 2-line alphanumeric LCD module equipped with an I2C (Inter-Integrated Circuit) interface. It is widely used for displaying text and sensor data in embedded systems. Simulating this module in Proteus Design Suite allows engineers and students to develop and test firmware without physical hardware.
This report provides a step-by-step guide to using the JHD-2x16-I2C module in Proteus, including circuit design, Arduino/8051 code, and I2C communication principles.

