Arduino Mega Ethernet Shield & SD Card + 300 RGB LED strip = Information Display

I posted this originally about 10 months ago with a link to a youTube video of it working. I've finally managed to do a "how to" video with a bit of an explanation, and I've posted up all of my code as well.

I originally used the Wifi shield, but recently ditched it for an Ethernet shield which is so much more reliable.

So, this project uses a 300 RGB LED WS2811 strip which has been cut into 10x30 strips to make the display. I moved to a Mega as I ran out of memory and this project uses PROGMEM to utilise the flash memory. The Ethernet shield is used to make a request to my website which calls a php file, that in turn calls the World Weather Online API for my local weather information. This is split and formatted into a string that has the time appended onto it. All of this is then read by the ethernet client. As this is called every ten minutes, it means that I can display up to date time without a RTC.

The SD card used to read a message at the moment, but the functionality can be used for any purpose. I originally kept the SSID and Password for my wifi on there. More importantly, this project reads a series of bitmap images in and then takes the data, converting it into the RGB values needed for the display.

There is a slight bodge job on the text display, there is probably a whole series of better ways to create and scroll text at the pixel/binary level. If anyone has any suggestions, please comment.

The generative art bits were fun to make so I've annotated all of the code and posted it on my website. http://r3dstar.co.uk/?p=264

Anyway, if you find any of this useful, let me know.

I've added a couple of new animations and icons for the weather.