Crystal Ball Lamp, part 1

I purchased some high-powered RGB LEDs from Sparkfun Electronics mostly because I wanted to play with them enough to learn how to use them, but also because I thought I might use them in a chandelier I’m going to make to hang over my dinette table. As I played with them, I realized that they wouldn’t be all that good for my dinette chandelier for a couple reasons:

  • While the three colors combine to make something that looks like white light to our eyes, it’s not really white light. The combined spectrum of the RGB LEDs is very spiky, with narrow bands around the red, green, and blue parts of the spectrum and not much in between. This causes food (and other things) to look weirdly discolored when lit with this kind of light.
  • The LEDs on Sparkfun’s circuit boards are spaced far enough from each other that the objects casting shadows cast three differently colored shadows. I actually like how this looks, but I decided it would get annoying as the main light source for a table that I use regularly.

After playing around a bunch with the LEDs, I somehow managed not to fry any of them, so then I had some spare LEDs without a destiny. Time to have some fun … :P I’ve been wanting some kind of decorative lamp in my hallway, so a new project was born. This article is just an introduction – I’ll explain the project in more detail in later posts.


The lamp is made from wood, aluminum, cloth ribbon, LEDs, and electronics.  The “crystal” balls on top are solid acrylic spheres (uncolored, though they disperse a sky-colored blue readily, so the balls themselves light up with a bluish tinge).  The light source is from three of the aforementioned RGB LED boards under each ball is a red, green, and blue LED.  The electronics I designed can control each of the nine-channels independently and can vary the intensities of each channel in 255 steps from completely off through completely on, so I can make pretty much any color I want.



There are a few different ways to control the lamp.  There’s a simple push button on the front if you just want to turn all the LEDs in the light on and off.  For more advanced control, the lamp has a little screen and a scrolling switch to the left of the screen that is used to navigate through the menus.  (The colors are kinda washed out in my photographs of that screen, unfortunately.)  I also built in one of the wireless XBee modules that I’ve been using in the sensors I’m building for my home, so my desktop computer can also communicate with the light (and vice-versa, of course).  The following is a screenshot of the controls I made for my desktop computer:

On my digital assistant’s map of my home, these controls are launched from the light bulb icon towards the top-right in the hallway near the bathroom:

The lamp can display static colors or can run lightshows — animated changes in the light, like cycling through the spectrum, red-to-yellow-to-green-to-blue-to-purple-to-red, etc.  It was kinda fun designing a language to describe lightshows and then writing the software that could run the language on the lamp’s microcontroller.  Thus far, I’ve only written three lightshows for the lamp — a spectrum walk, an obnoxious one that causes the side lights to flash blue and red, while the middle light flashes red, blue, and white that makes my hallway look like a gaggle of police cars is parked there, and one to test the red, green, and blue channels.  But I’m sure I’ll be writing more now that I have the basic infrastructure done for the lamp.

The high-powered LEDs can get hot [note #1], which hurts their life and which could hurt the plastic lens I’m using on the center ball (not hot enough to melt it, but it could discolor it and/or make it brittle), so the LEDs are on heat-sinks and I have thermistors mounted as close to the LEDs as I could get them to measure the temperature.  If the temperature ever gets too high, the lamp throttles itself to half intensity until it cools down.  If for some reason, that’s not enough, it turns itself off completely; though it looks it will never need to do that — it cools off fairly quickly at half intensity.

[onto Crystal Ball Lamp, part 2]





[onto Crystal Ball Lamp, part 2]


note #1: Each LED only consumes 2.4 watts when completely on, but the active part of the LED is a silicon wafer that’s only about 1mm square so that heat is being dissipated in a very tiny area.  Also my design required a couple things which hurt the heat flow: (1) The balls are above the LEDs, so they block any natural chimney effect which could arise, and (2) for the center light, I have a lens directly on top of the LEDs, which traps heat there.  I couldn’t find any way around those design issues that wouldn’t compromise my desire to have something like crystal balls lit from below, so I had to employ more drastic means to control the heat.

Posted in Crystal Ball Lamp and tagged , , , , .


  1. 1. This is awesome. :)

    2. How did you source all the materials for that? Not that I’m going to make stuff this complicated, necessarily… but where did you find these excellent ingredients?


    • Ack! I’m not way cooler than you! But you can certainly come over some time and watch or help with projects. Laura and I often have crafting days at my place where we make stuff together. I’ll make sure you’re included in emails related to that.

  2. Thanks all! It sounds like my “part 2″ article should be about where I got the materials. I’ll start that right away, so part 2, coming soon to a blog near … um … this one. :P

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>