Creating some blinky LED lights for Christmas has always been on my wish list. Last Christmas season I really started thinking about building something. My first thought was, each LED lamp could simply be connected to a pair of wires. The power to the LED lamps could be an AC signal that would sweep from a low frequency to a high frequency. A band-pass filter built into each lamp would turn on the LED when the frequency matched the center frequency of the band-pass filter. If the band-pass filters, were setup right, a LED chase sequence could be made. Really, by jumping to different frequencies instead of sweeping, any one of the LEDs could be turned on. Using an H-Bridge driver chip, driving the desired frequency down the wires should not be too hard.
Well, I just stink at analog design - I am more of software kinda of a guy. After a couple of bench tests, I quickly gave up on using analog.
What I really wanted was a LED lamp that could be fully controlled to display any color I wanted. Oh, and it should be capable of using PWM (pulse width modulation) so that the LEDs can be ramped on, or off in really cool patterns.
What follows in this instructable is a description of a really cool design based on the a Microchip microprocessor that fell out of my desire for Christmas tree lights.
Have a quick look at the video below to see quickly what the Kemper LED PWM Lamp Controller is capable of displaying.
Note, it is hard to get a good video of LEDs in action which are using PWM for intensity control. It is the same problem when you try to video a computer monitor. The 60Hz of the LEDs get into a beat frequency fight with the 30Hz of the camcorder. Therefore, while there are times that the video of the LEDs are a bit "glitchy", this is not really the case. The LEDs do not appear to have any glitches when viewed by the human eye. See the software step below for more discussion about video tapping of LEDs.
Remove these ads by
Signing UpStep 1Design Goals
Here are some of the features (sorted in order) I wanted with my LED Controller:
1) Each LED lamp must be as inexpensive as possible. A string of 100 lamps will cost a bunch if each lamp cost a lot. Cost, therefore, is a major factor.
2) Each lamp will have a tiny micro on board which will drive the LEDs. The tiny micro will generate PWM signals so that the LEDs can be dimmed, or faded. LEDs can look harsh when simply switched on, and off. Using PWM signals the LEDs can be faded up and down without the hard edges normal to LEDs.
3) To keep wiring simple each lamp will accept commands using a two-wire interface. Power and communications will share the same two wires. The commands to the lamps will tell the on board micro which of the LEDs to drive with PWM.
4) Must look cool! I guess this should really be renumbered so it's number one.
Here are some of the minor design goals (no particular order):
1) For development, must be easy to reflash / reprogram in-circuit.
2) A PC should be able to generate the commands to the lamps. This makes developing patterns much easier than using another embedded micro.
3) Each lamp should have a unique address. Each LED, within a lamp, must also be uniquely addressable.
4) The command protocol should support MANY lamps on one string of wires. The current design supports 128 lamps on one string. With 4 LEDs per lamp that works out to 512 LEDs on one string of two wires! Also note, each of those 512 LEDs has full PWM driving it.
5) The protocol should have a command that says, "Start fading the LED from this level to that level". Once fading starts, other LEDs can also be setup and set into fading on the same lamp. In other words, setup an LED into a fading pattern and then forget it knowing that the LED will carry out the command. This implies multitasking software on the micro!
6) There should be global commands that affect all lamps at once. Therefore, all LEDs can be commanded using just one command.
Here are some really minor design goals (again, no particular order):
1) Need a way to have a lamp report back when a comm error occurs. This would allow the command to be resent.
2) The command protocol needs a way to have a fancy global match pattern. This would allow every x number of lamps to be selected with one command. This would make it easier to make chase patterns with large numbers of lamps. As an example, this would allow a command to be sent to every third lamp on a string of lamps. Then, the next command could be sent to the next group of three.
3) An auto comm polarity detect logic system would also be great. Then, the polarity of the two feed wires to the LED lamps becomes unimportant. See hardware section for more on this feature.
| « Previous Step | Download PDFView All Steps | Next Step » |









































Thanks for the vote of confidence.
You can send me an email to: Jim.Kemp @ Ph-Elec.com
I've also added a ton more stuff to my web site. You can view the site at: www.ph-elec.com
Thanks again,
Jim
Make sure you also see my followup instructables. The other two instructables make use of the next generation of LED driver boards.
http://www.instructables.com/id/Kemper-LEDs-on-Vixen-Music/
http://www.instructables.com/id/Open-Source-Microchip-LED-PWM-Driver-Project/
There is also more info on my web site: http://ph-elec.com/
Thanks again for the nice comments,
Jim
That's the idea behind this.
Here is a followup instructable that has more info:
http://www.instructables.com/id/Open-Source-Microchip-LED-PWM-Driver-Project/
Thanks,
Jim
Music base
l-arginine
Here is an example, I've got a PC case who has a fan grill on the front. I could mount two, or three, nodes right behind the grill. I could then, using the USB interface board, connect them to the PC. The USB port provides the power and communications. All wiring could be internal to the case.
With a little Windows service running in the background - it would be cool to see the PC change color based on workload. One side of the grill would be CPU load and the other side would be disk usage. Of coarse, would need to create a little GUI app to configure the window service.
Might even have to shine another node on the fan in the back to make another nice effect. Really easy - just another node on the bus.
But the point is, these should be easy to use to add accent lighting to what ever. That was my goal.
This was a really tough project to work on. It is really difficult to keep the PWM updating while also receiving characters over the serial port. Without a logic state analyzer it would have been impossible. You see, the human eye is really good at detecting missing pulses when the LEDs are been driven with a low duty cycle signal.
I've got the nodes up on my web site and I've sold a few to a few lucky folks. At $4 bucks a node, seems reasonable to me. Here is a link: http://ph-elec.com/content/product-kemper-led-lamp
Thanks for the comments,
Jim
hollywood bistro
The Microchip micro is very forgiving in terms of voltage - they can operate all the way down to less than three volts.
Each node also takes advantage of the hardware watchdog timer built into each Microchip micro. So, if the voltage gets too junky, and the micro locks up, the watchdog is always there to pull the reset.
Not having a regulator on each node makes the nodes cost less. Plus, they are easier to build and take up less space.
I just thought it would be batter to have one LARGE regulator feeding all the nodes at once. A 110Vac to 5Vdc plugin wall-wart capable of 1 amp cost less than $10 bucks. Plus, the plug-in wall-wart is UL rated.
Thanks for the feedback,
Jim
I agree with you - sales and marketing are huge. I worked for weeks on the software for these lamps. I sweated over every little bit of the code using my logic analyzer. Truly, I spent weeks just on the embedded code. Never mind the board design. I thought, once developed, the world would beat a path to my door. Didn't happen. The reason, I think, is because I stink at sales and marketing. I'm a good engineer but an awful sales / marketing guy.
These little LED boards are just cute as hell - and they have so many applications. However, I lack the sales and marketing to make them successful.
So, given all that, what's to be done? Well, I'm considering just going Open Source on the whole project. If someone wants to pickup something from this and use it, go for it. There is some really good embedded code that I'm sure someone could use. Better to open up the work rather than letting it go to waste.
Thanks,
Jim
you are the BOSS always!
Thanks a lot for sharing your ideas with us.
Jim
I was wondering if you could create one that had spot to plug it into your pc, then when someone bought it, they could program what lights lit up when and where they wanted to. You should also create a program in visual basic to go along with this.
After all said and done, this "Programmable Light Strip" could be used for a lot of things. It would also bring in the cash!!! A strip of 50 lights in a row with a control box on one end that had a "stow away usb" computer plug-in is something I would pay big bucks for! (Along with a cd of the program...) If you started mass producing these, you could sell them for around fifty us dollars each!
Thanks for the comments.
Your timing is perfect – I just completed a new Visual Basic application and posted it on my web site. The VB app uses a PC interface to connect to a string of lamps. It's kinda of test / demo app just to checkout the LEDs. It's all open-source so folks can adapt it to whatever they want.
Also, have a look at this instructable:
http://www.instructables.com/id/Kemper-LEDs-on-Vixen-Music/
This instructable shows what can be done with a bunch of KemperLED lamps connected to a PC.
I've started selling some KemperLED lamps and PC interface boards on my web site. You can find that all here on this site: ph-elec.com
Oh – and there is more, here is yet another instructable that shows what can be done with a single KemperLED lamp that is reprogrammed with custom firmware (note, the firmware is all open-source too): http://www.instructables.com/id/Pinewood-Derby-Car-with-LEDs-and-Jimmy-Neutron/
Lastly, just to get your juice's really flowing, I started work on a giant 7 segment display. My plan is to put one KemperLED in each segment. With a single comm link to a PC I can control each digit being displayed. So, seven KemperLEDs for each digit.
I thought it would be cool to build a scoreboard for my son's soccer games (he is only eight years old). I think I need nine digits to display the time, home team's score, away team's score, and the period.
The scoreboard, of coarse, can display digits in red, green, blue, or white. So I can flash red / green digits when the score changes, as an example.
So much to do and so little little time!
Thanks again for the comments,
Jim
PS: Don't forget to visit me on my web site: http://ph-elec.com/
For crazy bright LEDs, I found some new LEDs that just came on the market. Search for OVS5M at either Digikey or Mouser. These are 1/2 watt LEDs that run on 150mA of current - and cost only 50 cents each (at low quantity)! I just got a batch in and starting playing with them. I'm gonna have to keep some sun glasses in my shop just to be able to play with these things! Seriously.
My plan is to build a 14 watt fish tank lamp with these new LEDs for my next door neighbour who has a monster tank. I bought a $10 24V/600mA switching (UL rated) power supply and 38 high power (1/2 watt) LEDs for $38 bucks. Similar fish tank lamps cost $160+. Makes no sense to me. Anyway, we might have to fit some sun glasses on his fish too.
Also, have a look at me new instructable: http://www.instructables.com/id/Kemper-LEDs-on-Vixen-Music/
And finally, I'm making headway on my web site at: ph-elec.com
Thanks,
Jim
my home town is tirumala iam planning to make attractable frame photos with leds i had seen leds its very nice plz send ur mobile number if it is possible
Keep it up
I'll give you a sneak peek - have a look at the pictures below.
I started off thinking I would decorate a little Xmas tree with lights.That lead to the idea of a stand alone little tree. I actual made onefrom twisted copper. My son called it a "dead" tree and itlook terrible! Next idea was to build a flower / branch and stick theminto a vase. That's what are in the pics below. It still looks kind ofterrible (until the lights come on).
Right now, I'm working on one more bug in the software. Once I lick thatI promise I'll make a cool video to show. I know Christmas is coming quick.
It really is awesome when it is all lit up,
Jim
For the LEDs, I bought a bunch from http://besthongkong.com. They had bright 120 degree LEDs in red/green/blue/white. Remember, the LEDs I used are only for testing. I bought a 100 of each color. Here are the numbers for the LEDs I used:
Blue: 350mcd / 18 cents / 3.32V @ 20mA
Green: 1500mcd / 22 cents / 3.06V @ 20mA
White: 1500mcd / 25 cents / 3.55V @ 20mA
Red: 350mcd / 17 cents / 2.00V @ 20mA
2)
Yep, at this time I'm just trying to get a prototype design sorted out. I need to find a SMD manufacture that would be willing to work with me to make the lamps in volume. This is key to moving forward with this project. I'm either going to look around local (Detroit, Michigan) area or ask SparkFun.
3)
The current circuit diagram is included in the instrucable.
For volume production I'm thinking of dropping the diode bridge. Each lamp will then require three wires. But, it will make each lamp less expensive. I think it is all about getting the cost down. Each lamp must be as inexpensive as possible. So, I also need to find a source of less expensive LEDs. My goal is to get each lamp under one dollar. At that rate a string of 100 lamps is going to cost 100 bucks! Everyone tells me Geeks won't pay that much for Christmas tree light. I hope they are wrong.
Thanks for the questions,
Jim