The brains of this controller is a Raspberry Pi that sends signals to its GPIO pins based on which strings of lights should be on and which should be off. The GPIO pins are connected by jumper wires to a 4-channel relay module and each channel of the relay is connected to an extension cord. Each string of christmas lights just needs to be plugged into the corresponding extension cord and you're good to go.


This project started when I took an analog circuits class. I decided build the basis version of this where four strings of lights could be turned on and off by a python script. After the class was over, I decided to add the ability for the lights to blink in coordination with music.

The diagram above shows how the GPIO pins were connected to the relay module to control the lights as well as one pin for power(5V) and another for ground.


Here is a link to the current version of the code used to sequence the lights with music: CSV_Parsing.py


Click here to see all of the files used for this project