Smart Display With Nokia5110 and ESP8266 | Amazing Mj

video link:- Play

In this project, we gonna control the nokia5110 display with a mobile phone using the HTTP protocol.

link to download application:- Smart Display App

I change the name of the button in the application to image1, image2, and image3
so if you want to take action when image1 button click its send data "image1"
same as image2 and image3


Here the Arduino code and circuit diagram

code :

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

String I;    // data from the mobile app.
String text;
int x, y;
char z;
                         //Adafruit_PCD8544(CLK,DIN,DC, CE,RST);
Adafruit_PCD8544 display = Adafruit_PCD8544(D1, D2, D3, D6, D5);

WiFiServer server(80);

static const unsigned char PROGMEM bhumin[] = {
  B00000000, B00000000, B00000000, B00000000, B00000001, B11111110, B00000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00000111, B11111111, B11000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00001111, B11111111, B11100000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00011111, B11111111, B11110000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00111111, B11111111, B11111000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00111111, B11111111, B11111000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00111111, B11111111, B11111000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B01111100, B00000000, B01111000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B01111000, B00000000, B00111100, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B01110000, B00000000, B00111100, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B01110000, B00000000, B00011100, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B01110000, B00000000, B00011100, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B01110000, B11110001, B11111100, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B01110011, B11111111, B11111100, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B01111111, B11111111, B11111100, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B01111001, B01111111, B11111100, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B11100000, B00001001, B11111100, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B11100000, B00000000, B11111100, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B01100000, B00100000, B01011100, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00000000, B00111111, B11111000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00000000, B00001111, B11111000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00010000, B01110111, B11111000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00001000, B01110001, B11110000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00011110, B00000111, B11110000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00011111, B10000011, B11100000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00001111, B11000001, B11100000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B10001111, B11111111, B11000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B10011111, B11111111, B10000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000001, B11010011, B11111110, B00000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00110010, B01100001, B11111100, B00000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00111100, B11100001, B11111100, B00000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00001100, B11111101, B11111100, B00000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00011100, B11011101, B11111111, B10000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B10010110, B01011110, B11111111, B11000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B11011110, B00011110, B11111111, B11100000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B11001110, B11011110, B01111111, B11100000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B01001110, B11101111, B01111111, B11110000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B01101111, B11101101, B10111111, B11110000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B01100111, B11110000, B11111111, B11111000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00110111, B11110000, B11111111, B11111000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000001, B01110011, B11110100, B01111111, B11111000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000001, B00000001, B11111110, B01110111, B11110000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000001, B00110111, B11111110, B01111111, B11110000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00011011, B11111110, B01111111, B11110000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00011011, B11111111, B00111111, B11110000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00111000, B11111110, B00111111, B11110000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B01001100, B11011111, B01111111, B11111000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00011101, B11100111, B01111111, B11111000, B00000000, B00000000, B00000000
};
static const unsigned char PROGMEM meet[] = {

  B00000000, B00000000, B00000000, B00000000, B01111111, B11000000, B00000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000001, B11111111, B11110000, B00000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000011, B11111111, B11111000, B00000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000111, B11111111, B11111100, B00000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000111, B11111111, B11111110, B00000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00001111, B11111111, B11111110, B00000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00001111, B11111111, B10011111, B00000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00001111, B10000000, B00001111, B00000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00001100, B00000000, B00000111, B10000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00011000, B00000000, B00000111, B10000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00011000, B00000000, B00000111, B10000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00001000, B00000000, B00111111, B10000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00001000, B00000000, B11111111, B10000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00001000, B01111001, B11111111, B11100000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00111001, B10111001, B10100000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B11110000, B00110000, B10100000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B11100000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B11100000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00000000, B00000001, B11000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00000111, B11101011, B10000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00000011, B11111111, B00000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00000001, B11110111, B00000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00001000, B00000111, B00000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00000001, B11000111, B00000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00000000, B00001111, B10000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00000000, B00001111, B11000000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00100000, B11111111, B11100000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00011111, B11111111, B11100000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00001111, B11111111, B11110000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00000111, B11111111, B11110000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00000001, B11111111, B11101000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00000000, B11111111, B11001000, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00001000, B11111011, B10010011, B00000000, B00000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00001000, B00010100, B11100111, B11111101, B10000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00011100, B00000111, B11001111, B11111111, B11000000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00011100, B00001111, B11111111, B11111111, B11100000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00110100, B00011111, B11111111, B11111111, B11111000, B00000000,
  B00000000, B00000000, B00000000, B00000000, B01111100, B00111111, B11111111, B11111111, B11111011, B00000000,
  B00000000, B00000000, B00000000, B00000000, B11111110, B01111111, B11111111, B11111111, B11111110, B10000000,
  B00000000, B00000000, B00000000, B00000001, B11111111, B01111111, B01111111, B11111111, B11111111, B00000000,
  B00000000, B00000000, B00000000, B00000011, B11111111, B11111111, B11111111, B11111101, B11111111, B00000000,
  B00000000, B00000000, B00000000, B00001111, B11111111, B11111111, B11011111, B11111001, B10111111, B11000000,
  B00000000, B00000000, B00000000, B00011111, B11111111, B01111111, B10001111, B11111011, B01111110, B11100000,
  B00000000, B00000000, B00000000, B00111111, B11111111, B00011111, B11111111, B11110010, B11111110, B01100000,
  B00000000, B00000000, B00000000, B01111111, B11111111, B00011101, B11111111, B11110000, B11111111, B11100000,
  B00000000, B00000000, B00000000, B01111111, B11111111, B01011011, B11111111, B11110011, B11111110, B01100000,
  B00000000, B00000000, B00000000, B01111111, B11111111, B01010111, B11111111, B11111111, B11111111, B01000000,
  B00000000, B00000000, B00000000, B01111111, B11111111, B01010111, B11111111, B11111111, B11111111, B11100000
};

static const unsigned char PROGMEM mj[] = {
  B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111101, B11111111, B10111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111100, B11111111, B00111101, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11110000, B00001100, B01111110, B00111001, B11000000, B01110000, B00000001, B00110011, B11110011, B10000000, B01110000,
  B11100000, B00000100, B00111100, B00111001, B00000000, B00110000, B00000001, B00110011, B11110011, B00000000, B00110000,
  B11100111, B11100100, B00011000, B00111001, B00111111, B00111111, B11110001, B00110001, B11110010, B00111111, B00110000,
  B11100111, B11100100, B00000000, B00111001, B00111111, B00111111, B11000111, B00110000, B01110010, B00111111, B11110000,
  B11100111, B11100100, B01000001, B00111001, B00111111, B00111111, B10001111, B00110010, B00110010, B00111111, B11110000,
  B11100000, B00000100, B01100011, B00111001, B00000000, B00111111, B00011111, B00110011, B00010010, B00111000, B00110000,
  B11100000, B00000100, B01110111, B00111001, B00000000, B00111110, B00111111, B00110011, B10010010, B00111000, B00110000,
  B11100111, B11100100, B01111111, B00111001, B00111111, B00111100, B01111111, B00110011, B11000010, B00111111, B00110000,
  B11100111, B11100100, B01111111, B01111001, B00111111, B00111000, B01111111, B00110011, B11000010, B00111110, B00110000,
  B11100111, B11100100, B01110111, B11111001, B00111111, B00110000, B00000001, B00110011, B11100011, B00000000, B00110000,
  B11100111, B11100100, B01110011, B11111001, B00111111, B00110000, B00000001, B00110011, B11110011, B10000000, B01110000,
  B11111111, B11111110, B01110001, B11110001, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111110, B00111000, B00000001, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111110, B00111100, B00000011, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B00011111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B10001111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B11000011, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B11100000, B01111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B11111000, B01111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B11111111, B01111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
  B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11110000,
};

void setup()
{
  i="";
  Serial.begin(9600);
  server.begin();
  display.begin();
  WiFi.disconnect();
  delay(1000);
  WiFi.begin("meetj", "nuosteem");       // set your SSID and password
  Serial.println("Connecting to WiFi");
  while ((!(WiFi.status() == WL_CONNECTED))) {
    Serial.println(".");
    delay(1000);
  }
  Serial.println("i am connected");
  Serial.println((WiFi.localIP().toString()));
  display.setContrast(0x3A);
  display.clearDisplay();
}

void loop()
{
  WiFiClient client = server.available();
  if (!client) {
    return;
  }
  while (!client.available()) {
    delay(1);
  }
  i = (client.readStringUntil('\r'));
  i.remove(0, 5);
  i.remove(i.length() - 9, 9);
  Serial.print("data = ");
  Serial.println(i);

  for (int a = 0; a < i.length(); a++) {
    if (i.substring(a, a + 1) == ",") {
      x = i.substring(0, a).toInt();
      y = i.substring(a + 1).toInt();
    }
  }
  z = i.charAt(0);

  Serial.print(x);
  Serial.print("  ");
  Serial.println(y);


  ////////////////////for Nokia////////////////////////////
  display.drawPixel(x, y, BLACK);
  display.display();

  if (z == '.') {
    display.clearDisplay();
    text = i.substring(1, i.length());
    display.println(text);
    display.display();
  }

  if (i == "clear") {
    display.clearDisplay();
    display.display();
    Serial.println("display is clear");
  }

  if (i == "mj") {
    display.clearDisplay();
    display.drawBitmap(0, 0, mj, 88, 48, BLACK);
    display.display();
    Serial.println("show AmazingMj");
  }

  if (i == "bhumin") {
    display.clearDisplay();
    display.drawBitmap(0, 0, bhumin, 80, 48, BLACK);
    display.display();
    Serial.println("show Bhumin");
  }
  if (i == "meet") {
    display.clearDisplay();
    display.drawBitmap(0, 0, meet, 80, 48, BLACK);
    display.display();
    Serial.println("show meet");
  }
}

// end of the code

diagram :
AmazingMJ

Comments