Interfacing Nokia 5110 LCD with Arduino
Nokia 5110 LCD Display
The Nokia 5110 LCD is a low-power, monochrome display originally used in mobile phones. It’s perfect for Arduino projects due to its simplicity and ability to show graphics and text clearly, making it ideal for dashboards, sensors, and menu systems.
Working Principle of Nokia 5110 LCD
The Nokia 5110 LCD uses a PCD8544 controller to drive the display. It communicates with the Arduino using SPI protocol. The display is updated by sending commands and data over the SPI bus, allowing full control over each pixel.
Features of Nokia 5110 LCD
Resolution
- Each pixel can be turned ON or OFF individually.
- Can display small fonts, charts, and animations.
- Ideal for compact graphical output.
Low Power Consumption
- Operates at 3.3V logic level.
- Consumes very little current.
- Great for low-power embedded systems.
Requirements
1. Arduino Uno/Nano
2. Nokia 5110 LCD Display
3. 10K Resistors (for voltage dividers if needed)
4. Jumper Wires & Breadboard
Pin Configuration of Nokia 5110 LCD
LCD Pinout
- RST: Reset the display (connect to digital pin).
- CE: Chip Enable (active low, connect to digital pin).
- DC: Data/Command control pin.
- DIN: Data input (SPI MOSI).
- CLK: Clock (SPI SCK).
- VCC: Power supply (3.3V).
- BL: Backlight (optional, connect through a resistor).
- GND: Ground.
Wiring the Nokia 5110 LCD to Arduino
To connect the Nokia 5110 to Arduino, use the following mapping: RST to D12, CE to D11, DC to D10, DIN to D9, CLK to D8. Make sure to use a 3.3V regulator or resistors if your Arduino is 5V to avoid damaging the display.
Algorithm
Initialize Components
- Include necessary libraries like Adafruit_PCD8544.
- Define the pins connected to the LCD.
Setup Configuration
- Use lcd.begin() in setup() to initialize the display.
- Set contrast and clear the screen using lcd.setContrast() and lcd.clearDisplay().
Display Data
- Use lcd.setCursor() to position text.
- Display messages using lcd.print().
- Refresh screen using lcd.display().
Test the Project
- Upload the code to Arduino.
- Check that text or graphics appear clearly on the screen.
Arduino Code
1#include <Adafruit_GFX.h>
2#include <Adafruit_PCD8544.h>
3
4// Nokia 5110 pin connections: RST, CE, DC, DIN, CLK
5Adafruit_PCD8544 display = Adafruit_PCD8544(9, 8, 7, 6, 5);
6
7void setup() {
8 display.begin();
9 display.setContrast(50);
10 display.clearDisplay();
11 display.setTextSize(1);
12 display.setTextColor(BLACK);
13 display.setCursor(0, 0);
14 display.print("Hello, Nokia!");
15 display.display(); // Refresh to show content
16}
17
18void loop() {
19 // Static text
20}
21
Applications of Nokia 5110 LCD in Projects
- DIY weather stations
- Sensor value display
- Menu-driven embedded systems
- Portable game consoles
- Smartwatch prototypes
- Data logging interfaces
Conclusion
Integrating the Nokia 5110 LCD with Arduino is an effective way to add low-cost graphics to your projects. Whether you're creating a custom user interface or just showing sensor data, this display is both versatile and power-efficient.