I’ve been wanting to tinker with RGB LED matrix for a while, and finally was able to do so earlier this month. It was fun programming some effects, game of life etc. on a 8×8 matrix using Arduino. Here is a Christmas ornament that I programmed. It shows a color changing star followed by scrolling text featuring Christmas related phrases.

The colors appear diffused in the video, but they are much more vivid in reality. I need to learn how to use my camera properly lol.

## Hardware

No custom circuitry is required. I ordered a color shield and couple of 8×8 matrix LEDs from China (ebay) and got this to work. Here is the parts list:

RGB LED 8*8 Matrix Driver Colors Shield For Arduino – $16.50 Matrix 8×8 RGB LED Full Color Dot Square Display 60x60mm Common Anode Arduino –$3.84
Arduino Uno –  I had this already.

Total cost – \$20.34

## Software

Here is the sketch: https://github.com/rmadhuram/ChristmasScroller

I ran into one limit when I tried to add more phrases. If I added more than 4, it kept crashing and random LEDs would light up. I then figured there was a 2K data limit on the character strings you could have in your sketch for Uno!

Wish you all a merry Christmas!

## 6 Replies to “Arduino Christmas Ornament”

1. Oleg says:

Can’t coompile with colorduino libraries that i have.
Where yours right working colorduino library?

2. Daniel Fernandes says:

Hi friend! (geekraj) You are showing the following: fatal error: fonts.c: No such file or directory.
I created a folder called “fonts” inside the arduino libraries folder and put the file “fonts.c” inside; is correct? I am using the arduino IDE 1.6.5 and 1.8.5; I would like your help,
Thank you

3. Daniel Fernandes says:

The error in fonts.c looks like it has been resolved; is now displaying the following: ‘PixelRGB’ was not declared in this scope;
Can you help me? I’m using Arduino 1.8.5
Thank you

4. Brid says:

Hi Raj,

I love this. I’m trying to make something similar with a colorduino that just flashes through some different symbols (like the asterik, but then other, non standard characters). I can change the asterik and turn off the scrolling text but I can’t figure out how to make symbols display on a loop.

5. Raj Madhuram says:

Hi Brid,

Thanks for the note!
If you want to make the symbols scroll, the message for scrolling is fed from the greetings[] array. All you have to do is to pack that array with symbols. You can use the ASCII code instead of the actual character for special non-standard characters.

If you want other effects like appear/disapper, fade in/out of individual symbols, you need to modify the code. Should be fairly easy to do. I’m using the data from fonts.c to build the representation in the 8×8 buffer. Let me know if you need any more help in understanding the code.

Regards,
Raj