This project is fun because it lets you play with LEGO bricks (always fun!). But beyond that and in addition to the lesson of the importance of repurposing objects, you can also dabble in some pretty cool open-source electronics with your kid while constructing this lamp.
One of the coolest open-source initiatives out there is putting practical programmable electronics into the hands of hobbyists. It’s called Arduino.
From the Arduino Web site:
Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It’s intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.
Arduino can sense the environment by receiving input from a variety of sensors and can affect its surroundings by controlling lights, motors, and other actuators. The microcontroller on the board is programmed using the Arduino programming language (based on Wiring) and the Arduino development environment (based on Processing). Arduino projects can be stand-alone or they can communicate with software on running on a computer (e.g. Flash, Processing, MaxMSP).
The boards can be built by hand or purchased preassembled; the software can be downloaded for free.
What this means in plain(er) language is that you can buy an Arduino board, hook it up to your home computer, download and run some free software, and actually program the chips on the board to do different things with modules you attach to the board. It will help you teach your child that all the chips and wires crammed into every piece of home electronics you own aren’t really magic boxes, but instead they are simple devices that one could easily learn how to hack with the right tools.
Before we get started, let me say that you don’t have to build this project with an Arduino board. What I mean is that the way I’m showing you to do this project is nowhere near the only way you could do it, and if you’re not in a mood to start learning programmable electronics, you don’t have to. You can take this basic concept and find some other form of bright LED to use as the illumination for the lamp. Obviously, you’ll have to play with the dimensions of the base to make sure everything fits the way you need, but that’s half the fun of these projects – working together to figure out how to do it. I still recommend using LEDs, since most other forms of light will also give off significant heat, which could be problematic with plastic LEGO as your lamp shell. Be smart and careful!
But I urge you to consider the Arduino. Think of it as a gateway drug for promising electronics junkies. Once you and your kid have worked through the instructions for setting up and programming the board and light, you’ll have started down a road of learning and discovery that will demystify every other gadget you ever own, and encourage a sense of invention and ownership that most people never have.
Building the Light
For this project, we’re using the Arduino Duemilanove board, with a BlinkM Smart LED. The Arduino board can be found for around $30 and the BlinkM for under $15 many places all over the Web, though I got both of mine from the kind folks at makershed.com. Another great resource for these boards and many incredible basic electronics projects is adafruit.com.
I’m not going to go through the detailed instructions on setting these up and programming them, for the directions are available online. You should get the appropriate links when you receive the parts. The short of it is as follows:
1. Download and load the Arduino software onto your computer (Most OSes available).
2. Download the BlinkM Arduino script and controller application.
3. Hook up the Arduino board via USB.
4. Open the Arduino software.
5. Load the BlinkM script and upload it to the board.
6. Quit the Arduino software and detach the USB.
7. Attach the BlinkM to the Arduino board.
8. Reattach the USB.
9. Start up the BlinkM controller application.
10. Program the LED colors and sequence.
11. Upload the program to the board.
12. Quit the BlinkM controller application. The board just takes power from the USB, but the program runs natively.
Now you have your light source, programmed however you want it, powered by USB. All we need is to build the lamp structure into which to place it.
Building the Lamp
Once again we turn to LEGO as our favorite geeky building material. The lamp has to have two key sections: the base, into which the electronics are set, and the disc area, where the old media will be stacked. Since the Arduino and attached BlinkM boards are much smaller, the controlling dimension of the entire build is the diameter of the discs, which is approximately 15 LEGO studs across. To allow for 2-by-2 vertical posts to hold the discs in place, I created my base 20 studs by 20 studs. You may need to start on a larger base plate, or a number of smaller base plates interlocked to get to the correct size, depending on the bricks you have handy. Obviously, this is the time for improvisation, because the plates and bricks you have available will determine what your lamp looks like.
The base needs to be only 2 standard LEGO blocks tall. The challenge is to set the electronics board into the base so that the LED is just about dead center, and the USB port will be accessible from the side. You’ll want to use bricks set around the board to hold it in place, and then cover over the base structure with another layer of places that leave just the LED exposed.
At the midpoint of all four sides, you’ll build 2-brick by 2-brick columns to contain the discs. You can go as high as you want, depending on the number of discs you have to use, but anything above about 6 bricks tall will make the light from the LED too diffuse to be effective.
Now stack your discs until they are just shy of the top of your columns. Put a 2-stud by 4-stud brick at the top of each column, with the extra length facing toward the center to hold the discs in place. Plug in your USB cable, and let the light shine!
As I mentioned above, this isn’t the only way to achieve the same idea. There are a number of alternative CD lamp designs on the Web, most of which don’t use the electronics included here, opting rather for drilling out the center core of the discs to fit a compact fluorescent bulb, and making the base bigger to allow for the wiring to light it from a standard outlet.
An Even Cooler Idea
Another choice in the Arduino family is the BlinkM MaxM board. It uses much more powerful and larger LEDs, but it is progr ammable via the same software. It has the added feature of not requiring the Arduino board as a power source via the USB connector. Instead, the MaxM can take power from an external AC adaptor, allowing you to power your lamp from a standard outlet, or via batteries.
Reprinted from Geek Dad, used by permission.