How to Connect I2C Lcd Display to Arduino Uno




About: HI! I am Junez Riyaz, currently doing Bachelor of Technology in the field of Electronics and Communication Engineering. I am much interested in inventing something new yet from my childhood. In my leisure ti...

Hello Guys , In this Instructable you are going to see how to connect i2c lcd display to arduino and how to print on lcd display .

Before going to start this tutorial you must know a brief about i2c communication .

Each I2C bus consists of two signals: SCL and SDA. SCL is the clock signal, and SDA is the data signal. The clock signal is always generated by the current bus master; some slave devices may force the clock low at times to delay the master sending more data (or to require more time to prepare data before the master attempts to clock it out). This is called “clock stretching” and is described on the protocol page.

For more information visit Electronics Projects Hub

Now lets start this Instructable ..

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Components Required

Arduino Uno :

I2C LCD Display :

Male to female jumpers - 4 :

Step 2: Circuiting

I2C Board of LCD Arduino

GND <---> GND

VCC <---> 5V

SDA <---> A4

SCL <---> A5

Step 3: Code

We must require to include two libraries ,in order to work the code attached .

Download the libraries from the attachment LCD library .

Basic functions we use in code

lcd.begin(16,2); //Defining 16 columns and 2 rows of lcd display

lcd.backlight(); //To Power ON /OFF the back light

lcd.setCursor(0,0); //Defining positon to write from first row,first column .

lcd.setCursor(0,1); //Defining positon to write from second row,first column .

lcd.print(" write here to print"); //You can write 16 Characters per line within quotations.

lcd.clear(); //Clean the screen

Step 4: Output

The outputs attached are done according to code attached above .

Step 5: Complete Video Tutorial

Don't forget subscribe my YouTube Channel

Check out my website Electronics Projects Hub

1 Person Made This Project!


  • Made with Math Contest

    Made with Math Contest
  • Multi-Discipline Contest

    Multi-Discipline Contest
  • Robotics Contest

    Robotics Contest

15 Discussions


Question 5 weeks ago on Step 5

hey guys what can i do beacause when i am going to uploaded they said that have multiplie librarys ???

shaheen shah

6 months ago

Hello bro My lcd is displaying nothing
Please help me i badly need it to display as my fyp is on way

Barrett winn

9 months ago on Step 3

i cant seem to be able to add the library. it keeps saying that it isn't a valid library


9 months ago

Hey guys. My LCD works fine using the above instructions (when replacing the existing LCD library in the Arduino directory) but I can't get the backlight to ever switch off. Suggestions?


Question 10 months ago on Introduction

I have written this code.But after compiling,it is showing the below written error message:
Arduino: 1.6.8 (Windows 10), Board: "Arduino/Genuino Uno"
I2C_LCD_TUTORIAL:6: error: 'POSITIVE' was not declared in this scope
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
exit status 1
'POSITIVE' was not declared in this scope
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

2 answers

Answer 10 months ago

Ho friend, My suggestion, use LiquidCrystal_I2C lcd(0x27,16,2);
Where 16,2 is LCD display 16x2, you need to change the same as per your LCD.
0x27 is the i2c address..
Hope this helps.


Answer 10 months ago

I had the same problem. I deleted all libraries with i2c lcd in the arduino IDE. Then imported the one linked in the files here.
Worked like a charm


1 year ago

Hi, Friends,

I tried to do this project few times using various method. But I can not succeed. Black boxes are displayed instead of text. I adjusted contrast, Address etc. But my LCD panel and Arduino are working. Black light can control. Please help.



1 year ago

how come they tell me that "POSITIVE was not declared"?? I need help on this

1 reply

Reply 1 year ago

Hi, I had the same problem. You can solve this in two ways:

1) Add the line: #include <LCD.h>

2) Add the line:

typedef enum { POSITIVE, NEGATIVE } t_backlighPol;



1 year ago

Thank you i have been banging my head against the wall trying to get my LCD display to work and then I found your post and it finally worked. THANK YOU!!!


2 years ago

I have done it for my team robot. Gr8 tutorial

1 reply