Monthly Archives: April 2015

Arduino 16×8 RGB Matrix Disco Clock

Disco Clock designed by Riccardo Macri

My first Arduino project was this Rainbow Block Kit from Maker Studio,
It came with a good Uno compatible board and an 8×8 RGB LED
matrix and driver board (I’ve since bought more).

I got it working with the RainbowDuino software after some changes but
found it a bit slow, so I wrote my own library/driver for it which I’ve called “ARGB” as it does alpha blended graphics at good frame rates with up to 3 chained panels (though with 3 memory is pretty short given there is only 2K of RAM and my library works best with double buffering).

Here is my library in action, including the “disco clock” I’ve built for myself.

As the video was taken at 25Hz, it doesn’t do some of the effects justice as the panel refreshes far faster.

The ARGB library features fast line/box/circle/text drawing with RGB colour plus transparency, flicker free double buffering, fast data transfer to the panel (so more time for animation, text overlays) and real time clock timekeeping (useful so long as your Arduino has a crystal).

I’ve put the library (includes a simple demo) on github:

https://github.com/rmacri/ARGB

The display is refreshed at 125Hz with a line refresh rate of 800Hz. I’ve made my effects update at half the panel refresh rate, 62.5 Hz is fast enough for smooth colourful animations.