Information Display System using WeMOS and MAX7219

MAX2219_Dot matrix

[sg_popup id=3]
This tutorial is all about making a WiFi based information display system using WeMOS

This tutorial is all about making a WiFi-based information display system. This system is built around ESP8266 but not the standalone ESP8266 instead WeMOS is used and programmed using Arduino IDE. So In this video, we will check out how to make an information display system like that using Wemos and MAX7219 based dot matrix display modules. The display system fetches data from the local/online server and displays the received. In this system, u can display any data that you want and that’s up to you however over here I am using this to display my YouTube subscribers and Twitter followers count.




[adrotate banner=”5″]


#include <ESP8266WiFi.h>
#include <SPI.h>
#include <bitBangedSPI.h>
#include <MAX7219_Dot_Matrix.h>

const byte chips = 4; //No of MAX7219 Dpt Matrix Display
unsigned long lastMoved = 0;
unsigned long MOVE_INTERVAL = 100;  // mS
int  messageOffset;

MAX7219_Dot_Matrix display (chips, 2);  // Chips / LOAD 
char message [90] = "WeArGenius                       "; //String to be displayed

const char* ssid = "weargenius"; // SSID Of the Router
const char* password = "omisoksbwn";// Access point Password
const char* host = ""; //Server IP or URL
int requestTime=0;
int exitT=1;

void updateDisplay ()
  display.sendSmooth (message, messageOffset); //Display commands for the Matrix
  // next time show one pixel onwards
  if (messageOffset++ >= (int) (strlen (message) * 8))
    messageOffset = - chips * 8;
}  // end of updateDisplay

void setup() {
  display.begin (); //Initialize teh displays
  Serial.print("Connecting to ");
  WiFi.begin(ssid, password); // Initiate connection to the Wi-Fi network
  while (WiFi.status() != WL_CONNECTED) {
  Serial.println("WiFi connected");  
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP()); //Printout the IP assigned to the module in DHCP
  display.setIntensity(15); // Intensity of the Dot Matrix module can be 0-15

void loop() {
  if(millis()-requestTime>120000){ // Request data from the Srever after every 2 Minutes
    Serial.print("connecting to ");
    WiFiClient client;
    const int httpPort = 80;
    if (!client.connect(host, httpPort)) { //Connect to SERVER
      Serial.println("connection failed");
    String url = "/test/index.php"; //Path of the webpage in the server to request
    Serial.print("Requesting URL: ");
    client.print(String("GET ") + url + " HTTP/1.0\r\n" +
        "Host: " + host + "\r\n" + 
        "Connection: close\r\n\r\n");

    while (client.available() == 0) { // check Response from server
    if (millis() - requestTime >30000) { // 30 seconds to wait for response before timeout
      Serial.println(">>> Client Timeout !");
    String line="";
    while(client.available()){ // Read response from Server
      line += client.readStringUntil('\r');
    line=line.substring(line.indexOf('[')+1,line.indexOf(']')); // Process the response
    int i;
    for (i=0;i<line.length();i++) // Put response  to char array to display
      Serial.println("closing connection");
  for(int i=0;i<5000;i++){ // Display the content
    if (millis () - lastMoved >= MOVE_INTERVAL){
      updateDisplay ();
      lastMoved = millis ();

[adrotate banner=”3″]


MAX7219 Circuit

Github Repository:

Related Links:

MAX7219 Library for WeMOS:
Arduino HTTP Call (ESP8266):
Fetch data using XPATH and PHP:
Programming Esp8266 using Arduino IDE:

More Videos on ESP8266:
Projects Like This:

Getting started with ESP8266 :
ESP8266 with Raspberry Pi :

Subscribe on YouTube :

Guys Subscribe to my channel for latest contents into your inbox.
Support me to keep going.

Related posts

Leave a Comment