February 27, 2011
The Lol Shield Theatre
lol shield close-up

This should be out front of robot hospitals

Hello and welcome to Lol Shield Theatre – Behind the Scenes!

This is a project that I put together after wondering what I could do with the blinky, shiny, wonderful Lol Shield.  Who couldn’t love an Arduino covered in tons of leds? (Rhetorical question, the answer is people who hate fun.)

The Lol Shield Theatre is a combination of software and hardware, a web site and an arduino Lol Shield.

If you’d like to jump right into the fun without lots of boring exposition, head straight to: https://falldeaf.com/lolshield/.

Otherwise, let me take you through the steps that made this project possible. First I built a web app that allows you to create and view animations using 9 x 14 pixels, the same amount of pixels on the Lol Shield. The interface is pretty much all javascript, no crazy flash and Jquery was an enormous help in this project. The site builds an xml file that is stored in a database and can be reached through a rest API. There’s two feeds, one for humans and one that is read by my Lol Shield code.

This site looks a bit (exactly) like this:

Show page on Lol Shield Theatre

Here's where you'll view other peoples animations and vote down their work out of jealousy. (It's cool, we all do that)

The create page on lolshield

This is the build page where you'll have to figure out how to make animations pretty much on your own. Reading instructions are for suckers.

Next, I wrote two pieces of software, one is an Arduino sketch that uses the Lol Shield library, downloadable here. The other is a python program that communicates with my site and then to the Arduino through the usb or serial port.

Here is all my code: LolShieldtheatreProject-update

The Arduino sketch just needs to be uploaded to any shield compatible Arduino. Check out Lady Ada’s lovely tutorial if the previous sentence  frightened or confused you.

The python program connects to the Lol Shield Theatre site and downloads animations using an API with the following options:

API: https://falldeaf.com/lolshield/robot_xml.php?

  • feed= ( pop, new, all, user ) – for the most popular, the newest, all/random animations or animations from a specific author, respectively
  • user= ( ‘author name here’ ) – Set the feed to pull from a specific author (you?); feed must be set to user
  • items= ( int ) – The maximum number of animations to pull down

It’s run from the command line and needs three arguments, or use -h to get help:

  1. -u : This is the url of the xml feed that has the animations. (https://falldeaf.com/lolshield/robot_xml.php is the default)
  2. -t : The amount of time to wait before updating from the next with new animations, it will default to 30 minutes
  3. -d : This the device to try and use i.e. ‘/dev/ttyUSB0’

Have a look at the shield in action:

Another Desk shot of my Lol Shield

Yah, that's my girlfriend IM'ing me and yes she's real, I'm a nerd with an awesome girlfriend, no big.

Desk shield

Another lol shield shot, I'm waiting to move into a new home so that crappy, belkin, wireless stick is how I connect to the internet, now. Seriously :/


HI, Human. Do not be scared. There is a high probability that you will be spared in the coming robot apocalypse.

George Washington Carver

A stately looking George Washington Carver

I felt a bit like George Washington Carver on this project. He worked hard to invent uses for the peanut in an attempt to make them more valuable; which helped poor southern farmers. Lady Ada, Sparkfun and Jimmie P Rodgers aren’t poor *or* farmers, they’re all cool people. And while, just like the peanut, the Lol Shield is awesome on it’s own merits, hopefully I’ve just made it more valuable! :)

And just to make sure I overdo it with media, here’s a link to the overlong video showing how it all works! :)

Update: Holy cow I made it on Lady Ada’s blog! http://www.adafruit.com/blog/2011/03/02/the-lol-shield-theatre/

Check out these cool animations that her readers have made :)

Update 2: Jimmie Rodgers got a chance to see my project, neat! Even cooler he had a pro-tip for me to fix my LED ghosting problem. “Oh, and if you want to get rid of the ghosting LEDs, just cut out either the resistor or LED connected to pin13 on your Duemilanove Arduino.”



Hey thanks for reading this far! Maybe you'll be interested in more of my projects? Check out my homepage :)