Wifi enabled 8×64 pixel LED matrix display
This project is a modification of my previous Bluetooth-enabled LED matrix display project, which used 8×64 monochromatic LED matrix (total 512 LEDs) for displaying scrolling text message. The original project used Bluetooth for display data transfer from a smartphone, but this one now uses Wifi. The display message is sent through web browser to a ESP8266 module that is configured as a web-server. No Arduino or any other microcontroller is used. ESP8266 alone works as a WiFi server and drives the MAX7219-based LED matrices.
Things needed (available on my Tindie Store):
- Easy Matrix modules (8 pcs)
- Dual power supply module (1 pc)
- NodeMCU ESP8266 board (1 pc)
- Wires, enclosures, etc
The 8×64 pixel display matrix is constructed using eight Easy Matrix display modules in a cascade.
What is Easy Matrix?
Easy Matrix is an easily cascadable 8×8 monochromatic LED dot matrix display module with onboard MAXIM’s MAX7219 LED driver chip. The MAX7219 allows you to drive the LED matrix using only three I/O pins of Arduino or any other microcontroller. The LED matrix module used in Easy Matrix has a bigger dot size (5mm) and has the overall display dimensions of 60.2mm x 60.2mm (2.4″x2.4″). It is easily cascadable in series with the help of precisely aligned male and female header pairs located on the left and right sides of the display module. With lots of freely available Arduino libraries for MAX7219 chip, this module is easy to use in any Arduino project for displaying basic text and animation.
For this project, I used 8 Easy Matrix modules cascaded in series to construct a 8×64 LED matrix display. The input header of Easy Matrix are located on right side and consists of three signal lines (DIN, CLK and LOAD) and two power supply lines. The signal lines are driven using the ESP8266 SPI pins. So, connect DIN, CLK and LOAD pins of the rightmost Easy Matrix input to D7 (GPIO13), D5 (GPIO14), and D3 (GPIO0) pins of NodeMCU, respectively. The 5V DC supply for Easy Matrix and 3.3V for NodeMCU are provided using a Dual (+5V/3.3V) regulated power source. These components are all enclosed into a customized box made out of furring strip boards from Home Depot. Note that while programming the NodeMCU board, no external power supply is required as it is supplied from the USB port. But when it is placed inside the enclosure with other display modules, its 3.3V pin should be connected to the 3.3V pin of the dual power supply board. Following figure shows the connections between the power supply, NodeMCU, and LED matrix panel.
The input to the power supply module can be provided from a 9V/1A rated DC wall adapter. For portable use of the display, I use a 9.6V Ni-MH battery pack for input power.
For this project, the NodeMCU is programmed using Arduino IDE. You will need to setup ESP8266 Arduino core for this. Other Arduino libraries required are Max72xxpanel, and Adafruit_GFX. The project also requires ESP8266 Wifi support libraries that get preinstalled with the ESP8266 Arduino core setup. The NodeMCU is programmed to act as a webserver in the local Wifi network. The IP address of the webserver is displayed on the LED matrix scrolling from right to left when the project is powered on. Then type in the same IP address in the URL field of a web-browser on a computer that is connected to the same network. The ESP8266 webserver returns a data entry field to the browser screen, where you can enter the text message that you would like to be displayed on the LED matrix.
Download code: Easy_Matrix_demo1_scrolling_message_wifi_2
Note: Make sure you change the SSID and password in the code to match with your network.
After uploading the code to ESP8266, when the display is powered on, you will see the IP address of the ESP8266 Webserver scrolling on the LED matrix panel.
Next, type in this IP address on your computer browser, you will see the following page is returned by the ESP8266. The computer must be on the same WiFi network.
Type in the message that you would like to send to the display and hit Submit button. The message is received by the ESP8266 webserver and is displayed on the matrix panel.
I hope you enjoyed reading this project. You can use the above links if you are interested to buy the major parts required to build this project.