[Update 13/07/2013 – Apprently the kit is in the process of being revised. Watch Sparkfun or Jimmie’s webpage for updates]
Another month, so time for another kit review. In this article we exame the LoL Shield by Jimmie P. Rodgers. So what’s all this about? Simple – the Lol Shield is a shield with nine rows of fourteen 3mm diameter LEDs, and at the time of writing was available in various colours. The shield has many uses, from being another form of hypnotising blinking LEDs, to displaying messages, artwork, data in visual form, or perhaps the basis for a simple computer game. More on that later – first, let’s see how it goes together.
As is becoming the norm lately, the kit arrives in a resealable anti-static bag:
The contents are few in type but huge in number, the PCB:
… at which point you start to think – “Oh, there goes the evening”. And the LEDs confirm it:
You will need 126 LEDs. There was a surplus of seven in my bag, a nice thought by the kit assemblers. There isn’t too much to worry about to start off with, just remember the anodes for the LEDs are on the left-hand side, and start soldering. The greatest of shields starts with a single LED:
However after a while you get into the swing of it:
At this point, one wonders if there is a better way to solder all these in. If you diagonally stagger the LEDs as such:
the legs stay well apart making soldering a little easier:
… however one still needs to take care to keep the LEDs flush with the PCB. I wouldn’t want to do this for a living… Still, many more to solder in:
And – we’re done!
Phew – that’s a lot of LEDs. An inspection of the other side of the PCB to check for shorts in the soldering is a prudent activity during the soldering process. The final step was to now solder in the shield header pins:
And – we’re done! This example took me just over one hour, includind a couple of stretch and breathe breaks. When soldering a large amount, always try to have good ventilation and hopefully a solder fume extractor as well. Furthermore, pause to check your work every now and then, you don’t want to install the lot and find one LED is in the wrong way. To control the 126 LEDs the LoL Shield uses a technique called Charlieplexing. Furthermore, the creator has documented his design process and how this works very well on his website located here.
From a software perspective – there is a library to download and install, it can be found in the downloads section of this site. Don’t forget to use the latest version if you’re using Arduino v1.0 or greater. This will also introduce some demonstration sketches in the File>examples section of the Arduino IDE. The first one to try is basic test, as it fires up every LED. Here is a short video of this example:
Now that we have seen some blinking action, how do we control the shield? As mentioned earlier, you will need the library installed. Now consider the following basic sketch – it shows how we can individually control each LED:
Basic demonstration of LoL shield
http://tronixstuff.com/kitreviews > LoL Shield
Needs library from http://code.google.com/p/lolshield/
int ad=20; // used for arbitrary delay
LedSign::Init(); // initializes the screen
for (int x=0; x<14; x++)
for (int y=0; y<9; y++)
LedSign::Set(x,y,1); // turns on LED at x,y
for (int x=0; x<14; x++)
for (int y=0; y<9; y++)
LedSign::Set(x,y,0); // turns on LED at x,y
As you can see in the sketch above we need to include the “Charlieplexing” library, and create an instance of LedSign in void setup(). Then each LED can be easily controlled with the function LedSign::Set(x,y,z) – where x is 1~14, y is 1~9 and z is 1 for on, or 0 for off. Here is a short video of the example above in action:
If you want to display animations of some sort – there is a tool to help minimise the work required to create each frame. Consider the example sketch Basic_Test that is included with the LoL Shield library – take note of the large array described before void setup();. This array contains data to describe each frame of the animation in the demonstration sketch. One can create the variables required for each frame by using the spreadsheet found here. Open the spreadsheet (Using OpenOffice.org or Libre Office), then go to the “Test Animation” tab as such:
You can define the frame on the left hand side, and the numbers required for the Arduino sketch are provided on the right. Easy. So for a final example, here is my demonstration animation. You can download the sketch, and the spreadsheet file used to create the variables to insert into the sketch.
However, thanks to an interesting website – there is a much, much easier way to create the animations. Head over to the LoL Shield Theatre web site. There you can graphically create each slide of your animation, then download the Arduino sketch to make it work. You can even test your animations on the screen just for fun. For example, here is something I knocked out in a few minutes – and the matching sketch. And the animation in real life:
So there you have it – another fun and interesting Arduino shield that won’t break the bank. For further questions about the Digit Shield visit the website.
As always, thank you for reading and I look forward to your comments and so on. Furthermore, don’t be shy in pointing out errors or places that could use improvement. Please subscribe using one of the methods at the top-right of this web page to receive updates on new posts, follow me on twitter, facebook or Google+, or join our Google Group for further discussion. No pre-teen girls were used in this kit review.
High resolution images are available on flickr.
[Note – The kit was ordered by myself and reviewed without notifying the manufacturer]