This is a very short example. How to wire up an NOKIA 5110 LCD to an Arduino and show text, numbers and unique logos. To create the logos I've used the image2LCD software to create the bytes for a 240 by 240 pixels image. You will need a bmp picture first. Make the connections as in this tutorial, download the library and uplaod the example code.
by: ELECTRONOOBS on 2026-11-04
First, you need an NOKIA 5110 LCD like this one on this link. This display needsthe SPI pins from the Arduino.

Ok, make the SPI connections as below between the LCD and te Arduino pins. Supply 5V and connect GND as well. To turn ON the backlight you ahve to connect GND to the light pin. Next, go below and downlaod the library and see the example code. Upload the code and test the LCD.

First of all, you need the Adafruit_GFX library and Adafruit_PCD8544 in order to work. For that, go below and downlaod those libraries. They will be a in two .zip files. Open Arduino IDE and go to sketch, include library, add .zip library and select the downlaoded files one by one. Now the libraries are installed. You could downlaod the example code or just copy/paste it from below.
/*
* NOKIA 5110 LCD example
* Schematic: https://www.electronoobs.com/eng_arduino_tut53_sch1.php
* Tutorial: https://www.electronoobs.com/eng_arduino_tut53.php
*/
#include <SPI.h>
#include <Adafruit_GFX.h> //Downlaod it here : https://www.electronoobs.com/eng_arduino_Adafruit_GFX.php
#include <Adafruit_PCD8544.h> //Download it here: https://www.electronoobs.com/eng_arduino_Adafruit_PCD8544.php
// Software SPI (slower updates, more flexible pin options):
// pin 7 - Serial clock out (SCLK)
// pin 6 - Serial data out (DIN)
// pin 5 - Data/Command select (D/C)
// pin 4 - LCD chip select (CS)
// pin 3 - LCD reset (RST)
//Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3);
// Hardware SPI (faster, but must use certain hardware pins):
// SCK is LCD serial clock (SCLK) - this is pin 13 on Arduino Uno
// MOSI is LCD DIN - this is pin 11 on an Arduino Uno
// pin 5 - Data/Command select (D/C)
// pin 4 - LCD chip select (CS)
// pin 3 - LCD reset (RST)
Adafruit_PCD8544 display = Adafruit_PCD8544(5, 4, 3);
// Note with hardware SPI MISO and SS pins aren't used but will still be read
// and written to during SPI transfer. Be careful sharing these pins!
#define NUMFLAKES 10
#define XPOS 0
#define YPOS 1
#define DELTAY 2
#define LOGO16_GLCD_HEIGHT 16
#define LOGO16_GLCD_WIDTH 16
static const unsigned char PROGMEM EN_logo [] = {
B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000,
B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000,
B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000,
B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000,
B00000000, B00000000, B00000000, B01111111, B11111100, B01111100, B00111000, B00000000,
B00000000, B00000000, B00000000, B01111111, B11111100, B01111100, B00111000, B00000000,
B00000000, B00000000, B00000000, B01110000, B00000000, B01111100, B00111000, B00000000,
B00000000, B00000000, B00000000, B01110000, B00000000, B01110011, B00111000, B00000000,
B00000000, B00000000, B00000000, B01110000, B00000000, B01110011, B00111000, B00000000,
B00000000, B00000000, B00000000, B01110000, B00000000, B01110011, B00111000, B00000000,
B00000000, B00000000, B00000000, B01110000, B00000000, B01110011, B00111000, B00000000,
B00000000, B00000000, B00000000, B01111111, B11000000, B01110000, B11111000, B00000000,
B00000000, B00000000, B00000000, B01111111, B11000000, B01110000, B11111000, B00000000,
B00000000, B00000000, B00000000, B01110000, B00000000, B01110000, B00111000, B00000000,
B00000000, B00000000, B00000000, B01110000, B00000000, B01110000, B00111000, B00000000,
B00000000, B00000000, B00000000, B01110000, B00000000, B01110000, B00111000, B00000000,
B00000000, B00000000, B00000000, B01110000, B00000000, B01110000, B00111000, B00000000,
B00000000, B00000000, B00000000, B01110000, B00000000, B01110000, B00111000, B00000000,
B00000000, B00000000, B00000000, B01110000, B00000000, B01110000, B00111000, B00000000,
B00000000, B00000000, B00000000, B01111111, B11111100, B01110000, B00111000, B00000000,
B00000000, B00000000, B00000000, B01111111, B11111100, B01110000, B00111000, B00000000,
B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000,
B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000,
B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000
};
static const unsigned char PROGMEM LOGO[] =
{
/* 0X00,0X01,0X40,0X00,0X40,0X00, */
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X3F,0XE0,0X00,0X00,0X00,0X00,0X00,0X00,0XFF,0XF0,0X00,0X00,0X00,0X00,0X00,
0X01,0XFF,0XFC,0X00,0X00,0X00,0X00,0X00,0X03,0XFF,0XFE,0X00,0X00,0X00,0X00,0X00,
0X03,0XFF,0XFF,0X00,0X00,0X00,0X00,0X00,0X07,0XFF,0XFF,0X00,0X00,0X00,0X00,0X00,
0X0F,0XFF,0XFF,0X80,0X00,0X00,0X00,0X00,0X0F,0XFF,0XFF,0XC0,0X00,0X00,0X00,0X00,
0X1F,0XFF,0XFF,0XC0,0X00,0X00,0X00,0X00,0X1F,0XFF,0XFF,0XE0,0X00,0X00,0X00,0X00,
0X1F,0XFF,0XFF,0XE0,0X00,0X00,0X00,0X00,0X3F,0XFF,0XFF,0XE0,0X00,0X00,0X00,0X00,
0X3F,0XFF,0XFF,0XF0,0X00,0X00,0X00,0X00,0X7F,0XFF,0XFF,0XF0,0X00,0X00,0X00,0X00,
0X7F,0XFF,0XF8,0X70,0X00,0X00,0X00,0X00,0X60,0XFF,0XC0,0X70,0X00,0X00,0X00,0X00,
0X60,0X00,0X00,0X70,0X00,0X00,0X00,0X00,0X60,0X00,0X00,0X70,0X00,0X02,0X00,0X00,
0X40,0X00,0X00,0X33,0XDF,0XCF,0XF0,0X00,0X40,0X00,0X00,0X33,0XAF,0XFB,0XF8,0X00,
0X40,0X00,0X00,0X33,0XEF,0XFB,0XF8,0X1C,0X40,0X01,0X00,0X33,0XEF,0XFB,0XFC,0X1F,
0X80,0X00,0X00,0X33,0XDF,0XFF,0XFC,0X0F,0X80,0X00,0X00,0X1B,0XF0,0X07,0XFC,0X1F,
0XBF,0X00,0XFE,0X0B,0XF0,0X07,0XFE,0X3F,0X82,0X41,0X70,0X1B,0XFF,0XF7,0XFE,0X3F,
0X83,0X41,0X70,0X0B,0X7F,0XF7,0XDD,0X3E,0X87,0X40,0XA0,0X03,0X7F,0XF7,0XDF,0X3E,
0X80,0X00,0X00,0X0B,0XFF,0XF7,0XCF,0X3E,0X80,0X00,0X00,0X0B,0XFF,0X77,0XCE,0X9E,
0X00,0X00,0X00,0X2B,0X70,0X03,0X84,0X1E,0X40,0X00,0X00,0X32,0XF0,0X07,0XC0,0XBE,
0X00,0X00,0X00,0X70,0XF0,0X0C,0XC6,0XFE,0X20,0X00,0X00,0X42,0X5F,0XFF,0XC3,0XFE,
0X20,0X00,0X00,0X43,0X3F,0XFF,0X83,0XFC,0X20,0X00,0X00,0X41,0X7F,0XFF,0X83,0XFC,
0X20,0X04,0X00,0X43,0XFF,0XFF,0X83,0XFC,0X10,0X00,0X00,0X42,0XFF,0XF0,0X81,0XFC,
0X10,0X00,0X00,0X80,0X00,0X00,0X01,0XFC,0X00,0X3F,0X00,0X80,0X00,0X00,0X00,0X7C,
0X08,0X40,0X00,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X02,0X00,0X00,0X00,0X00,0X00,
0X04,0X00,0X04,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X08,0X40,0X00,0X00,0X00,0X00,
0X03,0X00,0X10,0XC0,0X00,0X00,0X00,0X00,0X01,0X00,0X23,0X80,0X00,0X00,0X00,0X00,
0X00,0X80,0X5F,0X00,0X00,0X00,0X00,0X00,0X00,0X7F,0XEB,0X40,0X00,0X00,0X00,0X00,
0X00,0X01,0X8F,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X9F,0X40,0X00,0X00,0X00,0X00,
0X00,0X00,0XEE,0XA0,0X00,0X00,0X00,0X00,0X00,0X00,0X9F,0X60,0X00,0X00,0X00,0X00,
0X00,0X00,0XEF,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X77,0XE0,0X00,0X00,0X00,0X00,
0X00,0X00,0X78,0X40,0X00,0X00,0X00,0X00,0X00,0X00,0X67,0X80,0X00,0X00,0X00,0X00,
0X00,0X00,0X0D,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
};
void setup() {
Serial.begin(9600);
display.begin(); // init done
// you can change the contrast around to adapt the display
// for the best viewing!
display.setContrast(100);
display.clearDisplay(); // clears the screen and buffer
}
void loop() {
display.drawBitmap(4 , 0, EN_logo, 64, 24, 1);
display.setCursor(8,25);
display.setTextSize(1);
display.setTextColor(BLACK);
display.println("ELECTRONOOBS");
display.display();
delay(3000);
display.clearDisplay();
display.display();
display.drawBitmap(0 , 0, LOGO, 64, 64, 1);
display.display();
delay(3000);
display.clearDisplay();
display.setCursor(0, 0);
// Write something on the specific row
display.println("Example text");
display.println("0, 1, 2 ...!?");
display.setTextSize(2);
display.println("HELLO");
display.display();
delay(3000);
display.clearDisplay();
}
Leave a comment
Please login in order to comment.