Interfacing Arduino with Nokia 5110 LCD

This post shows how interface Arduino UNO board with Nokia 5110 (3310) graphical LCD screen.
The name Nokia 5110 (3310) comes from Nokia 5110 (or Nokia 3310) mobile phone. The Nokia 5110 LCD has a controller named PCD8544, it is similar to the Nokia 5110 mobile phone LCD, it uses SPI interface protocol and requires 5 control pins (or 4 pins), it’s low cost and easy to use. The resolution of this LCD is 84 x 48 which means it has 4032 pixels. This module works with 3.3V only and it doesn’t support 5V (it’s not 5V tolerant).

Hardware Required:

  • Arduino board
  • Nokia 5110 (3310) LCD module
  • 5 x 3.3k ohm resistor
  • 5 x 2.2k ohm resistor
  • Breadboard
  • Jumper wires

Arduino with Nokia 5110 (3310) LCD display

Interfacing Arduino with Nokia 5110 LCD circuit:
Example circuit diagram is shown below.

Arduino with Nokia 5110 circuit - Arduino Nokia 5110 3310

The Nokia 5110 which is shown in the circuit diagram has 8 pins (from left to right): RST (reset), CE (chip enable), DC (or D/C: data/command), Din (data in), Clk (clock), VCC (3.3V), BL (back light) and Gnd (ground).

As mentioned above, the Nokia 5110 LCD works with 3.3V only (power supply and control lines). The LCD module is supplied with 3.3V which comes from the Arduino board (VCC pin of the LCD is connected to Arduino 3.3V pin), BL pin is also connected to 3.3V.

All Arduino UNO board output pins are 5V, connecting a 5V pin to the Nokia 5110 LCD may damage its controller circuit.
To connect the Arduino to the LCD module, I used voltage divider for each line which means there are 5 voltage dividers. Each voltage divider consists of 2.2k and 3.3k resistors, this drops the 5V into 3V which is sufficient.

Interfacing Arduino with Nokia 5110 LCD code:
The following Arduino code requires two libraries from Adafruit Industries:
The first library is a driver for the Nokia 5110 LCD (PCD8544 controller) which can be installed from Arduino IDE library manager (Sketch —> Include Library —> Manage Libraries …, in the search box write “nokia” and install the one from Adafruit).

The second library is Adafruit graphics library which can be installed also from Arduino IDE library manager.

The previous two libraries can also be installed manually:
Download both libraries from the following two links:
Adafruit Nokia 5110 LCD library   —->  direct link
Adafruit graphics library             —->  direct link

Go to Arduino IDE —> Sketch —> Include Library —> Add .ZIP Library … and browse for the .zip file (previously downloaded).
The same thing for the second file.

After installing the two libraries, go to Arduino IDE —> File —> Examples —> Adafruit PCD8544 Nokia 5110 LCD library —> pcdtest, as shown in the following image:

Arduino Adafruit Nokia 5110 LCD example

After opening the example press upload and test the circuit!

Testing my hardware circuit gave me the result shown in the following video:

and the following video shows Proteus simulation of the example:

Proteus simulation file download link is below, use version 8.6 or higher to open it:
Arduino and Nokia 5110 Proteus simulation

Projects where Nokia 5110 LCD is used:
Interfacing Arduino with Nokia 5110 LCD and DHT11 sensor
Arduino with NOKIA 5110 LCD and DHT22 sensor
Arduino clock with NOKIA 5110 LCD and DS1307 RTC
Arduino clock and temperature monitor using DS3231 and Nokia 5110 LCD
Arduino Thermometer with DS18B20 sensor and NOKIA 5110 LCD
Arduino with NOKIA 5110 LCD and BMP280 sensor
Arduino Weather station with BME280 sensor and NOKIA 5110 LCD

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.