The classic 5110 Nokia Screen

The classical Nokia 5110 graphic display screen has a resolution of 84 x 48 pixels & can be used to display simple graphics & data in various projects. Therefore, in this post, we’ll be exploring how we will interface the Nokia 5110 display with the Arduino, firstly through the hard(ware) way and later, using a library.

Overview

These displays were once used in the Nokia 5110 cellphone (sold during the 90’s) as a display, but now they are more commonly used in projects. Having a back light (actually just LEDs shining at the left & right sides of the display), this monochrome display is powered by a PCD8544 controller/driver & it uses SPI for communications.

 

Parts Required

For this tutorial, we would be using:

  • Arduino Uno x 1
  • Jumper wires (A few)
  • 10KΩ Resistors x 4
  • 1KΩ Resistor x 1
  • 330Ω Resistor x 1
  • Breadboard x 1

Hooking it up

For the data transmission pins, Clk and Din (MOSI), we’ll use the Arduino’s hardware SPI pins, which will help to achieve a faster data transfer. The chip enable/select (CE), reset (RST), and a data/command (DC) pins will be connected to the various digital I/O pin. Lastly, the LED pin should be connected to a PWM-capable Arduino pin, so we can adjust the backlight accordingly, or you can connect it to the 3.3V terminal with a 330Ω Resistor.

However, for this Nokia 5110 LCD display, it has a maximum input voltage of 3.6V, so we can’t hook up a standard 5V Arduino directly. We need to perform level shifting, so we’ll be using limiting resistors to limit the voltage. (Actually a level shifter can be used, but we wouldn’t be using it here today.)

For each signal, there is an inline resistor connected before each pin (other than the Vcc & Gnd pins). Connect a 10kΩ resistors between the RST, DC, Din & Clk pins; a 1kΩ resistor between CE and pin 7. Add a 330Ω resistor between the 3.3V rail and the BL (Backlight) pin. (Optional) Below is the summary of the connections:

LCD Pin

Arduino Pin

Limiting Resistor

RST 6 10kΩ
 CE (Chip Enable)  7 1kΩ
DC (Data/Command)  5 10kΩ
 Din (MOSI) 11  10kΩ
Clk  13  10kΩ
 Vcc  3.3V  –
BL  3.3V  330Ω
Gnd  Gnd  –

Hard(ware) Way

Before we jump in & use a library to control the display, we’ll be using the commands available in the PCD8544 driver to display some simple text. We’ll be modifying the code written by Julian Ilett (Thanks!) and animating the text instead. The codes are as shown below:

For more information & examples, you can visit the following:

 

Library

adafruit_logo

Now, we’ll be using Adafruit’s PCD8544 Nokia 5110 LCD library to control the library. The library can be downloaded here: https://github.com/adafruit/Adafruit-PCD8544-Nokia-5110-LCD-library. Download & install the library. (Make sure you have the Adafruit GFX library downloaded & installed too as this library will provide the graphics functionality of the Nokia 5110 display.) After that, copy the code below. The code below is actually the example sketch of the PCD8544 library, but I modified the code a little. (Like changing pin numbers, modifying comments, etc.)

Upload the code, and the display should be running the demo!

 

Demo

Share this post:

You may also like...

Leave a Reply