Kemper LEDs on Vixen Music




Introduction: Kemper LEDs on Vixen Music

About: Founder of Powerhouse Electronics. For more info goto:

This instructable is all about a new product I'm developing called "Kemper LED Lamps". To show off the capabilities, I plunged 64 lamps into a 18" glass vase. The vase was then filled with 23 pounds of clear glass marbles. The way the light bounces off the glass marbles is really neat.

Have a look at the video below. The video is my attempt to show some of what can be done with the Kemper LED Lamps.

Make sure to see the extra demo that is shown at the end of the video clip. In other words, after the music stops, an extra couple of sequences are demoed without music.

Step 1: Kemper LED Lamps

The basic design of each lamp is really rather simple. The lamp is made up of (1) Pic 12F609 micro, (4) wide-angle 20mA LEDs (red, green, blue, and white), (4) current limiting resistors, (1) filter cap, and (1) 16x19 mm PCB.

Each LED is being driven off one of the micro output pins. The output pins are continually updated using a pulse width modulated (PWM) signal. The PWM outputs also have slew rate control in both ramping and decaying. All this gives the LEDs a nice warm glow as they transition from one level to another - no hard on/off edges (unless you set high slew rates).

Each lamp has a hard coded node address and is programmed to respond to almost a dozen commands. All the nodes will respond to one, reserved, global node address. Finally, a node can be programmed to have several alternate node addresses. The alternate addresses allow nodes to be grouped together and accessed with a single command. The communications protocol supports up to 255 nodes on the bus.

Each lamp's communication consist of a single micro I/O pin. Each lamp acts as a slave on a shared communication wire. If a data packet is sent directly to a single lamp then the lamp will acknowledge the message by broadcasting his own node address back on the comm bus. Just a simple summation checksum is used to verify communication. To date, I've test the communications with 64 nodes all connected together on one bus. Under continues operation I might detect one lost packet per hour.

Each lamp is processing 2 million instructions per second (2MIPS). So the string of 64 lamps are pushing those 256 LEDs around using 128MIPS of horsepower! Makes for a scalable design - when more LEDs are added, more MIPS are also automatically added. I know what your thinking - don't worry, the micro is only 70 cents - in fact, the four LEDs together cost more than the micro.

Step 2: Building Up the Vase LED Demo

I made two strings of lamps for the vase. Each string has 32 lamps and is 16' long. With both strings in the vase so there are 256 LEDs under computer control all over a single 9600 baud RS232 channel. Both strings make a parallel connection at the RS232 interface board.

Each string, at full power, can draw a maximum of 2.5Amps. So, with all the lamps turned on, the vase is illuminated with 25 watts of LED power! Truth be told, it's just too hard to look at when all the LEDs are on fully.

Since the two strings make a parallel connection at the RS232 interface board only 2.5Amps flow through each string. Each lamp has large traces to pass the DC power down the string.

Step 3: Vixen Lighting Automation

Vixen software is designed to control Christmas lights in your front yard. It makes it easy to set-up a bunch of output channels. The channels are then mapped to MP3 music.

Here is the link to the Vixen web site:

There is already a bunch more info on the internet about this software package so I won't rehash more here.

For my application, I guess I needed to write a custom plug-in for Vixen. Being a typical "lazy" engineer I took a different approach. I ran Vixen (a MS Windows app) inside VMware on Linux. VMware allows a comm port to be redirected to an output file instead of an actual hardware port. I then ran a little Python script under Linux that continuously processed new strings coming from Vixen. The Python script converts the simple Vixen comm messages into messages the Kemper lights can understand.

In the future I guess I'll have to knuckle under and actually write a plug-in for Vixen.

Step 4: Conclusion

There are a ton of other applications for these lamps.

Here is my wish list:

1) Build another 64 lamps so I have a total of 128. I want to light up my Christmas tree this year. With 512 LEDs @ 50 watts it should really look stunning! I can't wait to program some falling snow while the tree glows with color.

2) I also want to try and arrange a string into a figure eight. Kinda like a seven segment display. I'm thinking I can build a really large multi digit display on a sheet of cardboard. Could be used at my son's soccer games to keep track of the score.

3) Also seems like a good idea to build something glowing which is also connected to the internet. Maybe something that changes color based on the weather, or stock market.

4) I've got a buddy who wants to outfit is rod with glowing lights. I'm trying to talk him into letting me hack into GMLAN so we can pick off engine speed. It would be really cool to have the LEDs rev with engine revs! Not too hard to do either.

5) One of these would be great for my boy's Cub Scout project: Of coarse, it would need some programmable LEDs that would fade off over an hour, or two's time. Would make for a great night light for kids.

The long term plan is to sell the lamps to all those interested. I've already had a bit of interest so far. If your one of those interested people then send me an email and I'll let you know how we can get you some lamps. I'm also working on my web site to make it useful. You can always stop by at to see what's going.

So much to do with so little time.

Thanks & Hope you enjoyed the light show,



    • Creative Misuse Contest

      Creative Misuse Contest
    • Water Contest

      Water Contest
    • Tiny Home Contest

      Tiny Home Contest

    17 Discussions


    Thanks for the comments.

    This project is rather old now. Right after I designed all this stuff, General Electric came out with their "smart" GE-35 Christmas tree lights. Each bulb has a chip embedded within that allows RGB control. Then, some China manufacture came out with LED strip lights that have an ASIC embedded in each LED bulb. Between the two, they stole my thunder and I was crushed.

    There are now much better micros available too. If I were to do this project today I would use something like the ATtiny20 which has a dedicated SPI port for communications. The new Atmel chip also has more pins, more memory, and still only costs around 50 cents in lots of 100.

    It is cool having a string of RGB LEDs under program control!

    Thanks again,


    This year I'm going to build a wireless module to control a string of GE-35 Christmas lights. Should be fun!

    Hi Jim,

    Really cool effect. First saw it on YouTube and it drove me here. Can these be made to work on their own, without a computer and software? Maybe a couple of settings and then driven off of music?


    1 reply


    No, each node is a slave to some kinda master device. For the music demo the master was a laptop computer. However, the master could also be a simple Arduino instead. The node power-up and simply wait for a command before they do anything.

    Still, I guess you rewrite the firmware so that the nodes act differently. But the design intent was to have a coordinated light show. So, each node doing his own thing would not look great. Plus, each node would need some kind of sound sensor added onto the design. Well, I guess you could have one sensor node (would kinda act like a master node) that could send message about the music being detected. Given that, your back to my design where the nodes wait for commands from a master control node.

    I'm not sure how to make it simpler. At the end of the day, your going to have to have some kind of controlling node that is decoding the music into commands for the rest of the slave nodes.

    Sorry this didn't help much,

    Highly underated instructable, despite being over my head. I'd buy a final product, though -- hopefully they become available. ; )

    1 reply

    Thanks for the encouragement! Feedback keeps me motivated.

    I've sold some lamps to folks through my web site. However, it really is a labor of love. At $4 per lamp I'm not really making any money at this. In fact, I kinda cringe every time I get an order. But they are just so darn cute - I just can't help myself.

    My next project with the lamps is to make a CPU monitor. Have a look at this:

    I think it would be awesome to have a small infinity mirror, maybe an inch or two in diameter, on the front of my PC case. The LEDs would throb different colors and rates based on the CPU load. Kind of like the Apple logo on their laptops - only much better looking. And, programmable too! A simple software control panel on the PC could be used to adjust the CPU monitor lamp. Just one node with four LEDs should do it. Once running, a simple software service could send periodic commands to the lamp to keep it updated. All simple to do - just a mater of getting it done!

    Thanks again,

    did you ever write the Vixen plug-in? Is it available?
    still love watching this

    1 reply

    Nope, I kinda ran out of gas after Christmas. Maybe next holiday season.

    However, I do want to make some kinda PC case accent light. Using a PC comm port, the PC case would change color based on CPU load, as an example. That would only take a couple of nodes to make for cool looking lights.

    Stay tuned at:


    Thanks for the kind words.

    Have a look at my web site too. I've got some new stuff about high-brightness-LEDs (HBLED for short). These LEDs are really amazing.

    The web site is at

    Thanks again,

    This looks great! 
    I asked about boards in prev post....You are apparently not providing board layouts (Eagle Cad, etc) to anyone? I also sent an e-mail to you about the possibility of driving these from an Arduino.....will that change the latest board since Arduino doesn't have an RS232 interface??? Keep up the good work...very nice idea and instructable.
    Jc (hdlrtc88)
    2 replies


    Yes, I can provide board layouts. However, I use Altium 2004 as my schematic capture software. So, I'm not sure how to get the format converted to Eagle.

    Tell ya what, I'll do a couple of things. First, I'll export the whole project into a PDF document. The Altium PDF will include the board layout (top and bottom) and the schematic with netlist. Second, I'll take a screen capture and turn that into a jpg.

    I'll post all this tomorrow (or maybe even tonight) on my web site:

    In terms of Arduino, I've never used one so I'm at a complete loss. But since it seems so popular I ordered my very own just yesterday. I'm 100% confident we can make it work with these lamps. Even if there is no UART on the Arduino we can still bit-bang the data packets out. No problem.

    Thanks again for the interest and look for the board diagram on my web site,

    OK, I put a bunch of info on my web site with regard to board layout. Have a look at the following link:

    Let me know if you still have any board questions.


    Wow! THIS is nice!
    Do you have any exposure to "Arduino" boards?  This is a mind boggling natural for people like myself who are way more hardware oriented than software...Doing the vixen thing, sounds way over my head...Arduino I am learning a little at a time now....SUPER Job though...thanks for a great Instructable

    1 reply

    Thanks for the kind words. I was starting to loose hope that anyone was reading these these posts. Don't forget to give me some stars. It also seems like real hit or miss to get the "featured" label too.

    Anyway, enough complaining - yes, I ordered my first Arduino board just today. I understand that a lot of people use that board. It should be a simple mater to have the Arduino board interface between Vixen and the lamps. I'll make another instructable when I have something to show.

    In the meantime, you can follow my progress on my new website at

    Thanks again,