arduino glcd,arduino with glcd, glcd arduino, glcd and arduino, arduino and glcdHello friends, I hope you all are doing great and having fun with your lives. In today’s tutorial, I am going to share How to interface Arduino with GLCD. I am gonna design a Proteus Simulation in which I will interface Arduino GLCD together. GLCD is also called Graphical LCD so today we are gonna do some designing on the LCD. The GLCD I am going to use is ks0108 and its model in Proteus is LGM12641BS1R and I have shared the complete Simulation along with Arduino Code below for download. But I would suggest you to design it on your own so that you could get the most out of it. If you haven’t worked on the LCD before then I would suggest you to read How to Interface Simple LCD with Arduino.

Moreover, I am quite happy to announce that we have started TEP Forum so if you guys have any questions related to your engineering projects then ask in our forum and we will try our best to resolve your issues. Anyways, let’s get back to our today’s tutorial and interface Arduino GLCD in Proteus ISIS.

Interfacing of Arduino with GLCD

  • First of all, you can download the Proteus Simulation and Arduino Code for Interfacing of Arduino with GLCD, by clicking the below button:

Download Code & Simulation

  • Now let’s design it so that you can understand how this is working.
  • So, first of all design a Proteus Simulation for Interfacing of Arduino with GLCD, as shown in below figure:


Proteus doesn’t have Arduino in its database so you need to install this Arduino Library for Proteus if you wanna use Arduino in Proteus.

arduino glcd,arduino with glcd, glcd arduino, glcd and arduino, arduino and glcd

  • Now upload the below Arduino code in your Arduino Software and Get your Arduino Hex File, which we are gonna upload in our Proteus Arduino.
  • Here’s the Arduino Code for Interfacing of Arduino with GLCD:


  • You also have to install the GLCD Library for Arduino, I have added this library in the above package so when you download it first of all install this library in Arduino Software.
#include <glcd.h>
#include "fonts/allFonts.h"        
#include "bitmaps/allBitmaps.h"    

Image_t icon;

gText textArea;              
gText textAreaArray[3];     
gText countdownArea =  gText(GLCD.CenterX, GLCD.CenterY, 1, 1, Arial_14); 

unsigned long startMillis;
unsigned int  loops = 0;
unsigned int  iter = 0;
         int  theDelay = 20; 

void setup()
  if(GLCD.Height >= 64)   
    icon = ArduinoIcon64x64;  
    icon = ArduinoIcon64x32;  


  GLCD.SelectFont(System5x7, BLACK); 
  GLCD.CursorTo(2, 2);
  GLCD.print("The Engineering");
  GLCD.CursorTo(5, 3);

void  loop()
  • So, now if everything goes fine then when you run your Proteus Simulation of Arduino with GLCD, you will get results as shown in below figure:

arduino glcd,arduino with glcd, glcd arduino, glcd and arduino, arduino and glcd

  • So, what we have done is we just printed our blog name on the GLCD using Arduino.
  • Now, in the package you download I have also added another example which when you upload will give you a demo of GLCD.
  • Here’s the results of the second example, I have added some screenshots:

arduino glcd,arduino with glcd, glcd arduino, glcd and arduino, arduino and glcd

  • So, that’s how you can interface Arduino with GLCD and can design anything you want.
  • It’s really very easy but quite lengthy, I must tell.
  • I have designed this video which will help you in better understanding:

So, that’s all about Interfacing of Arduino with GLCD and I hope I have helped you guys in some ways. So, will meet you guys in the next tutorial. Till then take care and have fun !!! 🙂


  1. I have simulated it but the GLCD displays dots and it does not display the string also.The proteus also give error of “Proteus has stopped working” and “Logic Contention Warnings” when using Arduino Uno Board in simulations.What can be the problem in my design and why the GLCD gives dots and Proteus gives error ? Also it does not gives error when simulating it without Arduino Board.

  2. hello glcd lcd screen arduino uno also works but arduino mega does not work what is the reason for this connection schematic should be how can you help

  3. Hello , Firsly ı would like to thanks you for this tutorial.
    I have to do final project with my friends and we should plotting to some graphichs on the LcD by using Arduıno mega.Can we use that glcd that you mention above?Will it be enough for us ? As quickly as ı am waiting your helps.Thank you!

  4. Hello Syed,
    What a wonderful job.
    I have some questions according to the circuitry:

    1) Why have you used Analog Port A pins from A0 to A4 to CS1, CS2, DI, RW, E respectively? When I use a 20X4 LCD the RW, E, RS used to handle digital signals from Arduino digital pins (enable/disable). I didn’t look into your GLCD datasheet, but its command pins are all analog only?

    2) If I intend to build this circuit (as a part of a major one) as a real world prototype: Would this GLCD be defined according to your library/wiring:

    3) For data pins (D0 to D7) you’ve mixed data pins from both PORTB and PORTD: in my later project, I might need one of these ports for another purpose (set it all digital/input/output). How is it possible to reconfigure wiring scheme (from Glcd-v3 library) to use only a unique port?

    4) My only needing from this project is to have a larger display than traditional (16X2, 16X4, 20X4, 40X2) LCDs. So I will only be using the following syntaxes: GLCD.ClearScreen(); / GLCD.CursorTo(col, row); / GLCD.print(“XYZ”); >> Accordingly, how to minimize the program memory (by editing the library) as I don’t need any graphical representations?

    5) For the fonts/font size, is it possible to rearrange it in a way to use conventional letter representation without the improvement of choosing type of letters/digits with font size? Is Arial_14 adjustable to lower sizes?

    Thank you very much

Leave a Reply

Your email address will not be published. Required fields are marked *

Post comment