Introduction: A Remote Controlled Power RGB LED Mood Light.

Picture of A Remote Controlled Power RGB LED Mood Light.

Control the colour of a powerful LED light beam with a remote control, store the colours and recall them at will.

With this thing I can control the colour of a bright light into many different colours using the three fundamentals colours : red green and blue. Adding them toghether with different intensity can yeld very great a range of colours from the visible spectrum.
Specifically my mood lamp can shift colours through 32 intensity values for each RGB colour giving
32*32*32 = 32768 different combinations of hue, intensity and brightness. It can also store 10 different combinations can be turned on or off, all of these through a TV remote control.
The intensity of each red, green and blue component is done via PWM so heat dissipation is kept to a minimum.

The circuit is simple and there are no pushbuttons as control is done entirely through the remote control.
I use this circuit to light a flower vase. The flat case of the box I chose does a good job at balancing the vase.
The pictures provide some ideas.
One day I am possibly buying one of those glass cubes with LASER created 3D shapes inside to go with the lamp. For now glass vases are just fine.

UPDATE : I uploaded V1.1 where at power up the micro outputs the values from memory number 0. Just make sure you store your power up colour in memory number 0 and at power up it will show up. If you'd rather go for lights off, just store all blanks in memory numer 0.

Hey I'm on the best of Instructables book !

Step 1: Description

Picture of Description

The LED I chose is a Seoul Semiconductors single chip. It is pretty expensive, but it is powerful giving a very bright light. It provides also an excellent colour blending.
It could be replaced by cheaper and probably equivalent ones; when I designed this, it was the only one suitable I could find.
Due to the LED's high power rating it is absolutely necessary to provide it with a reasonable heat sink like the one you see in the photos; before putting the finished circuit in a case check the LEDs for heat at maximum intensity on all of the three colours. The current limiting resistors I chose match my LED only !

I chose a 10% less than the typical recommended V-I values on the datasheet curves.

Being the circuit in a plastic case it is not safe to pull dissipation any higher while a metallic case with an external dissipation scheme might make safe to pull the LEDs currents a make a more powerful beam.
Different LEDs do have different ratings. Check the datasheets for maximum dissipation and recommendations for your LED.
I purchased my LED online from Distrelec. Farnellinone carries them also.

The drivers are surplus NPN transistors over-dimensioned for the current required. Less powerful TO126 encased NPNs should do fine. As the Transistor are driven with PWM, their dissipation is kept to a minimum so heat sink is not necessary.

The IR receiver is one i savaged from a dead TV toghether with the remote control. The receiver has a metallic screen that should be grounded to 0V. Some newer small-sized ones are from Temic and can be bought from the same sources as above. Practically any receiver works fine, provided that it has 5Volt logic levels (and supply) and has the same (or close) carier frequency as the remote transmitter (typically 38-50kHz). When demolishing a TV or any other remote controlled piece of equipmentm, a good rule is to save both the remote and the receiver. By the way, I love saving transformers, VFD, motors as well, but that's another story.

This lamp uses an european RC5 standard for Philips TV remotes; Any programmable remote control that supports Philips TVs should be fine, I tried one and it works.
Both remote decoding and PWM generating routines should be understandable from the source code I commented.
The circuit must be supplied from a 5 Volt, 1A good source. Initially I used a linear voltage regulator IC on the board into the case, but the heat generated by the regulator was way too much to be easily dissipated from within the box, so I removed it and now I'm using anexternal waal adapter with a regulated 5V 3A output. The LEDs are powered directly from the 5Volt, so any variation would trash your precise calculations for currents to flow through the LEDs, possibly damaging them. So, the better and stable the supply, the better.
The case I chose is a Teko TB9, it looks elegant to me and small transparent objects can be placed on top of the case+LED without the risk of falling.

Step 2: Operation

Picture of Operation

The remote controls every operation the RGB lamp.
Remote control channel buttons 1, 2 and 3 pull up R, G and B intensity, buttons 4, 5 and 6 pull down the intensity; Channel up and channel down buttons shuffle through the 10 stored values of R G & B intensity.
You can access directly the preset with the 'volume+' button followed by the preset number (0 to 9). You can store your preferred colour pressing 'volume-' followed by the preset number (0 to 9).
The power on/off button does exactly what you might expect : it turns on and off the lamp.

Step 3: Construction

Picture of Construction

I designed a PCB for the circuit but did not use it. I used perfboard instead.
The pictures should give information enough for anyone willing to replicate exactly what I did. Depending on the height of the box of your choice, the square hole could be not necessary.
Again. keep in mind the heat generated by the LED. Also if you are planning to use this thing to light up a glass object from below, the latter may prevent heat from flowing.
Use a 5Volt regulated wall adapter 1.5A .
During the first uses, monitor the heat generated as it depends a lot from the environment (plastic case, heat insulating stands, objects on the LED).
Never stare at the beam. The light is strong and concentrated.

The microprocessor must be programmed. I used WinPIC. The hardware interface is the one described here.
Attached you can find the schematics, the PCB (check this before, as I never used it !), the source code fully commented and the HEX file to burn directly into the PIC. The software was designed with MPLAB by Microchip.

Hope you enjoy this instructable. If you make your own lamp, please share pictures of your creation and please leave a comment.



dilshan.subasingha (author)2014-12-05

can i extend this circuit upto 3 LED with the same circuit by adding proper heat sinks ?

djeremic (author)2012-06-15

Hi to all. I have a serious problem with this project...
It does not react except of random change off colour on any of 400 codes of universal remote.
Let me just ask, can i use 16F627 [not 627A] or 16F628A, because i cant find anywhere 16F627A???
I have 16F627 and i cant program it at all, error ocures. 16f628a i programable, but it is not working as it should.
And at the end, what is the difference between 627 and 627a?

lacicor (author)2012-03-16

Dear all! Is there users which use this device with RGB led strip(aprox 4 meter lenght). If not, is there any idea what components(or component nominals) need change so safety use this great device?Thanks all for help!

Build_it_Bob (author)2010-09-07

Wow, what a great contribution! I have to return to the site to keep reading. You make assembly code understandable ( I have always found assembly hard to follow) with your comments and neat form. I am looking forward to finding time to build this. Thanks for sharing !

boopainspires (author)2010-08-26

great design but for doing we need pretty interest

scott1202 (author)2010-08-07

Try to connect an LED at the output of the IR receiver and see if it lights up a bit when you press a button on the remote. Specific code to test the hardware is probably overkill. Car Led

dar7290 (author)2010-01-26

 Is there a way to get a chip pre-programed? or do you know where I could get one programed?

5Volt (author)dar72902010-01-29

Sorry, I can't supply any preprogrammed chip. They are simple to program and the internet is full of how-to's. Please try Googling or ask an expert friend.

Some reader might start a simple service (with a veeeeery reasonable fee, remember : this project is CC non commercial, but a reasonable fee would be fine for me to be charged to the buyers ! )

In case someone wants to volunteer, just write.


errolmorris (author)2008-09-16

Can anybody provide a data sheet for the 2SB2012 transistors in the schematic. Is it a typo, I can't find anything on them.

5Volt (author)errolmorris2008-09-20

Ciao, It's not a typo, I actually used the 2SB. I'm sure I have the pdf datasheet somewhere. I of course put it in somewhere I could find it easily...:( Anyways, choose the NPN transistor depending on the power requirements of your LEDs, so Any Radio Shack low frequency NPN (darlington should work also) transistor should do then. If you're in doubt, just write with the specs of your LEDs.

marxmarv (author)5Volt2009-11-04

Under the JIS coding scheme, 2SB* is an audio-frequency PNP transistor.  Are you quite sure it's not a 2SC2012 (3A Ic, TO-220 package)?

5Volt (author)marxmarv2009-12-04

Ooops ! I insisted one time too much !
I opened the box to check and found that I actually used a 2SD 2012.
Sorry for the inconvenient.
I uploaded the pdf file.
Best to all

12V (author)2009-08-13

why don't you make a rc5 encoder?(with pic) it is one of the most used codes by hobbyists!

5Volt (author)12V2009-08-17

An RC5 encoder is one of the projects I never finished. I do not promise but one day I might spend some time and finalize it. Best A.

12V (author)2009-08-13

have you engaged cp(code protection )? i want to be able to reuse my pic.

5Volt (author)12V2009-08-17

Ciao 12V No, I did not engage CP. The statement _CONFIG _CP_OFF & _WDT_OFF & _BODEN_ON & _PWRTE_OFF & _HS_OSC & _MCLRE_ON & _LVP_OFF explicitly excludes CP. However if you erase a CP'ed PIC you get back a clean and reusable PIC. A.

radio.bhaskar (author)2009-04-13

Hi, This is a very good Instructables it possible to increase the number of preset channels from 10 to say 30 or more . I am using PIC16C628A micro and any possibility of cyclic colour fading in/out.

magicentral (author)2009-04-01

Would there be a way to make this controll an LED string, and do fades and strobe? Also, could the reciever and LEDs run off of a battery? thanks

brian31 (author)2008-12-27

hi iam new to electronics , this project looks realy worth while, i have nearly sourced all the components, could any one tell me what what the 2 components are after the qaurtz 20 mhz are, sorry for the stupid question also the rating of the 2 black capcitors. i have a little experience with pic programmers thats about it iam afraid. thanks from brian

5Volt (author)brian312008-12-28

Ciao Brian, the two small components are the ceramic capacitors connected to the quartz towards ground. They are small 15pF 50 Volts (could higher say 100 Volts but size would increase). The two round brown electrolytic capacitors are 100 micro Farads 16 Volts (again, could be 25 or 35 or 63 Volts but at cost of increased size). In the schematic I put just one electrolytic capacitor : the second is in parallel to the one in the schematic, simply placed near the LEDs and transistors connections. Just be careful to make clean solders, remove with alcohol any extra solder paste that may have remained in place and didn't evaporate with heat, especially around the quartz. Buon divertimento, have fun. Alessandro

TZepeSH (author)2008-12-19

I have finally finished the module and it is working perfectly with the program with -5%. I will use this for changing the color of the dashboard instruments in my car. Unfortunately, the car is still in work and i can not post any images, but as soon as possible i will post some images with the led lighting a crystal flower. Also, i tested a modified circuit for common cathode leds and it is working very well. If it is permitted, i will add a schematic of a change i have made to the circuit to accomodate more leds (i added two more transistors on each output of the microcontroller - inverter circuit to obtain the same output as for one transistor in the original schematic).

5Volt (author)TZepeSH2008-12-19

Yes, I think it is possible/permitted to comment with drawings and pictures. Please do so and post pictures as soon as available. Ciao Alex

bigalscorpio (author)2008-11-21

Hi again 5Volt, I forgot to mention also that I used the Receiver from a sky box too, all the ones I have are from sky boxes and all so far are the same, with the blob facing you and the leads downwards the pinout from left to right is Out, Gnd and Vdd. Also did you ponder on my question of powering up with the lights on? I would really appreciate this if you could help..............Al

5Volt (author)bigalscorpio2008-11-21

Ciao Bigalscorpio,<br/>I quickly modified the code and saved it here : <a rel="nofollow" href=""></a> (right click and save as....)<br/><br/>Veeeery important : I did not tested it, because I can't find my PIC programmer. Just two (2) lines of code but it might not work. Do test it and please come back with comments so that I can post the HEX file for this V1.1 along with the original V1.0. Hope this helps<br/><br/>Oh, almost forgot : now the system powers up taking the values from memory 0, so just store the RGB you want in memory 0 (it had to be somewhere in nonvolatile memory ) : at power up the RGB will be taken from there.<br/>Ciao<br/>Alex <br/><br/><strong>Hey I'm on "The best of instructables" book !'<em><strong></strong></em></strong><br/>

tomy (author)5Volt2008-11-23

Hi 5Volt, I know its old question, but can you find some spare time and modify code also for color fading?I thing its most wanted function for your beautiful lamp! wbr tomy

5Volt (author)tomy2008-11-23

Ciao Tomy, it's OK. The main problem is to choose the fading sequence. Combination/permutations are a huge number. The algorithm must take some trade offs. I really can't promise : this one wouldn't be as simple as Bigalscorpio's ! Alex

tomy (author)5Volt2008-11-23

Hi 5Volt,
I tried a lot of rgb fading lamps and the best color fading without jerking has this lamp: I have this one in slow color fading mode and looks great. Maybe you can look to its code for algorithm you need.If you find some time of course...

bigalscorpio (author)2008-11-21

Hi Alex, I got it working, I must not have hit the 0 button quick enough before! :) You do need to be really quick after the vol - . So its sussed and working great now. You're a real star! Thanks again and I will take some pics and post them as soon as I find the mem card for the camera, someone has borrowed it for something and not put it back as usual. Doh! Al

5Volt (author)bigalscorpio2008-11-21

Excellent ! Infact I found my programmer and tried my code. Happy I could help I'll post the source and HEX for V1.1 About your question below : no, I did not modify the HEX file directly, I read the source code with MPLAB, modified it and compiled. This morning I burnt it into a PIC with Microchip PicKit2 and tried it on the target. Ciao Post the pictures !

bigalscorpio (author)2008-11-21

Hi Alex, Just tried the new code and still no light when powered up :( Did you actually add to the hex code, can you read it as hex, I mean does that really make sense to you? I'm impressed if you did, I'd be satisfied if I could understand the ASM ;) hehehe Al

bigalscorpio (author)2008-11-20

Hi 5Volt, Great piece of work! I just finished making it using a PIC16F628A and it works fine, and I'm using an old sky remote (code 584) just for anyone who needs to use one. One thing I would like to alter is I would like the light to default to ON when powered up. Is this possible by adding - changing some of the code? I am only just starting PICs and learning MeBasic, so I don't know where to start in your ASM program so any help would be much appreciated, its probably simple to you. Oh and by the way, where do I find this new project you mentioned I can't wait! Thanks again for a great project. :) Al

5Volt (author)bigalscorpio2008-11-21

Hello bigalscorpio,
thanks for the tip, Sky 's remote are becoming quite common here in Italy and this helps.
It has been a long time since I did my last project with PICs. For some reason (good ones, I'd say, like free the C compiler and a better instructions set and a better oscillator : the PICs ALWAYS drived me crazy...) Anyways PICs are not forgotten, they are great micros like we know.
The new project....I really don't remember what I was talking about : I started and dropped a lot of projects in the meantime, maybe it was the RGB light based on light bulbs ( it's on my site ). Just be careful : that thing is powered by the mains and could be veeeery dangerous.


P.S. While checking the spelling of this message, the applet could not find the word "Italy" and suggested "Idly" for a replacement....Is there a message here ? LOL


fmatosqg (author)2008-10-23

Hi, Great project, that is what I had in mind. I hit into it while searching for information on xtals, lucky me! Only I started with a smooth changing color scheme in mind, so I would ask if you had further elaborated it, or had notice of someone who had. I know gray code, but didn't follow your thoughts with 3Dman back in 2007, how do you think it could help? I though about making 2 or 3 customized tables on a PC and running indexes. So one just needs to randomize the table used. Another question is how white can you get with this scheme? Of course 100% pure white is unnatainable, but is it hard to calibrate it to match a white led? And does your experience tells you how much that calibration changes with old age (current wear)? I should add a microphone and some tuned filters for whistle freqs, so I can change color modes this way. Anyways, you are plenty of ideas I should use before.

errolmorris (author)2008-09-23

Thanks for the taking the time respond. I've built the circuit but cannot get it to work. Is there a way to exercise the circuit without a remote to make sure the program and circuitry is working and isolate the problem to the remote. Maybe a demo program that runs when first powered. Also I am using a philips universal remote and have tried all the philips tv codes with no progress. Can you recommend a universal remote that has worked?

5Volt (author)errolmorris2008-09-24

Ciao E., try to connect an LED at the output of the IR receiver and see if it lights up a bit when you press a button on the remote. Specific code to test the hardware is probably overkill. Just make sure the capacitor at the crystal are correct, clean the pads from solder paste. Make sure power gets to the IC's pins, that the transistors are connected correctly (remove the PIC, than connect the pin of the IC that drives a transistor to the positive : the corresponding LED should light up). Make sure the micro is programmed correctly together with the fuse bits. Read further the comments as I'm pretty sure someone else had problems he solved eventually. Ciao ! 5.

errolmorris (author)5Volt2008-09-29

I've taken your advice and checked all the items you listed. Everything seems to be OK. I think my problem is going to be the universal remote I'm using. Can we get a list from the people on this Instructable about which remotes are guaranteed to work? If need be I'll buy the same remote on ebay. Buy the way the one I've tried to use that didn't work looks like this.

5Volt (author)errolmorris2008-10-15

What is the part number/make of the IR RECEIVER you are using ?

errolmorris (author)5Volt2008-10-16

I've tried TSOP1138 and TSOP1140 from Vishay. The data sheet is here:

If you can guarantee a different one to work I'll make sure I get it and try it. Thanks so much for continuing to provide support, it is appreciated.

5Volt (author)errolmorris2008-10-20

I had planned to work on the issue this weekend but my home PC's monitor left me silently...I'm writing from my office and can't spend much time on it. Well, the IR receivers should be fine as long as the remote control emits in the range 38-40kHz. Most remotes do. And probably you already tried placing an LED at output of the IR receiver. The major suspect is the crystal (not a ceramic resonator!) oscillator which more often than not has been source of troubles to me. Make sure the pins to the crystal are clean from solder paste, the capacitors are there and capacitors ground connection is short. My intent for (last) weekend was to add a few lines of code and make an output of the micro blink as a proof of the micro programmed and oscillator running. In the meantime if you have access to an oscilloscope try and put it on the crystal pins (oscilloscope ground to power supply ground). One of the 2 pins of the crystal should provide a 20 MHz wave. Try it, don't wait for my next weekend ! A.

errolmorris (author)5Volt2008-10-20

I have previously tried an LED at the output of the IR receiver and it does blink when I use the remote. I have hooked a scope to the crystal and I do have a 20 MHz wave there. The suggestion of adding a few lines of code to help isolate things is an excellent one, let me know when its available. In the meantime I presently have this on a bread board and I will trim all the excessive lead length and try again. Thank you

5Volt (author)errolmorris2008-10-20

The code must be running as the xtal is oscillating. Is the reset pin connected ? if so I suspect it really must be the remote. Try and find a friend with a Philips or programmable remote . For now, good night. (i'm on my new small Acer Aspire One !)

skappy (author)2008-10-13

Hi 5Volt, i'm tryling to replicate your circuit but i encounter some difficulties. May i ask you what kind of setting have you choose for programming the PIC with WinPic? Is there someting special to do ? I've checked and rechecked the circuit, finding nothing ... The programmation of the pic seems to be ok but .... i'm tseting the output port of the pic with oscillo but nothing appears and the led never switch on when activating the remote. Could you help please ? Thank you very much

5Volt (author)skappy2008-10-15

Ciao Skappy, please run the checks listed in the comments below. The settings for the programmer I have to check on my original documents. Can't do that right now as I'm away on business for a few days. 5.

sathyasaishyam (author)2008-06-26

im constructing a remote controlled car now im researching on that now on net i would like to gat suggestions i used a DC motor for that remote controller is what confuses me

nooooooooooo all of our jobs are being exported to india noooooooooooo!!!!! lol

sathyasaishyam (author)2008-06-26

im about 2 join electronics engineering in SRM University in INDIA

well i like ur project and i would like to adopt ur technique but can we improve it a bit frm that TV remote and reciever to something more compact and focused

sathyasaishyam (author)2008-06-26

u may mail me

5Volt (author)2007-01-22

As a Valentine's day project, you can use this as lighting for vases, crystal or glass objects or simply give a dim light of the colour you like (or she likes...). Ciao

mikemmcmeans (author)5Volt2008-06-21

like the color of her favorite eyeliner (black) or the color of her favorite little thong :)

About This Instructable




More by 5Volt:USB bronze bell striking clock (with Arduino)Build a real bell-striking clock for your PC and a fire extinguisher-striking clock.Encode data in 2D on your T-shirts, business cards and stickers !
Add instructable to: