This is a RoHS compliant I2C Serial LCD Daughter board that can be connected to a standard 16×2 or 20×4 Character Display Module that supports 4-bit mode. All Character Modules sold on our site support 4-bit mode, and nearly all commercially available 16×2 and 20×4 line character modules support it too.
This board has a PCF8574 I2C chip that converts I2C serial data to parallel data for the LCD display. There are many examples on the internet for using this board with Arduino. Do a search for “Arduino LCD PCF8574 “. The I2C address is 0x3F by default, but this can be changed via 3 solder jumpers provided on the board. This allows up to 3 LCD displays to be controlled via a single I2C bus (giving each one it’s own address)
Specifications and Features:
5V power supply .
Serial I2C control of LCD display using PCF8574.
Backlight can be enabled or disabled via a jumper on the board.
Contrast control via a potentiometer.
Can have 8 modules on a single I2C bus (change address via solder jumpers)address, allowing.
Size :41.6 x 19.2 mm.
Package Includes:
1 x IIC/I2C Serial Interface Adapter Module
Pin Connections Table 1
Board Sensor Pin Connection LCD + I2C backpack VCC/GND/SDA/SCL 5V / GND / board SDA / board SCL
I2C LCD Adapter Board (PCF8574) - 16x2 / 20x4 - Arduino Uno
I2C LCD Adapter Board (PCF8574) - 16x2 / 20x4 - Arduino Nano
I2C LCD Adapter Board (PCF8574) - 16x2 / 20x4 - Arduino Mega
I2C LCD Adapter Board (PCF8574) - 16x2 / 20x4 - ESP32
I2C LCD Adapter Board (PCF8574) - 16x2 / 20x4 - ESP8266
I2C LCD Adapter Board (PCF8574) - 16x2 / 20x4 - STM32
I2C LCD Adapter Board (PCF8574) - 16x2 / 20x4 - Raspberry Pi Pico
1 //ekostra.com
2 //electronics store in egypt
3 //+201008896258
4
5 // I2C wiring for Arduino Uno: A4=SDA, A5=SCL
6 #include <Wire.h>
7 #include <LiquidCrystal_I2C.h>
8
9 LiquidCrystal_I2C lcd(0x27, 16 , 2 ); // 0x27 is the common default address - use an I2C scanner if this doesn't work
10
11 void setup () {
12 Wire.begin();
13 lcd.init();
14 lcd.backlight();
15 lcd.print("Hello, Ekostra!");
16 }
17
18 void loop () {
19 lcd.setCursor(0 , 1 );
20 lcd.print(millis() / 1000 );
21 lcd.print(" sec");
22 delay (500 );
23 }
1 //ekostra.com
2 //electronics store in egypt
3 //+201008896258
4
5 // I2C wiring for Arduino Nano: A4=SDA, A5=SCL
6 #include <Wire.h>
7 #include <LiquidCrystal_I2C.h>
8
9 LiquidCrystal_I2C lcd(0x27, 16 , 2 ); // 0x27 is the common default address - use an I2C scanner if this doesn't work
10
11 void setup () {
12 Wire.begin();
13 lcd.init();
14 lcd.backlight();
15 lcd.print("Hello, Ekostra!");
16 }
17
18 void loop () {
19 lcd.setCursor(0 , 1 );
20 lcd.print(millis() / 1000 );
21 lcd.print(" sec");
22 delay (500 );
23 }
1 //ekostra.com
2 //electronics store in egypt
3 //+201008896258
4
5 // I2C wiring for Arduino Mega: D20=SDA, D21=SCL
6 #include <Wire.h>
7 #include <LiquidCrystal_I2C.h>
8
9 LiquidCrystal_I2C lcd(0x27, 16 , 2 ); // 0x27 is the common default address - use an I2C scanner if this doesn't work
10
11 void setup () {
12 Wire.begin();
13 lcd.init();
14 lcd.backlight();
15 lcd.print("Hello, Ekostra!");
16 }
17
18 void loop () {
19 lcd.setCursor(0 , 1 );
20 lcd.print(millis() / 1000 );
21 lcd.print(" sec");
22 delay (500 );
23 }
1 //ekostra.com
2 //electronics store in egypt
3 //+201008896258
4
5 // I2C wiring for ESP32: GPIO21=SDA, GPIO22=SCL
6 #include <Wire.h>
7 #include <LiquidCrystal_I2C.h>
8
9 LiquidCrystal_I2C lcd(0x27, 16 , 2 ); // 0x27 is the common default address - use an I2C scanner if this doesn't work
10
11 void setup () {
12 Wire.begin();
13 lcd.init();
14 lcd.backlight();
15 lcd.print("Hello, Ekostra!");
16 }
17
18 void loop () {
19 lcd.setCursor(0 , 1 );
20 lcd.print(millis() / 1000 );
21 lcd.print(" sec");
22 delay (500 );
23 }
1 //ekostra.com
2 //electronics store in egypt
3 //+201008896258
4
5 // I2C wiring for ESP8266: D2=SDA, D1=SCL
6 #include <Wire.h>
7 #include <LiquidCrystal_I2C.h>
8
9 LiquidCrystal_I2C lcd(0x27, 16 , 2 ); // 0x27 is the common default address - use an I2C scanner if this doesn't work
10
11 void setup () {
12 Wire.begin();
13 lcd.init();
14 lcd.backlight();
15 lcd.print("Hello, Ekostra!");
16 }
17
18 void loop () {
19 lcd.setCursor(0 , 1 );
20 lcd.print(millis() / 1000 );
21 lcd.print(" sec");
22 delay (500 );
23 }
1 //ekostra.com
2 //electronics store in egypt
3 //+201008896258
4
5 // I2C wiring for STM32: PB7=SDA, PB6=SCL
6 #include <Wire.h>
7 #include <LiquidCrystal_I2C.h>
8
9 LiquidCrystal_I2C lcd(0x27, 16 , 2 ); // 0x27 is the common default address - use an I2C scanner if this doesn't work
10
11 void setup () {
12 Wire.begin();
13 lcd.init();
14 lcd.backlight();
15 lcd.print("Hello, Ekostra!");
16 }
17
18 void loop () {
19 lcd.setCursor(0 , 1 );
20 lcd.print(millis() / 1000 );
21 lcd.print(" sec");
22 delay (500 );
23 }
1 //ekostra.com
2 //electronics store in egypt
3 //+201008896258
4
5 // I2C wiring for Raspberry Pi Pico: GPIO4=SDA, GPIO5=SCL
6 #include <Wire.h>
7 #include <LiquidCrystal_I2C.h>
8
9 LiquidCrystal_I2C lcd(0x27, 16 , 2 ); // 0x27 is the common default address - use an I2C scanner if this doesn't work
10
11 void setup () {
12 Wire.begin();
13 lcd.init();
14 lcd.backlight();
15 lcd.print("Hello, Ekostra!");
16 }
17
18 void loop () {
19 lcd.setCursor(0 , 1 );
20 lcd.print(millis() / 1000 );
21 lcd.print(" sec");
22 delay (500 );
23 }
Project Notes: PCF8574-based I2C backpack that converts any parallel HD44780 LCD to I2C - wiring/code is the same either character size.