Danu Andrean, 16 Dec 2025
Cara akses Lcd 16x2 I2C Dengan Esp32

Dalam pengembangan sistem embedded dan IoT, tampilan lokal sering dibutuhkan untuk menampilkan status perangkat, nilai sensor, atau informasi debugging tanpa harus membuka serial monitor. Salah satu solusi paling sederhana dan hemat pin adalah menggunakan LCD 16×2 dengan modul I2C.
Kenapa Menggunakan LCD 16×2 I2C?
LCD 16×2 versi paralel membutuhkan 6–8 pin, sedangkan versi I2C hanya membutuhkan 2 pin data.
Keuntungan utama:
- Hemat pin GPIO ESP32
- Wiring lebih sederhana
- Cocok untuk sistem IoT yang kompleks
- Bisa dipakai bersamaan dengan sensor lain
Perangkat yang Dibutuhkan
- ESP32 (Dev Module / WROOM / WROVER)
- LCD 16×2 + Modul I2C (PCF8574)
- Kabel jumper
- Arduino IDE
Prinsip Kerja I2C
I2C (Inter-Integrated Circuit) menggunakan dua jalur:
- SDA → Data
- SCL → Clock
ESP32 mendukung I2C secara hardware dan pin-nya bisa dipetakan ulang.
Koneksi ESP32 ke LCD 16×2 I2C
| PH | ESP32 |
|---|---|
| VCC | 5V (sesuai modul) |
| GND | GND |
| SDA | GPIO 21 |
| SCL | GPIO 22 |

Menentukan Alamat I2C LCD
Alamat I2C tidak selalu sama. Umumnya:
- 0x27
- 0x3F
Gunakan I2C Scanner untuk memastikan alamat.
Kode I2C Scanner:
#include <Wire.h>
void setup() {
Serial.begin(115200);
Wire.begin(21, 22);
Serial.println("Scanning I2C...");
for (byte address = 1; address < 127; address++) {
Wire.beginTransmission(address);
if (Wire.endTransmission() == 0) {
Serial.print("I2C device found at 0x");
Serial.println(address, HEX);
}
}
}
void loop() {}Library yang Digunakan
Gunakan library:
- LiquidCrystal_I2C
Install melalui:
Arduino IDE → Library Manager → LiquidCrystal I2C -> by Frank de Brabander

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Ganti 0x27 sesuai hasil scan
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Hello Developer");
lcd.setCursor(0, 1);
lcd.print("I2C Ready");
}
void loop() {
}Tips dan Masalah Umum
- LCD Menyala Tapi Tidak Ada Teks
- Alamat I2C salah
- Kontras belum disetel (putar trimpot di modul)
- LCD Berkedip atau Error
- Power supply tidak stabil
- Kabel terlalu panjang
Penutup
LCD 16×2 I2C tetap menjadi solusi display sederhana yang efisien dan handal untuk ESP32. Dengan pemahaman I2C dan manajemen tampilan yang baik, LCD ini sangat cocok untuk berbagai proyek embedded dan IoT. Happy Hacking!! 🎉🎉🎉







