Way back when, I worked on a project to create smart phone controlled LED cubes. Although the project never really got past the prototyping stage, it was a great learning experience. Since then I’ve created dozens of LED light cubes and bars all with different methods of control. The process is relatively simple, and today, I’m going to walk you through the steps for making one yourself.
All of these light boxes have one thing in common: milky white, diffusing acrylic. The sizes and shapes may vary, but the same type of acrylic is used in every one of my designs. This type of acrylic can be found at any local plastics supplier. Here at SparkFun, we are very fond of the folks down at Colorado Plastics in Louisville, CO, and I gathered all the acrylic I could find there to make the bodies of the LED boxes. There are variations of this plastic, so makes sure you pick out a style that works well for you and diffuses the light to your liking. The 1/8" thickness works very well and is what I have used in all of my projects. Once you have procured the plastic, it’s time to make some shapes. If you don’t have access to a laser cutter, many of the plastics suppliers have one on hand and can make custom cuts for you. If you go this route, make sure you have your dimensions already laid out before you go to buy. I started off with a simple 6" x 6" x 6" cube for my first prototype. Since I wanted the cube to be 6" on all sides, I had to model four of the planes to be 1/8" x ¼" shorter than the others for joining the four walls of the cube. It always helps to make a model beforehand.
A 3D model of the cube created in Google SketchUp. Notice the edges created around the four walls to get an exact 6" dimension.
Once you have all your pieces, it’s time to start the assembly. Using an acrylic bonding agent, or acrylic weld, I attached the four walls to what would be the top of the cube. Make sure you work fast, since some acrylic bond has a very fast drying time, and, once it’s dry, you have a very solid bond. This left just one 6" x 6" plane to be used as the bottom. This is where the electronics will go.
Deciding which electronics to choose will depend on how you want to control your light box. The simplest version I created was a cube that just plugs in and fades through the colors without any user control. I made a lot of these for my not-so-tech-savvy family members for Christmas this past year. They’re simple to make, and they make great gifts.
Here we have the guts used in one of the simple cubes. An Arduino Pro Mini is used to control the transistors and thus the RGB LEDs on the protoboard, and a panel mount barrel jack is attached to the back wall to provide power.
To take it up a notch, I decided to add user interfaces in later models. Wanting to use my phone to control the lights, I sought out a simple solution that required as little app developing as possible. I used Amarino to accomplish this on an Android phone. The site and the toolkit have not been updated in awhile, but they still work great on most models of android phones. They have detailed tutorials on how to set up all the software development tools, and, although it takes some time and effort to get everything installed if you’ve never done any Android developing, it’s easy to add their app to any Android device once you’ve got the software setup. Their Multi Colored Lamp project just so happened to be perfect for what I was doing. Using a Bluetooth Mate attached to the Pro Mini, the phone was able to connect to the cube and offer a smooth user interface for controlling the lights.
For my latest and greatest LED light box, I wanted to go for total control as well as added features. The original cube had a nice fade function, and I liked the ability to control the colors individually that the Amarino app offered. So this time, I wanted to be able to do all of the above and then some. While the Bluetooth worked well as a wireless interface, I wanted this light be controlled from any device, not just an Android phone. I opted to go with WiFi and created a protocol that would allow me to change modes and colors on the boxes. I used a WiFly Shield to act as my point of communication for the box, and this time I used RGB LED strips instead of soldering individual LEDs together. Soldering everything together was the easy part. Talking to it was the challenge.
The WiFi prototype. N-channel MOSFETs were used to control the LEDs in the strips. I connected a 6-pin jumper wire to the pro mini to allow for reprogramming once the cube was fully assembled. Maintaining a low profile was also important so the electronics wouldn’t interfere with the light dispersal.
The code was written so that I was able to send a string of numbers after the IP address of the WiFly Shield, and the Arduino would parse out those numbers and use them to set RGB values, set the luminosity, control the speed, and trigger certain modes like fade or pulse. For some added fun, I etched some designs on the acrylic and also cut out some mounting holes on the backside. The video below shows the fade mode in one of the rectangular models I built.
This project is far from complete, and there are numerous ways to control these boxes. You could use the IOIO board to control the LEDs and build your own apps in Processing. Using multicast over WiFi, several boxes could be controlled at once. I’ve even thought of using IR LEDs and remotes to build remote control boxes. And, the form factors can vary wildly. For our grand opening at Solid State Depot, we built two cylindrical light towers to accompany our RedBull Encabulatrix project. These were also controlled over WiFi to create the ultimate user-controlled lighting experience.
There are endless possibilities when it comes to making cool LED light projects. I’d love to see what you guys have created using LEDs and what kinds of enclosures you’ve used to house them.