Interface LCD with an Arduino – LCD Arduino Projects

Hey guys, here is my next blog on LCD interfacing with ARDUINO. Most of the circuits of LCD Arduino projects we saw LCD interfacing, As we know that LCD stands for ‘Liquid Crystal Display’ play a very important role. It is used in different types of devices like in calculator, TVs, any advertising board, etc.

The liquid crystal display uses the property of light monitoring of liquid crystal and they do not emit light directly. The LCD is a flat panel display or the electronic visual display. With low information, content the LCDs are obtained in the fixed image or the hidden like present words, digits, or seven segments display.

Here, we are working with a 16*2 display in which 32 characters are present in two lines. We should know that to display each character there are 5*10 pixels. Thus to display one character all the 50 pixels should be together.

In LCD, there is a controller which is HD44780 it is used to control the pixels of character to display. This module has 16-pins and can be functioned in 4-bit mode or 8-bit mode. Here we are using the LCD module in 4-bit mode. Before going into details of this project, let’s have a look at the LCD module.


Hardware components:

  1. 16*2 LCD module
  2. Arduino UNO
  3. Jumper wires
  4. 10K Potentiometer
  5. Breadboard

Software used:

  1. Arduino IDE


Pin and their specific function are as given below.

pin diagram of LCD 16*2
  • Pin-1( Vss): GND pin of the LCD module.
  • Pin-2 (Vcc): Power supply(+5V)
  • Pin-3 (VEE): Contrast adjustment pin, Logic this is done by connecting the terminals of 10k potentiometer to Vcc and GND, then connecting the slider pins to the VEE pin. The voltage at the VEE pin describes the difference. The usual setting is between 0.4V & 0.9V.
  • Pin-4(RS): Register Select pin which enables users to select the instruction mode or the character mode of an LCD. Depending on which mode is selected, the data on the 8 data pin(D0-D7) is treated either as instruction or character data.
  • Pin-5(R/W): Read/Write mode pin is used for choosing between reading and write mode as logic HIGH-Read mode and logic LOW-Write mode.
  • Pin-6(E): Enable pin used foe permitting the module. A high to low signal at this pin will permit the module.
  • Pin-7 to Pin-14(DB0-DB7):  Data pins are used for feeding the instruction and data to the LCD module.
  • Pin-15(LED+): Anode of the back LED light operated at 5V.
  • Pin-16(LED-): Cathode terminal of backlight LED.


Follow the following steps for connecting the LCD to Arduino.

  • Step1: connect RS pin of LCD module to the digital pin 7 of the Arduino board.
  • Step2: connect the Enable(E) pin to digital pin 9 of the Arduino board.  
  • Step3: connect the R/W pin to the GND pin of Arduino.
  • Step4: connect digital pins 10,11,12,13 of Arduino to DB4, DB5, DB6, DB7 pin of LCD module ,resp.
  • Step5: connect pin-1(Vss) & pin-16(LED-) of LCD module to GND.
  • Step6: connect pin-2(Vcc) & pin-15(LED+) of LCD module to +5V.
  • Step7: connect pin-3(VEE) to the center pin of potentiometer used.

Here is circuit diagram for connection of  interfacing LCD with Arduino:-

Interface LCD with an Arduino
Interface LCD with an Arduino circuit

Fig, circuit diagram of  LCD interfacing with arduino.

Coding for the LCD Arduino Projects:

// include the library code:
#include <LiquidCrystal.h>
// initialize the library by associating any needed LCD interface pin
// with the arduino pin number it is connected to
const int rs = 7, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() 
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // Print a message to the LCD.
void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 1);
  // print the number of seconds since reset:

Output LCD Arduino Projects:

Interface LCD with an Arduino
Interface LCD with an Arduino output

Read my another blog Next and share with your friends —

Arduino Flame Sensor Interfacing to Build Fire Alarm System

1 thought on “Interface LCD with an Arduino – LCD Arduino Projects”

  1. Your blog is very informative, LCDs are used in various places in electronics, with these we can see the output like in calculators, TVs, any advertising board, etc. Management of these devices, choice of input, and limits should be taken care of to avoid the problems and errors and most importantly the quality of these devices should be the best with high warranty and these should be bought from the authorized platforms only.


Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.