Let's Make Robots!

RGB LED Christmas Star

Lets RGB LEDs blink.

Hi LMRtians,

this is my actual christmas project. A star build out of Plexi and an Adafruit RGB LED strip. Controlled by an Arduino controller. It will be used as christmas decoration behind a window of our house. Looks pretty cool at night.

The RGB LED strip is a great device for this. You can control the color and intensity of each single LED. Only 2 Arduino pins are needed to control 60 or more RGB LEDs. The LED strip is like one big serial shift register. A ready-to-use library can be downloaded at GitHub.


  • Arduino 328
  • 60x RGB LEDs (2m) Adafruit RGB LED strip
  • sheet of Plexiglass 50x25cm 3mm thick
  • Wires, 4pin connectors male/female


The RGB star was created with Google SketchUp. The first sketch shows the prelimary result:

For better usage of the plastic sheet, the star is cutted into pieces (5 triangles, 1 pentagram)

The front view of the finished RGB star:

The backside view is showing the RGB LED strip. It is cut into pieces of 5 segments with 12 RGB LEDs. For a more homogenious design the segments are splitted into pieces with 4 and 8 RGB LEDs. The RGB LED strip can be cut down into pieces as small as 2 RGB LEDs


Later expansions:

At the moment only a slightly modfied Adafruit example is running. Later on I will add an IR Receiver to switch between different modes of operation or change duration time and color with an IR remote.



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Good to see another Christmas project.

You've got some cool effects on that star, though I do wonder if they would look better if the LEDs at the intersections/crossovers/corners were illuminated with light running through that point from any direction. In code this may be done by with an array that contains more entries than there are LEDs, the extra entries would map to the crossovers and the intensity of LEDs at crossovers would be determined by the greatest value of the two entries (I do wonder if this makes any sense, it's midnight here and it has been a long day). i.e. {LED01, LED02, LED03, LED04, CROSSOVER1, LED05, LED06, LED07, LED08, LED09, LED10, LED11, LED12, ... with LED07's intensity being the greatest of LED07 or CROSSOVER4.

I've been curious about addressable RGB LED strips but not yet found a project for them, perhaps I'll just need to buy some and devise a suitable project. Your star certainly gave me some food for thought.

Well spotted markcra. I noticed this before and your solution is correct. Now I use a pixel map with 65 pixels instead of 60 with 5 additional crossover LEDs. That works better now

...the light effect on 01:40 is my favorite...

Thnk you, Nils. Mine too. It's a sinus wave. 

Just realized when you put the star upside down it's a satanic sign, very flexible use ;-).