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.

“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!

Arduino Light Show FAQ

Once in a while, I get the same few questions about my Arduino light shows. I figured it would be a good idea to address those questions and throw in whatever extra information I can.

Q. Are you processing the audio in any way?

No. I tried a tutorial that uses Processing that identifies the levels of different frequency ranges in a song and the Arduino relays the info by way of LEDs, but I think that sort of thing is better suited for mood lighting or lighting features (like those water fountain speakers). My shows include LED patterns and moving servos that wouldn’t be controlled by this method, or at least it would likely be very difficult to do.

Q. Can you post your code?

I do not publicly post my code for the shows because they’re not really meant for other people to read and interpret. I do not document the code as I program the shows so there would be a lot of confusion as you try to follow along, which happens to me at times. As long as you know how to use the Servo libraries, for loops, and delays, there’s not much else to to know.

Q. How did you program the show?

It’s trial and error. The process is just replaying the song over and over and slowly adding on more code until I reach the end. (By the time I have a video up, I’m sick of the song.) There’s nothing neat or fancy about it.

Q. What went into building the show?

Talking about the latest show, there were a few key elements. It all started with two lines of breadboarded LEDs. The towers were constructed using cardboard and tissue paper to diffuse the RGB LED light in each tower. The “spotlights” were three servo motors with an RGB LED taped onto each servo horn. Behind the scenes was an Arduino Mega 2560 (compatible) along with three mini-breadboards to distribute power and to setup the resistors for some of the LEDs. Half of the wiring was 22AWG solid-core wire, the other half were female-to-male jumper wires.

Q. Inspirations?

World of Color at Disney California Adventure started it all. Canada’s Wonderland, my home park, upgraded their fountains over the past couple of years so that has also helped inspire me to continue. I also ran a short-lived (like they all are) website called More Than Starlight that was a blog and database for fountain and light shows. I discovered many amazing shows across the world which helped build up to my first light show.

Visit the Light Show project webpage here.

Lights out.

It’s time to put this project to rest.

This was probably my favorite project to date. It’s produced something (videos) that can I always go back to for some homemade entertainment. For something so hastily put together, I call it a success.


In the past few weeks, it sat in darkness. I lost interest in making new shows because they were tough to keep fresh. The only way to keep things fresh were the minor tweaks I did as every new show came out. I had nothing left.

Since the last show (Strength of a Thousand Men) with the rough ending bit, the setup started to look hurt. I also managed to drop many things on top of it because there’s a shelf right above it… You’ll notice from the picture above that the paper screen is crumpled a bit and the left pillar is leaning a bit. With this damage, I decided not to move around the servo spotlights in the final show:

Right after I finished doing the video for this last show, I immediately got to work dismantling it all. The RGB spotlights remain with the lengthy wires, perhaps for use in a future project. The servos are in storage. The breadboard of LEDs remain wired up to the Arduino because I don’t have the heart to take it completely apart until I decide what the next project is. This is what’s left of the spotlight pillars:


Thanks for following this project, if you have. I hope I can follow with something even better.

Night lights, with Frank.

What kind of light show sits in darkness waiting for showtime? I’ve got this simple ambient sequence where all of the lights are on while the RGB LEDs cycle through some colors. Here’s a video if it, with Frank standing guard. Perhaps if I ever find a song with a dramatic start (like the intro to World of Color), it could start with this and then proceed with the show. For now, try not to fall asleep.

PREMIERE: Strength of a Thousand Men

I’m proud to present my newest Arduino light show, Strength of a Thousand Men:

There are two videos of this show. The one above was filmed in a dark room. I found it to show off the intensity that I was going for, but the camera kept losing focus so you couldn’t see what the LEDs were doing at times. Because of that, I recorded a second version with the lights in the room on so the camera wouldn’t lose focus as much. That version is available if you want to watch it.

There is a very minor modification, and that is the placement of the top row of LEDs. They used to be a straight line but I made them curvy so that I could create circles for me to work with. I can also do a trail in and out of the two rows, as seen several times in the video.

IMG_20130731_191246I find a lot of fountain shows that I’m inspired by to have curves and distinct circles to make chasing fountains seem like they’re making turns, which is what I was going for. It’s easy to group the circles together to create sequences with. I don’t expect any changes in hardware from now on. It seems to be enough to work with.

Anyways, I hope you enjoyed the story of my LEDs and my newest show! There’s still a lot more for me to post so I hope you’ll stick around. Thanks!