Twitter Matrix

Based on the LED Matrix Link's and NodeMCU Twitter Matrix is an 8x LED Matrices display to scroll tweets of your desired hashtag.

Similar projects worth following
After designing the LED Matrix Links over three years ago I needed a way to show them off. At the time our wedding was on the horizon so with the help of my friend Warren we designed the (what I just named as) Twitter Matrix. Originally it was to scroll tweets during the reception except it didn't go as planned. In the end its still a great project for MakerFaire booths, events or your workbench.

Over the years this project has had 3 iterations. Each with its own improvements. I will add a project log for each iteration to catch up to the current state of the project.


The hardware consists of 8x LED Matrix Links and a nodeMCU which is the esp8266 ESP-12E with USB and broken out to .1in headers. For power I will either use a LiPo battery or 5V USB battery pack.

Each link is a 8x8 LED matrix with a controller board. The controller board is a PCB the same size as the LED matrix with the AS1107 which is controlled via SPI and takes care of all the work of multiplexing the LEDs. It's the same as the popular MAX7219 but a bit cheaper and wider voltage range.


Twitter Notes

Originally you could connect to Twitter directly with their search API. Now you have to authenticate with user specific API keys. Since the code was running on the Arduino originally it was better to offload connecting to Twitter and authenticating. Since this worked well I kept the same setup with the esp8266. The PHP Twitter gateway runs on my own web server. For more info on the gateway check my links for the Github repo.


Upon startup the micro connects to an AP but also creates its own AP to serve up the configuration page. Then checks for an internet connection and gets its public IP. The public IP was going to be so you can connect to configure it but the Karma hotspot acts as a router. Still could be useful. The configuration page shows the status, local/public IP, MAC, and current hashtag set.

Once connected it connects to my web server to get the latest tweets and saves them to a queue. Then the display time for each tweet is set based on the time between refreshes which is defaulted to 5mins. Retweets are filtered out (I can't remember why). I set the number of tweet to retrieve at 20 so that we have plenty to display since Twitter only retrieve so many and depending on how active the hashtag is. Usually it only gets less than 10.

Finally after the 5min we rinse and repeat

  • 8 × LED Matrix Link Easy to use 8x8 LED Matrix
  • 1 × NodeMCU ESP8266
  • 1 × Karma Go Hotspot Prepaid hotspot
  • 1 × Wood
  • 1 × Brass strips From Ace Hardware

View all 6 components

  • Using Karma Go Hotspot

    MobileWill04/18/2016 at 00:33 0 comments

    Just wanted to post a quick note on how to get a device like the esp8266 to work with a hotspot that requires sign in to work. There is the hard way to have the esp8266 actually do a sign in which would be required for public hotspots. If you are not familiar with the Karma Go, it's a prepaid hotspot and your data never expires. Great for projects on the go. The coolest part is if other people sign up via your hotspot you get 100MB, hence the name Karma. To accomplish this you have to sign in to your account when you use the hotspot. Fear not! Karma allows you to add your MAC address to your account so that device doesn't have to sign in. Just contact support to get it added. I added both the nodeMCU and Oak from digiStump since I wasn't sure which I was going to use. At least for development I am using the nodeMCU since the SSID is easier to change back and forth for testing.

  • NodeMCU

    MobileWill04/18/2016 at 00:15 0 comments

    This month I decided to revive this project and bring it to the Maker Faire Bring-A-Hack. This time I have a bunch of the NodeMCU that I sell on our Tindie shop. This opened up the project with lots of options. The esp8266 is so much more powerful since I can connect to the internet, host a configuration page and scroll the LED's super fast.

    <insert pic of nodeMCU build>

    Currently I have ported the code to the nodeMCU and created a configuration page.

    Now I need to add some more configuration options to set scroll speed and Twitter refresh time without having to recompile.

    The only issue is I am using a CDN to get the Bootstrap/Javascript libraries which doesn't work over the AP unless you have visited the site previously had left the tab open. I was going to use the public IP to access it directly but the Karma Go hotspot acts as a route and therefore the nodeMCU isn't directly accessible. So I will probably move the libraries to be loaded directly from the nodeMCU. Heck there is plenty of space on it anyway.

  • DigiX

    MobileWill04/17/2016 at 23:49 0 comments

    Sometime after the wedding I decided to revisit this project. I had received the DigiX from Digistump. It was the first fit, fast Arduino Due and WiFi in one. It simplified the project greatly.

    <Insert picture here>

  • First Iteration

    MobileWill04/17/2016 at 23:44 0 comments

    This project originally started with 8x LED Matrix Links a Arduino Mega and the Arduino ethernet shield. This was just enough to get a prototype going as proof of concept so I could work on the code.

    I quickly found that scrolling 8 LED Matrix Link and pushing all those pixels around was a bit much for the Arduino Mega. A few years ago I received a Arduino Due Beta unit to test with at the Maker Faire so it was time to put it to use. Much better for pixel pushing.

    Much better. But I still need to make it wireless so at the time there wasn't the wonderful world of esp8266. Only the pricey WiFi shields. I settled on the Wifly shield which died shortly after, of course just in time for the wedding.

    I made a short video comparing the difference in speed of the two. Big difference.

View all 4 project logs

Enjoy this project?



oshpark wrote 05/24/2016 at 08:44 point

Loved this project at #BringAHack!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

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