Light Show Website Update!

I’m happy to announce an update of the Arduino Light Show Project’s website! The update is mostly aesthetic changes, with a few added animations here and there.

As for the next show, progress has been slow but I hope to ramp it up a little bit. I’ve been sitting on half of an update so I should have an update posted by the end of the week.

Thanks for visiting the blog and I hope you like the ALSP website update!

Code dump of Light Show files

I wanted to let everyone know that I’ve dumped all of my Light Show code files (.ino) into a directory over at the Arduino Light Show website. I’ve lost some files over time so all of the files you see in that directory are all the files that I have. Hopefully this ends the requests (and straight up demands) for code.

Update (10/17): I decided to do a little more work on the Light Show website. The Code Directory is an actual page now and you can now watch each video directly on the website.

Just add water!

With each Light Show version, I reach a point where I have no motivation to program a new show. After the usual flip flopping and throwing out songs, I’ve settled on concluding Light Show #5 and am moving on.

… And after more flip flopping, I’ve finally done this:

The Light Show project has been developing for years now and they’ve all been part of building up to this point. I felt like the time was right to get on to my main goal: A fountain show.

Now that I’ve made a move to start on a new show, the current Light Show stage will be coming down tomorrow.

Since water pumps are something new to me, I have a lot of concerns with these pumps. $30 doesn’t sound like a lot of money to many people but it is to me, so I’m really worried about it being a waste of money if it doesn’t work out at all. There will be lots of experimenting with them before I ever get to programming a show, if it even works out for that kind of thing. (I’d be satisfied with an “ambient” fountain display.) Stay tuned for that!

“How do you program the light show?”


Programming the Light Shows really isn’t that complicated, just time consuming. It seems to be a mystery for a lot of people and I still don’t really understand why. Not a lot of people seem impressed by my crude technique (people always seem to expect some kind of audio processing). In this post, I’ll share some of the things involved in programming the light shows and you’ll finally see how simple it is (again, it’s just time consuming).

The Functions: The show’s programs are made up of delays and for-loops. To use the hardware, the program uses basic digital and analog write functions, as well as the servo library.

The Process: The process is simply replaying the song over and over again and adding more code to it on each run. I work on the song in verses that I mark off in the code using either a line of ////////////// or the first line of lyrics of the next verse, commented out of course. Doing it in verses gives me points where I can decide to take a break… but really, it helps me keep track of where certain pieces of code is so I can go back to it and tweak it. Sometimes I will put a really simple pattern just to figure out the timing and then go back to it later and add more effects to that section.

Cuing It Up: I use VLC to play the song when I’m programming. In the earlier shows, I used to try and cue the song manually by watching the blinking TX lights on the Arduino as the program uploaded and then started the song once it was complete. It was kind of a guessing game that I’d figure out well enough to get things done. Eventually I realized I could just have an LED counting down like this:

// Count down (4, 3, 2, 1)
for(a=4; a>=1; a–){
digitalWrite(22, HIGH);
digitalWrite(22, LOW);

Time: It takes about a week to program 1 minute of show. I try my best to create fresh patterns so it gets incrementally more difficult as each new show is released. It’s also gotten harder as I’ve added more components to the stage in the later versions of the light show. This is why the shows have gotten shorter over time.

CAN I HAVE THE CODE?!!?: Yes! For the first time in a long time, I’m releasing code for some of the shows, specifically the most recent three. You can get the files here:

I hope this has answered your questions about programming the Light Show. If you have any more questions, send me a message or leave a comment. Now go out and blind yourself with LEDs like I have!

A closer look at the Arduino Light Show 5.2

I’m not quite ready to take down the latest Arduino Light Show stage but it’s been sitting around collecting dust, literally which you will see in the photos below. I want to take you through a photo tour and provide some notes on the build.
IMG_1557One of the things I first noticed about the horizontal light bar is that, at a certain angle, it makes a neat effect where you see the light of each LED on the bar.IMG_1562Once the light bar is moved away from that angle, the effect is gone. At another specific angle, the light from the bar colors the area below where the floor LEDs are. The red had the most dramatic effect.IMG_1578Some day I’d like to figure out a way of being able to see a beam of light from the LEDs so that having them positioned like in the photo above would be more dramatic, especially on camera. I’m fairly certain the LEDs would have to be more high powered and somehow focused so they can be more of a spotlight. My other idea is using fog. These are just ideas, ideas that I doubt I would ever go through with.
IMG_1580Let’s take a closer look at the build with the room lights on. These are the transistors I used for the light bar. Since one Arduino pin would be controlling six LEDs, it needed transistors to supply more current than the maximum 40mA the Arduino pin can source. I’ve always had a fear of transistors, mostly because I’d get lost trying to do calculations. I’m going to keep working on it…IMG_1581Here’s what the stage looks like. The darkness and colored lights tend to hide its imperfections.IMG_1582I always love taking a top view to show off the mess of wires.IMG_1583Here’s a close up of the light bar. The four wires coming off of the board are stranded wire where the connection to the perfboard is reinforced with some hot glue. I always do that when I’m dealing with stranded wire which, thankfully, isn’t very often.IMG_1590The final picture is a side view of the floor LEDs. I covered some of the construction of this board of LEDs. It was a lot of soldering and my first time using heat shrink. The diffused LED that’s taped to the table is one of the two floodlight LEDs.

So that’s my tour of the Arduino Light Show 5.2. I’m not really sure what’s next. I feel like I could move on now. We’ll see. Thanks for reading! Stay tuned for the next blog post which will cover some of the techniques I use to program the light shows.