When I went to Berlin, Germany in January 2010, I was glad to discover the Arduino electronic board, and the Lol Shield from Jimmie P Rodgers.

We even made, with Coucouf, a Tetris, a Pong and a Space Invader based on the same board Arduino+LolShield

In May 2010, after I bought a bunch of 8×32 led panels from Sure, I wrote a driver to write texts on those panels, and here is the result …

So, in may 2010, I bought 7 Sure0832 Led panels (they are red leds, but it also exist with green or orange leds). This panel can be electronically driven by 3 pins, plus the power (5V).

a Sure0832 led panel, front

So, I developed a library to drive this led panel and show nice variable-width characters (even european languages accents !), and link those panels together. I eventually managed to build a big wood plank with 7 led panels put end to end !

The Octopuce Led panel !

The electronic bloc with Arduino shown to appear like a home-crafted stuff !

Of course, arduino is a little bit slow (its CPU power is not enough to be quick and fluent) to drive all those led panels, but the result is not that bad …

The funny geeky part : when I developed the library for 1 panel, it worked perfectly. When I tried with 2 or more, the program crashed every time. I didn’t have enough RAM to do this!

After reading thoroughly my code to fix this, I finally found the problem: the array containing the characters glyphs was declared that way: uint8_t font1[]. But this was no variable data, it’s obviously constant data! I should have declared this array that way: const uint8_t font1[] so that it don’t get copied into RAM when the program starts!

(remember that arduino have 32KB of flash memory, but only 2KB of RAM!!)

To conclude, you can download the code below, which is the library I developed thanks to many other guys on the Internet who made parts of the job. All what I publish is given under a GPL v2 or later license.

Sure 0832 Led Driver for Arduino

Categories: English