Introduction: WIFI Enabled LED Matrix

This projects has an Arduino UNO connected to a 7219 LED Matrix with 4- 8x8 blocks. The Arduino is also connected to a ESP8266-12 Development board.

The ESP8266-12 (NodeMCU)

  • Connects to your Wifi (you supply SSID and password)
  • Starts a web server on port 80
  • Sends the Arduino its IP address (which scrolls on the LED Matrix) so you know how to go to the web server.
  • Any data enter in the form on the webpage is sent to the Arduino which scrolls it on the LED Matrix.
  • You can also port forward from your wifi router to have an internet enabled device.

Step 1: Parts Needed

You will need...

Step 2: Programming the ESP8266 Board

  1. Connect ESP8266-12 to the USB to serial programmer. Be sure to only use one with 3.3v
  2. Load the ESP8266 NodeMcu boards into the Arduino editor.
    • In File menu, under preferences
    • Put the following in the "Additional Board Managers URLs" 'http://arduino.esp8266.com/stable/package_esp8266com_index.json'
    • The in the Tools menu, click on Board and then "boards Manager"
    • Install the ESP8266 by the ESP8266 Community
  3. Load https://github.com/aapicella/WiFi-enables-LED-Mat...
  4. Set the Board to NodeMCU 0.9 (ESP-12 Module)
  5. Check jumper for programming or GPI0 to ground is connected to program

  6. Update and install program.

  7. Remove jumper and test by using serial monitor

  8. Program should print Connected follow by IP address. It will resend IP until you access the IP with web browser and enter text into the form.

Step 3: Attach 7219 LED Matrix to Arduino

  1. Connect LED power to 5V on Arduino
  2. Connect Ground to Ground
  3. Connect Clock to Arduino pin 13
  4. Connect Data or DIN to pin 11
  5. Connect CS to pin 10
  6. Install the Library
    1. Go to Sketch Menu, Include library then Manage Libraries.
    2. Install MD_MAX72XX library.
    3. Some LED Matrix require changing the MD_MAX72xx.h header file
      1. The file is located in your arduino directory under library/MD_MAX72xx/src
      2. edit it and change
      3. #define USE_FC16_HW 1
  7. Download this sketch: https://github.com/aapicella/WiFi-enables-LED-Mat...
  8. Compile and install on Arduino
  9. To test use serial monitor (set to 115200) and type in something to display on LED.

Step 4: Bring It Together

Next attach the ESP8266 to the Arduino

  1. Connect the 3.3v from Arduino to the ESP8266 module
  2. Connect Ground to Ground
  3. Connect RX to RX
  4. Connect TX to TX

Power on system by plugging in the Arduino.

The LED should Scroll "Hello!!" and soon be followed by the IP it gets from your wifi.

From your Phone, tablet or PC open a brower and put in the IP. You may need to put http:// infront of the ip.

On my home network its: http://192.168.0.21

This was my first Instructable. I hope you enjoyed it.

Comments

author
Andrewf64 (author)2017-09-12

I am trying this build this but I get this error

Arduino: 1.8.2 (Mac OS X), Board: "NodeMCU 0.9 (ESP-12 Module), 80 MHz, 115200, 4M (3M SPIFFS)"

Archiving built core (caching) in: /var/folders/rc/pbz6jhyd73d_v4qvqdqq4qqw0000gp/T/arduino_cache_598623/core/core_esp8266_esp8266_nodemcu_CpuFrequency_80,UploadSpeed_115200,FlashSize_4M3M_fa9f64009382dc5d389fb3de0b203fc6.a

Sketch uses 233609 bytes (22%) of program storage space. Maximum is 1044464 bytes.

Global variables use 33536 bytes (40%) of dynamic memory, leaving 48384 bytes for local variables. Maximum is 81920 bytes.

warning: espcomm_sync failed error: espcomm_open failed error:espcomm_upload_mem failed error: espcomm_upload_mem failed

The other thing is you mention

author
aapicella (author)2017-07-25

I took your advice and built this out without the Arduino. This build does have its advantages in lowering the complexity of the ESP8266 programming. Just Serial print and see the results. I put an Instructable up for the ESP8266 without the Arduino here: https://www.instructables.com/id/ESP8266-To-LED-Matrix-Look-Ma-No-Arduino

author
Yornotelppa (author)2017-07-09

It's great that it will work on my "wife" router but will it work on mine! ?

author
aapicella (author)Yornotelppa2017-07-23

Fixed the typo thanks.

author
chunkysteveo (author)2017-07-11

Quick, easy and cool! You don't need the Arduino Uno for this though - it can all be done with the ESP8266. Get a WeMos D1 Mini or one of the ESP8266 dev boards like the LUA boards and program/connect it all to the ESP8266.

author
arpruss (author)chunkysteveo2017-07-16

The MAX7219 LED matrices do tend to be labeled for 5V and the ESP8266 is at 3.3V (though its inputs are 5V tolerant). I did find one source that said that if you power the MAX7219 with 5V (and there is a 5V pin on the NodeMCU), it will understand 3.3V logic control. I haven't tried it. Have you tried it?

author
chunkysteveo (author)arpruss2017-07-16

5V from the board works fine. I think It even works on 3.3V if II recall... I connect it to 5V and never had issues speaking with it from the ESP8266. Same with Neopixels too...

author

Actually, just checked my NodeMCU board and both the Maxtrix display and a Neopixel strip are running off the 3.3V lines. No issues on either though! :)

author
aapicella (author)chunkysteveo2017-07-18

The LED matrix I have runs on 5v. When given 3.3v it stops working properly. The letters scroll through the first part then the display starts flickering. There are 256 leds so maybe once a certain number are lit it stops working properly. In any case the MAX7219 is rated for 5v and there is a different low voltage chip available called MAX6951 which sparkfun recommends for low voltage projects. I will rebuild this project without the arduino to verify.

author
arpruss (author)aapicella2017-07-18

Have you tried powering with 5v, but using 3.3v logic?

author
chunkysteveo (author)arpruss2017-07-20

Just tested my LED matrix and works fine on the NodeMCU board when power is connected to Vin (5v USB) pin and the data pins are all coming from the ESP8266. No issues, works fine.

author
aapicella (author)arpruss2017-07-18

No but i will. The datasheet said the min was 3.5 so it may work.

author
Naevus (author)arpruss2017-07-16

I tried. It works fine. I have a small weather station that has been operating 24/7 for more than 18 months.

author
arpruss (author)Naevus2017-07-16

Excellent! That will all simplify a project I have in mind.

author
Naevus (author)arpruss2017-07-16

And by the way! Your Arduino also has 5V interface pins. But you connected the ESP to it without any problems.

author
aapicella (author)chunkysteveo2017-07-11

That sounds like a good idea to me.

author
chunkysteveo (author)aapicella2017-07-11

I have my YouTube stats running on mine - a NodeMCU (ESP8266) board, the 8x32 matrix screen and a USB cable for power. Lovely stuff!

author
bamboombaps (author)2017-07-16

can i use this to send messages from work to my kids at home?

author
theknurd (author)bamboombaps2017-07-18

Yeah. You just have to externalize (serve) the page to the internet.

author
WannaDuino (author)2017-07-16

why the UNO>> just use a FTDI costs 1USD

Or just program the ESP, so you don`t even have to use the UNO.

I don`t get that.

WannaDuino, ESP junky.

www.wannaduino.simplesite.com.

4KIMG_20161118_160313.jpgIMG_3457.JPGIMG_3460.JPGIMG_3428.JPG
author
arpruss (author)2017-07-16

By the way, if you search for MAX7219 matrix on aliexpress, you can get the cost of the display down to less than $4.

author
RobertDan (author)2017-07-16

Very cool! I hope to make one. TY for sharing.

author
msameer39 (author)2017-07-16

Awesome buddy

author
econjack (author)2017-07-16

Following chunkysteveo, you could also use an Arduino Nano. It's pretty much exactly the same as the Uno, but much smaller and less expensive (about $3). I would not suggest buying the Nano Pro Mini even though it is cheaper, but it doesn't have the USB connector onboard, which makes it less convenient to program. If you don't know programming, look on Amazon for Beginning C for Arduino. It's written for people who have zero programming experience. Read the reviews, click on the "Look Inside" banner on the cover to view the Table of Contents to see if you think it might work for you. Disclaimer: It's my book.

author
AravindC8 (author)2017-07-09

Cool bro

author
DIY Hacks and How Tos (author)2017-07-09

Cool. This would make a great display for any Internet of Things project.

About This Instructable

7,416views

143favorites

License:

Bio: Just a guy that likes to program and connect wires to things.
More by aapicella:ESP8266-To-LED Matrix (Look Ma No Arduino)WIFI Enabled LED Matrix
Add instructable to: