Introduction: Details and Connections of I2C LCD Adapter

I2C lcd adapter is a device containing a micro-controller PCF8574 chip. This micro-controller is a I/O expander, which communicates with other micro-controller chip with two wire communication protocol. Using this adapter anyone can control an 16x2 LCD with only two wire(SDA, SCL). It saves many pins of arduino or other micro-controller. It has an built in potentiometer for control lcd contrast. The default I2C address is 0x27. You can change this address by connecting A0, A1, A2.

A0	A1	A2	Address

0	0	0	0x20
0	0	1	0x21
0	1	0	0x22
0	1	1	0x23
1	0	0	0x24
1	0	1	0x25
1	1	0	0x26
1	1	1	0x27

0 => LOW

1 => HIGH

Step 1: Connection Between LCD and Adapter

First, you have to solder this adapter with lcd. You can directly connect it to the lcd display backside. But i have solder it on a pcb. You can also make it as you wish. But you must be careful about the right connection. Otherwise you will face a great problem.

Step 2: Connection With Arduino and I2C Lcd Adapter

Arduino => I2C LCD adapter


5V => VCC

A4 => SDA

A5 => SCL

Step 3: Power Up and Test

#define USE_ALB_LCD_I2C

#include "ArduinoLearningBoard.h"

ALB_LCD_I2C lcd;

void setup() {

void loop() {
  lcd.setCursor(0,0);//lcd.setCursor(coloumn, row);
  lcd.print("ABCD 1234 +-/*");
  lcd.setCursor(0,1);//here row=1 means second line
  lcd.print((char)64);//64 = @
  lcd.print((char)223);//223 = dgree sign
  lcd.print((char)224);//224 = alpha sign
  lcd.print((char)232);//232 = root
  lcd.print((char)242);//242 = thita
  lcd.print((char)228);//228 = micro

Step 4: Downloading Library for I2C Lcd

open arduino IDE => go to Tools => manage libraries => search for Arduino Learning Board

and download the library.

If you already have the library then skip this step.

Step 5: Final Step

I have use the I2C lcd to show the tempareture and humidity of the environment.