16×16 animated gif frame

I once saw a Kickstarter project, where they made a frame with a animated gif.
So I wanted to try that out.

My main concern, was how a Arduino would read a GIF file, and convert it into a color code that the ledstrip could understand.
Luckily I found this site, which helped me with converting a GIF into a text file containing the colorcodes.

http://www.themeu.net/downloading-animated-gifs-onto-meu/

I customized the code to fit my needs, and coded the Arduino from scratch – actually I coded it twice, as I accidentally delete me sketch during development…
(now I have Carbon Copy Cloner, which backups to my network drive!)

And here is the end result:

animatedGif

Heres a list of the component used for this build – all found and bought through eBay.

  • A square frame (mines from IKEA)
  • RGB LED strip (256 leds)
  • 2 x Arduino
    • One for the running the ledstrip
    • One for the lcd menu system
  • SD card reader (and a SD card)
  • Nokia 5110 lcd
  • Power regulator to turn 12V to 5V and 5V to 3.3V (for the lcd)
  • Laptop 12v power supply.

During developing stage, I used an Arduino Duemilanove I already had. But for the finished product, I made “DIY” Arduino from a guide I found online. On afterthought, maybe I could’ve bought a cheap knockoff online, for less money… but where the fun in that 😉

At first I try using only one Arduino, but I ran out of memory, when I added the code for the lcd. It used a lot of memory to store all the characters.
So instead, I’m using two Arduino. And they are communicating via the serial port.

As a side effect of having two Arduino, is that the menu system is quick and responsive, as it does not need to wait for the ledstrip to be processed.

My next plan is to add a ESP8266, so that I can upload a new image file remotely.
But so far I havn’t had any succes using the ESP8266 as a webserver. I can’t get it to run without it freezing.

More about the software later…

  • The LED strip is glued to a piece of cardboard

Leave a Reply

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