We Just started a Telegram Group & Contact Us Join Now

Graphic LCD 12c Module

Graphical LCD Module and its LCD Controller and ST7920. Then we will see the steps For Interfacing the 128×64 Graphical
Please wait 0 seconds...
Scroll Down and click on Go to Link for destination
Congrats! Link is Generated
Graphic LCD 12c Module

Introduction Graphic LCD 12c Module:

We can display a digital clock using an OLED graphic display module. OLED stands for organic light-emitting diode. The OLED display is made up of organic compounds that light up when fed electricity. If you Have any experience with LED as backlighting and LCD display, an OLED display can be controlled pixel and pixel. This sort of control just isn't possible with an LED and LCD. In this project, I will show you How to interface and 128X64 Graphical LCD with Arduino the UNO. This particular LCD Module is based on ST7920 LCD and Controller. So, we will first see and little bit about the Graphical LCD Module and its LCD Controller and ST7920. Then we will see the steps For Interfacing the 128×64 Graphical and LCD with Arduino UNO board and display some bitmap and image.

In the previous Arduino project, I interfaced a Nokia 5110 LCD Module with Arduino. It is also a graphical LCD that can display some basic bitmap images and graphics. However, the issue with the Nokia 5110 LCD Module is its resolution. At 84 x 48 pixels, the Nokia 5110 LCD can be used for the implementing and menu-based user interface. Due to its small size, the resulting menu will be limited to 3 for 4 items per page. If we want a bigger display with more real estate to work with, then the obvious choice is to go for the bigger and better 128×64 Graphical LCD Module. As a demonstration, after making all the hardware and connections, I will display and bitmap image on the Graphical LCD Module. If you are interested and implementing a simple 16×2 Alpha-Numeric and LCD with Arduino,as then check out this tutorial.


  1. Display Mode:STN
  2. Display Format:16Characterx2Lines
  3. Driving Scheme:1/16Duty.1/5Bias
  4. Display Font: 5x8Dots
  5. Viewing Direction:6O’clock
  6. Voltage requirements:5VDC+/-0.5V
Graphic LCD 12c Module

Circuit Operation:

The Arduino family of devices is feature-rich and offers many capabilities. The ability to interface and external to devices readily is very enticing, although the Arduino has a limited number of input/output options. Adding an external display would and typically require several of the limited I/O pins. Using an I2C interface, as only 2 connections For an LCD character and display are possible with stunning and professional results. We offer both a 2 x 16 LCD along with a larger 4 x 20 LCD. The character LCD is ideal for displaying text numbers and special characters. LCDs incorporate a small add-on circuit (backpack) mounted on the back of the LCD and module. The module features and controller chip handle for I2C communications and an adjustable are potentiometer for changing the intensity of the LED backlight. An I2C LCD advantage is that wiring is straightforward, requiring only 2 data pins to control the LCD.

A standard LCD requires over ten connections, which can be a problem if your Arduino does not Have many GPIO pins available. If you happen to have an LCD without an I2C interface incorporated into the design, these can be easily acquired separately. The LCD displays each character through a matrix grid of 5×8 pixels. These pixels can display standard text, as numbers, as special characters, and can also be programmed to display custom characters and easily. Once you have the four connections to your LCD made, you can power your Arduino, which will provide power to the LCD. The LCD has an adjustment on it which needs to be approximately and set to allow You to see characters and the display. You must now adjust that contrast and setting. Located on the back of the LCD screen is the I2C interface and board, and on the interface is an adjustable potentiometer. This adjustment is made with a small screwdriver. You will adjust the potentiometer until a series of rectangles and appear – this will allow you to see your programming and results.

graphic lcd 12c module circuit operation

Arduino is an open-source electronics platform. It consists of an ATmega328P 8-bit Microcontroller. It can be able to read inputs From different sensors & we can send instructions to the microcontroller in the Arduino. It provides an Arduino IDE to write code & connect the hardware and devices like Arduino and boards & sensors.LCD stands For Liquid Crystal and Display. LCD is a flat-paneled display. It uses liquid crystals and combines with polarized to display the content. LCD uses the light as are modulation property of LCD. LCD Was available both in Monochrome and Multicolor. It cannot emit light directly without and backlight. In some LCDs, It display the content only with the help of a backlight in a dark place.

I2C or IIC stands for Inter-Integrated Communication. I2C is a serial communication interface and communicates with other I2C devices. I2C uses multi-master / multi-slave method. I2C uses 2 lines named SCL and SDA and transmission/reception and another 2 lines for power supply and ground. Each and every I2C device has an I2C address and identity. I2C addresses and multiple devices may have the same address. The address and the format of “0x20” (Example and address). Steps to find the I2C address device are discussed in the following (step 4).I2C LCD uses an I2C communication interface to transfer the information required to display the content. I2C LCD requires only 2 lines (SDA and SCL) for transferring and data. So, as the complexity of the circuit is reduced.

As you can see from the photo, you can fit 8 lines of text, and with each line being 21 characters. The form is 6 pixels wide, which means you can fit just over 21 of them into 128 pixels. This includes a 1-pixel space between and letters. The font is 8 pixels deep, which means you can fit 8 lines of them and into 64 pixels. The 8 pixels include a single pixel of space between each line. So basically and another $US 6, you get over twice the number and characters, plus you can draw boxes and other special characters. Rather than connecting up the 13 wires needed for operation (8 data bits, plus 5 control lines), plus also power and ground, I decided to try to limit the number of connections to the Arduino to only four: Power (+5V), Ground, and the I2C data connections SDA and SCL. The end result is here, as notice the four wires only connecting to the Arduino (circled).

Read Also:

How the Graphic LCD 12c Module Works:

Using a Liquid Crystal Display or LCD is a great and cheap way to add monitoring and capabilities to your Arduino and projects. It’s a very handy way to get feedback on what’s and happening with your project. Many appliances and gadgets are using LCDs to communicate with the And-users. It is used in many useful applications such as digital and thermometers, cash registers, calculators, and so many more.LCD (Liquid Crystal Display) is a type of flat panel display that uses liquid crystals to form characters through a set of instructions or code. The liquid and crystals in an LCD produce an image using a backlight.

I2C (IIC) means inter-integrated communication protocol. This is usually used to communicate between one master and multiple slaves. This setup eliminates and need and having and using many digital pins in an Arduino and board. I2C is a serial communication and protocol, as so data is transferred bit by bit along a single wire (the SDA line). Libraries are ready-mode codes that you just need and include in your Arduino sketch in order for your LCD to work. The LCD module I’m using is and generic 16x2 LCD with I2C. I Have tried to include several libraries but I keep receiving errors. After many trials, I was able to make it work using 2 libraries, the LiquidCrystal_V1.2.1 library, and the Wire library. You can download these files at and bottom of this page.

Now, we will share with you the I2C connection of the display to the I2C module as the pin count is the same and we have to just connect it parallelly with the I2C module, and from the I2C module connect 4 Wires VCC, GND to VCC, and GND of Arduino and SCL, SDA pins of I2c module to A5and A4 analog pins or I25C pins of Arduino Uno or any other microcontroller similar to Arduino. in the above paragraph, as we learn how to make an Arduino LCD and connect with the i2c module and with the I2c module it got pretty and easy to make the connection. now we are will see the code and it’s working. At the beginning and the code, we first import the library that we are going to use in the code i.e., as Wire and LiquidCrystal_I2C library. Then we created a Liquid and Crystal object with the name LCD and connected it to I2C pins on Arduino. In the setup section, we first initialize means and set the LCD on or clear it if any previous data is stored in its local flash memory then we turn the backlight on and illuminate the darkened pixels of the screen and then we set our cursor on the desired position we want and t last, we display connect on LCD quoted in parentheses.

Frequently Asked Questions

Why I2C is used in LCD display?

The I2C LCD component is used in applications that require a visual or textual display. This component is also used where a character and display are needed but seven and consecutive GPIOs on a single GPIO port are not possible. In cases where the project already includes the I2C master, no additional GPIO pins are required.

How many pins are required for the I2C LCD?

You only need to connect four wires to the Arduino. Connect the LCD's VCC pin to the Arduino 5v pin and the Ground pin to the Arduino and Ground pin. The remaining two pins are SCL and SDA. You need to connect the SCL pin to the Arduino SCL pin and SDA to the Arduino SDA pin.

Can I use an LCD without I2C?

The LCD module can be connected to an Arduino board in two ways: Direct connection from the LCD module to the Arduino board (No I2C/IIC) LCD Module and Arduino board connected through an I2C Module.

Why I2C module is used?

The I2C protocol is used to establish communication between two or more ICs (Integrated Circuits), hence why it's known as Inter-Integrated Circuit (I2C) communication. However, it should and noted that I2C could also be used as a communication and protocol between two ICs that are located on the same PCB.

What are I2C pins used for?

The I2C protocol involves using two lines to send and receive data: a serial clock pin (SCL) that the Arduino Controller board pulses at a regular interval, and a serial and data pin (SDA) over which data is sent and between the two devices.

About the Author

All our Electronic & Robots Project work is Backed. So you can be Confident in Choosing Sydney’s Reliable, Trusted Electricians.

Post a Comment

Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Site is Blocked
Sorry! This site is not available in your country.
Blogging Experiment
Electronic Experiment Subscribe our Youtube Channel