Nokia 5110 LCD Shield Module (84×48 Pixels) with Blue Backlight – Compatible with Arduino & Raspberry Pi

SKU: FA2122
Display Type

Graphic LCD

Resolution

84 x 48 pixels

Controller

PCD8544

Interface

SPI (Serial Peripheral Interface)

Operating Voltage

3.3V – 5V DC

Backlight

Blue LED (controllable via GPIO)

Operating Current

< 200 µA (typical)

Standby Current

< 10 µA (power-down mode)

Transfer Rate

Up to 4 Mbps

Row/Column Drivers

48 rows, 84 columns

Interface Pins

8-pin (RST, CE, DC, DIN, CLK, VCC, LIGHT, GND)

Dimensions

Approx. 45mm x 45mm

Product Overview

The Nokia 5110 LCD Shield Module is a compact, low-power graphical display module that brings classic mobile phone screen technology to your electronics projects. Featuring an 84×48 pixel resolution and a vibrant blue backlight, this display is perfect for Arduino, Raspberry Pi, ESP32, and other microcontroller projects requiring clear visual feedback without consuming excessive power or I/O pins .

Originally designed as a replacement screen for the Nokia 5110 mobile phone, this LCD module utilizes the PCD8544 controller chip—the same driver found in the Nokia 3310 LCD . This controller provides all necessary functions for driving a graphic display of 48 rows and 84 columns, including on-chip generation of LCD supply and bias voltages, resulting in minimal external components and ultra-low power consumption .

The module communicates via a serial bus interface (SPI), requiring only 5-6 I/O pins to operate . This makes it ideal for projects where I/O pins are limited. The blue backlight ensures excellent readability even in dim lighting conditions, while the high-contrast LCD provides crisp text and graphics display .

Whether you’re building a weather station, a sensor data monitor, a handheld game console, or a system status dashboard, this Nokia 5110 LCD module offers an affordable, reliable, and easy-to-integrate display solution .

Key Features

  • 84×48 Pixel Resolution: Clear display of text, custom graphics, icons, and simple animations with 84 columns by 48 rows of pixels

  • Blue Backlight: Vibrant blue backlight for enhanced visibility in various lighting conditions; backlight can be controlled via GPIO to conserve power

  • Low Power Consumption: Operating current typically below 200μA with power-down mode support, making it ideal for battery-powered projects

  • SPI Serial Interface: Communicates via standard SPI protocol (SCLK, MOSI, DC, CE, RST), requiring minimal I/O pins (typically 5-6 pins)

  • PCD8544 Controller: Industry-standard LCD controller with on-chip generation of LCD supply and bias voltages

  • Adjustable Contrast: Software-controlled contrast levels to optimize display clarity under different conditions

  • Compact Form Factor: Small PCB footprint (approx. 45mm x 45mm) for easy integration into space-constrained projects

  • Wide Compatibility: Works with Arduino, Raspberry Pi, ESP8266, ESP32, STM32, and other 3.3V/5V logic systems

  • Mounting Holes: Pre-drilled mounting holes for secure attachment to enclosures or project boxes

Technical Specifications

Parameter Operating Value
Display Type Graphic LCD
Resolution 84 x 48 pixels
Controller PCD8544
Interface SPI (Serial Peripheral Interface)
Operating Voltage 3.3V – 5V DC
Backlight Blue LED (controllable via GPIO)
Operating Current < 200 µA (typical)
Standby Current < 10 µA (power-down mode)
Transfer Rate Up to 4 Mbps
Row/Column Drivers 48 rows, 84 columns
Interface Pins 8-pin (RST, CE, DC, DIN, CLK, VCC, LIGHT, GND)
Dimensions Approx. 45mm x 45mm

Pinout & Interface Guide

The Nokia 5110 LCD module features 8 pins for connection to your microcontroller :

Pin Name Function Connection to Arduino Connection to Raspberry Pi
1 RST Reset (active low) D12 GPIO 25
2 CE Chip Enable / Chip Select (active low) D11 GPIO 23 (CE0)
3 DC Data/Command Select D10 GPIO 24
4 DIN Serial Data In (MOSI) D9 GPIO 10 (MOSI)
5 CLK Serial Clock (SCLK) D8 GPIO 11 (SCLK)
6 VCC Power Supply (3.3V – 5V) 5V or 3.3V 3.3V (Pin 1)
7 LIGHT Backlight Control (active low – connect to GND to turn ON) GND GND (Pin 6)
8 GND Ground GND GND (Pin 6)

Important Note: The LIGHT pin toggles the backlight. Connecting it to GND turns the backlight ON; connecting to VCC turns it OFF .

Usage Guide

Arduino Setup

Hardware Connection (Standard Wiring)

LCD Pin Arduino Pin Notes
RST D12 Reset signal
CE D11 Chip Enable / Chip Select
DC D10 Data/Command select
DIN D9 SPI MOSI data input
CLK D8 SPI clock
VCC 5V or 3.3V Power (works with both)
LIGHT GND Turns backlight ON
GND GND Common ground

Note: For Arduino Mega users, the pin connections remain the same; the library will handle the SPI mapping automatically .

Software Installation

  1. Download the LCD5110 Library:

    • Download the “LCD5110_graph” library from Rinky-Dink Electronics or the Adafruit PCD8544 library from the Arduino Library Manager

  2. Install the Library:

    • In Arduino IDE: Sketch → Include Library → Add .ZIP Library

    • Or use the Library Manager to search for “PCD8544”

  3. Run Example Sketch:

    • Go to File → Examples → LCD5110 → Arduino (AVR) → LCD_graph_demo

Basic Example Code (Arduino)

cpp
// Nokia 5110 LCD Display Example for Arduino
// Using Adafruit PCD8544 Library

#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>

// Pin connections: CLK, DIN, DC, CE, RST
Adafruit_PCD8544 display = Adafruit_PCD8544(8, 9, 10, 11, 12);

void setup() {
  display.begin();                    // Initialize the display
  display.setContrast(50);            // Set contrast (0-100)
  display.clearDisplay();             // Clear the screen
  
  display.setTextSize(1);             // Set text size
  display.setTextColor(BLACK);        // Set text color
  
  display.setCursor(0, 0);            // Set cursor position
  display.println("Nokia 5110");      // Print text
  display.println("84x48 Display");   
  display.println("Hello World!");
  
  display.display();                  // Update the display
}

void loop() {
  // Your code here
}

Raspberry Pi Setup

Hardware Connection (SPI Mode)

LCD Pin Raspberry Pi Pin GPIO Notes
RST GPIO 25 Pin 22 Reset signal
CE CE0 Pin 24 Chip Enable 0
DC GPIO 24 Pin 18 Data/Command select
DIN MOSI Pin 19 Master Out Slave In
CLK SCLK Pin 23 Serial Clock
VCC 3.3V Pin 1 Power (3.3V only)
LIGHT GND Pin 6 Turns backlight ON
GND GND Pin 6 Ground

Important: The Nokia 5110 LCD operates at 3.3V logic. For Raspberry Pi, connect VCC to 3.3V (Pin 1) only .

Enable SPI on Raspberry Pi

  1. Run sudo raspi-config

  2. Navigate to Interface Options → SPI → Yes to enable

  3. Reboot your Raspberry Pi

Install Required Libraries

bash
# Install WiringPi for C++ development
cd ~
git clone git://git.drogon.net/wiringPi
cd wiringPi
./build

# Install spidev for Python
pip install spidev

Python Example Code

python
# Nokia 5110 LCD Display Example for Raspberry Pi
# Using spidev library

import spidev
import RPi.GPIO as GPIO
import time

# Pin definitions
RST_PIN = 25
DC_PIN = 24
CE_PIN = 23   # CE0

GPIO.setmode(GPIO.BCM)
GPIO.setup(RST_PIN, GPIO.OUT)
GPIO.setup(DC_PIN, GPIO.OUT)
GPIO.setup(CE_PIN, GPIO.OUT)

# Initialize SPI
spi = spidev.SpiDev()
spi.open(0, 0)  # Open SPI bus 0, device 0 (CE0)
spi.max_speed_hz = 4000000  # 4 MHz
spi.mode = 0

# Reset the display
GPIO.output(RST_PIN, GPIO.LOW)
time.sleep(0.001)
GPIO.output(RST_PIN, GPIO.HIGH)

# Your display initialization and drawing code here

Adjusting Display Contrast

The display contrast can be adjusted in software to optimize readability for your specific lighting conditions. In the Arduino library, use display.setContrast(value) where value ranges from 0 to 100 .

For Raspberry Pi, the contrast can be modified in the source code by changing the contrast variable (typical default is 45). If the display appears too dark, decrease the value; if too light, increase the value .

Important Usage Notes

  • Power Supply: The display works with both 3.3V and 5V logic, but for best results with Raspberry Pi, use 3.3V .

  • Backlight Control: The backlight can be turned on/off via software by connecting the LIGHT pin to a GPIO pin and controlling it programmatically, helping conserve power in battery-operated projects .

  • Contrast Adjustment: Different modules may have different optimal contrast settings. Start with a mid-range value (45-50) and adjust until the display is crisp and clear .

  • Low Power Applications: The display’s typical operating current below 200µA makes it excellent for battery-powered projects .

  • Viewing Angle: The LCD has a specific optimal viewing angle; position the display accordingly in your enclosure for best visibility.

Q: What types of microcontrollers can I use with this display?

The Nokia 5110 LCD module is compatible with Arduino, Raspberry Pi, ESP32, ESP8266, STM32, PIC, AVR, and most other 3.3V/5V microcontrollers .

Q: Can I display graphics and custom characters on this screen?

Yes. With 84×48 pixel resolution, you can display text, custom graphics, icons, simple animations, and even bitmap images. The PCD8544 controller allows pixel-level control

Q: Is the backlight color only blue?

This specific module features a blue backlight. However, some variants are available with white or other color backlights. The blue backlight provides high contrast and excellent visibility

Q: How do I turn the backlight on and off?

The LIGHT pin is active low: connecting it to GND turns the backlight ON, while connecting it to VCC turns it OFF. For software control, connect the LIGHT pin to a GPIO pin and control it programmatically .

Q: What is the maximum SPI speed for this display?

The module supports data transfer rates up to 4 Mbps, allowing fast screen updates without waiting times .

Q: Can I power this display from a 5V Arduino?

Yes. The display accepts both 3.3V and 5V power. When using 5V power, ensure your signal pins are at 3.3V logic or use voltage dividers/level shifters for reliable communication .

Q: Why doesn't my display show anything or shows garbled content?

Common causes include:

  1. Loose or incorrect wiring connections

  2. Missing or incorrect library installation

  3. Wrong pin assignments in code

  4. Insufficient power (ensure VCC and GND are properly connected)

  5. Contrast setting too high or too low

Q: How do I fix the display if everything appears too dark or too light?

Adjust the contrast setting in your software. For Arduino, use display.setContrast(value). For Raspberry Pi, modify the contrast variable in the source code. Try values between 30 and 90, with 45 as a good starting point .

Q: Can I use this module with Raspberry Pi's 5V pins?

No. The Nokia 5110 LCD uses 3.3V logic. Connect VCC to 3.3V (Pin 1) on the Raspberry Pi. Using 5V may damage the display .

Q: What can I build with this Nokia 5110 LCD module?

Popular applications include:

  • Weather stations: Display temperature, humidity, pressure, and forecast icons

  • Sensor monitors: Real-time display of sensor readings from multiple sensors

  • System status dashboards: Show CPU/MEM usage for Raspberry Pi or other systems

  • Handheld games: Create simple gaming devices and retro game consoles

  • Data loggers: Display logged data and statistics

  • Robotics: Show robot status, sensor readings, and debug information

  • Home automation controllers: User interface for smart home systems

Q: Is this display suitable for battery-powered projects?

Yes, absolutely. With typical operating current under 200µA and power-down mode support, the Nokia 5110 LCD is an excellent choice for portable, battery-powered devices .

Q: Do I need additional components to use this display with 5V Arduino?

While the display works with 5V power, the SPI communication operates at 3.3V logic. For reliable long-term use with 5V microcontrollers, consider using logic level converters or voltage dividers on the signal lines .

Q: Where can I find more code examples and libraries?

Popular libraries include:

  • Adafruit PCD8544 (Arduino)

  • LCD5110_graph (Arduino)

  • spidev (Python for Raspberry Pi)

  • WiringPi (C++ for Raspberry Pi)