ESP8266 MAX7219 Dot Matrix Display as MQTT Client

A MAX7219 driven Display, controlled by an ESP8266 SoC and MQTT

Similar projects worth following
This project describes how to connect a MAX7219 to an ESP8266 Chip and let it act as a MQTT client. Its based on my ninHOME Node Project where you can optionally add a MAX7219 Display. But it can easily adapt to work without the other functionality especially without SPIFFS support to save space on your ESP.

The Firmware is completely based on Sming Framework for ESP8266 and is hopefully easy to use.
I will upload some binaries which you can upload without the compiling.

Formerly i use this firmware and its options for my SmartHome integration with ioBroker from where I script everything i want to control or measure. And it isn't completely ready, so if you want to contribute something ...

---------- more ----------

Here you can see the Webinterface and where you had to set up your Display

Even the time display is a simple crontab in ioBroker (probably you will use the standard crontab to achieve this) which sends the actual time to the mqtt broker to the corresponding topic which the display listens for new text.

You can find the whole source on GitHub or you can use the binaries i provide which you can upload by or the graphical pendant esptool-gui which you can find here on

The App i used in the Video is MQTT Dash which you can find on Android Playstore

 Each widget in MQTT Dash is connected to one MQTT topic of the display. It publishes the messages with a QoS of 1 and as retained message so if the display reboots or something else happend then it restores its state from the retained messages it receives on subscribing to the display topics.

  • 4 × 8x8 LED MAX7219 Dot Matrix Display
  • 1 × ESP8266 Development Board (Modded)

  • 1
    Connect Display to ESP8266

    Connect jumper wires to all 5 Pins of the first MAX7219 Display board (On the side where Data In is printed on PCB) and connect the other ends of the jumper wires to the corrosponding pins like described in the table below.

    LED MatrixESP8266
    CSChoose free GPIO, e.g. GPIO2
  • 2
    Flash the ninHOME Node Firmware

    You have more than one option to flash the ninHOME Node Firmware.

    1. Get the Source Code and compile, afterwards flash with make command 'make flash'
    2. Flash directly the Binaries with or esptool-gui -p /dev/ttyUSB0 -b 230400 write_flash -ff 40m -fm qio -fs 4m 0x00000 0x00000.bin 0xa000  0xa000.bin 0x52000  spiff_rom.bin
  • 3
    Setup the ninHOME Node Networking

    After flashing the ninHOME Node Firmware and starting up your ESP8266 it won't find any configuration in the SPIFFS so it
    will open up a Wifi Access Point which you can connect to, if you havent changed the name in the source it will be called 'ninHOME Configuration'. 

    After you connected to the Access Point you can open up a Browser and got to (if not changed in source)

    There you find an overview of the reachable Wifi Networks.

    Click on your desired network and give in the Wifi Password, after that reset your ESP8266.
    Now your ninHOME Node should be connected to your choosen Wifi Network,
    the IP of it you can find in your Router or if you open up a Serial Monitor on the ESP8266. 

    A more easy way will be implemented soon.

View all 6 instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates