There is nothing more magical and surreal than Christmas. It’s one of my favorite holidays. Christmas gives me an opportunity to create a magical world. Every year I build musical light set-up using open source software and hardware.

In this tutorial I will walk you through the process of building your own musical light set-up. This year I have expanded the project. Since now I have a two-years-old son who is very curious, I moved away from 110v light to 12v safer light. I have also started using addressable RGB LED lights that allow me to have multiple color set-ups and patterns from the same strip instead of using different colors. To keep things simple, I will split the tutorial into three version, targeting three different use-cases:

  • Regular 110v lights (European and Asian friends can use 220v lights)
  • 12v LED powered lights
  • Addressable RGB lights

What you need: the part list

To make it easier for you, here is my shopping list for (these are affiliate links, so please use them to support writing articles like these)

This year, I am using a fork of Lightshow Pi, created by Ken B. The good news is that the fork has been merged with the main project.

Getting started with Raspberry Pi 3
Raspberry Pi 3 supports many different distributions, but we are using Raspbian OS because the software packages that we need are easily available on Raspbian OS.

How to install Raspbian on Raspberry Pi 3 with SSH enabled by default.

Once you installed Raspbian OS following the above article, ‘ssh‘ into the Pi and update the system.

sudo apt-get update
sudo apt-get dist-upgrade

It’s always a good idea to reboot your system if there are any kernel updates:

sudo reboot

Install LightShowPi Software

The entire set-up and configuration will be done remotely over local network. So ssh into your Pi then clone the Lightshowpi repository in the home directory of our Pi:

git clone

Then, ‘cd’ to the ‘lightshowpi’ folder:

cd lightshowpi

We will be using the master branch as it has newer features:

git fetch && git checkout master

Run the install script:

sudo ./

Shut down the system

sudo shutdown

Our base system is ready.