WiFi-enabled Color LED Matrix using ESP8266 and WS2812 LEDs

Last Thursday I had a lot of fun doing a workshop at my college (UMass Amherst) where I taught students to use a Wi-Fi-enabled Color LED matrix combined with JavaScript programs to create animations displayed onto the LED matrix. The matrix is made of 5×7 WS2812 (Neo Pixel) LEDs. I’ve actually designed it two years ago and wrote a blog post about it. Back then I was using an Arduino-compatible Square Wear Mini to control the display patterns. It was fun to play with, but changing the display patterns require modifying the Arduino sketch and upload it over and over again, which took a lot of time.
WiFi-enabled Color LED Matrix using ESP8266 and WS2812 LEDsThis time, I improved the design by simply using a ESP8266 Wi-Fi chip mounted at the back of the LED matrix. I wrote a firmware with a minimal set of HTTP GET API, with which you can set all pixels colors, set the brightness, or tell it to scroll a line of text. What’s cool about it is that you can now use Java scripts to send animation frames to it on the fly, which is a lot easier compared to re-writing and uploading an Arduino sketch. In addition, you can take the LED matrix on the go and use your mobile phone to control it, which is nice for wearable electronics.
The video below goes through the details. Take a look at it first. Essentially, combining ESP8266 with the LED matrix makes a little wireless display. The next thing I should work on is to figure out how to stream video to it. It’s going to be very very low resolution for sure, but it’s gonna be fun, and I can always daisy chain multiple matrices to make a larger display

Workshop Materials

Below you can download the materials I prepared for the workshop, including the Arduino firmware code (compliable in Arduino using ESP8266 core with Neo Pixel library), the JavaScript programs I wrote, and the power point slides with lots of details and can be used as a 1-2 hour tutorial.
Read More: Wi-Fi-enabled Color LED Matrix using ESP8266 and WS2812 LEDs

Leave a Comment

Your email address will not be published. Required fields are marked *