Valentine's Day RGB LED Mixer

Will Lyon's picture

I wanted to do something unique and special this year for my wife for Valentine's Day. I was browsing the web and came across this Instructable and I knew I had to make one! I decided to make one, but put my own special twist on it. Read more...

I decided to make it do a color rainbow with some RGB LEDs rather than sit a single color for all eternity. In addition I wanted a speed control to adjust the speed of the rainbow cycle and also a manual mode where the user can manually change values for red, green and blue to get any color they so desire.

I pieced together some code I found (here - analog rainbow code) and edited it to my liking, adding the analog read for the manual values and also analog read for the speed in auto mode. You can download the finished code here (.ino - Arduino 1.0 or later - not compatible with the PDE system). It works very well.

Here's how I set it up in my breadboard:

Once I had it all set up and working properly I decided to make a custom PCB for the entire assembly. Here are the latest version of the schematic and board files (V 5.0 - 9/13/2012, right click/save link as). The board and schematic files are different from the board I produced in this article but are the latest versions and work perfectly.

6/31/2012: You can purchase everything needed for this project (except 2x 33-ohm and 1x 39-ohm resistors and RGB LED's) from Sparkfun using a custom wishlist I created. Click here to view the wishlist. The LED's I used can be purchased from here.

7/5/2012: I have 5 PCB's available for purchase. The PCB's are version 3.1 (one minor flaw - ground on uC needs to be manually connected to ground at voltage regulator [fixed in 3.2]) PCB's were created by iTead Studio. See below for pictures of the PCB's. Click button below to buy a PCB or a PCB with 4 RGB LED's. NOTE: Shipping costs are for US orders only. International buyers please email me using the Contact Us form for a shipping quote.

9/13/2012: Information on this page has been updated with the latest version (5.0) of the RGB LED Mixer board files.



Version 5.0 (9/13/2012) of the RGB Mixer Board - Click for larger image

Version 5.0 (9/13/2012) board. Click for larger Image.


Version 5.0 (9/13/2012) RGB LED Mixer Schematic
Click Schematic Image for the Full Size Version

Once I had the layout finalized I made up the board using the tried-and-true toner-transfer method. I used the Pulsar ProFX PCB Fab-In-A-Box kit with the laminator rather than the usually hot iron method. I also got the top and bottom sides to line up perfectly by mirroring the layers and printing them 1" apart, then using a bright light I folded the paper so the images lined up perfectly. I then proceeded to feed the paper (with the board in the middle) through the laminator. Once it was done I drilled a couple holes just to check alignment and it was nearly perfect - the best two-sided board I've made to date. I used the standard "agitation" method with the FeCl in a shallow plastic tub.

You can see some blotchyness in the copper fill. This was only due to the printer being low on toner and trying to fill so much heavy toner fill. It still came out just fine though.

And here's the finished assembled board. Now...I just need something to put it all in.

I decided to play around with EagleUp and give it a try. EagleUp takes your Eagle files and makes a 3D representation of your PCB in Google SketchUp. It's a neat way to visualize your design and be able to create an enclosure and be sure everything will fit in. It took some fiddling and I had to make (or find in Google's 3D Warehouse) most of the parts I needed, but it looks really neat.

EagleUp Model of The RGB LED Mixer V3.2


RGB LED Mixer Version 5.0 (9/13/2012) Eagle Up Render


Below you'll find pictures of the version 3.1 PCB that is available for purchase. It needs to be noted that a jumper needs to be soldered as shown in the last picture for proper functionality. The Eagle files above (version 4.0) have this error corrected.


The image below shows the location of the needed jumper. Again, this has been fixed in the most current version (4.0).


I was browsing around Walmart one day and found this neat little 4-sided picture box in the arts and crafts section that was perfect for this project.

I had a sheet of brass stock laying around that I decided to use in one of the picture holes for the switches and knobs.

I laid out the knobs to be sure they'd fit nice in the frame opening.

Then I marked and drilled all the holes for the 4 potentiometers and the 2 switches. I also engraved labels onto the knobs and panel to indicate the functions. I'm still a little shaky with the Dremel as an engraver but it gets the point across!

I needed a way to mount the board near the top of the box so the acrylic would sit right on the LEDs. I cut 4 small pieces of 0.5" square balsa wood and glued them into the inside after mounting them to the board to get the LEDs lined up with the center of the box.

Next I cut a slit in the box lid just big enough for the acrylic to slip through.

I found some nice wood stain sitting in the basement and decided to use it on the box as it'd give a nice contrast with the brass control panel.

After the first coat:

And after the second and final coat:


Electronics installed:


Control panel installed and wired up:


And ready to go!


The acrylic I used was a 6" x 6" piece that I cut to 4" x 4.5". The extra 0.5" was for the part that sits down into the box. So the panel that you'll be able to see is actually 4" x 4" I found a design online and printed it out then taped it to the acrylic and set off with the Dremel and my micro engraving bit.


After the first round with the engraving bit:

Once it was finished I sanded down the 3 edges that will be exposed and applied an adhesive-backed silver tape to them to help keep the light reflecting inside the acrylic. I made a HUGE difference.


Here's the final pics and a video demonstrating it.


2/15/2012: This got a nod from Electronics-Lab, Hack-A-Day and Geko Geek!

RGB LED Mixer V5.0 (9/13/2012) Schematic file
RGB LED Mixer V5.0 Board file
RGB LED Mixer V5.0 SketchUp file (816kb)

Creative Commons License
RGB LED Mixer by ComputersAndCircuits is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
Based on a work at
Permissions beyond the scope of this license may be available at


It looks great and really enjoy the creativity! I've ran into a couple problems (as usually) along my time of building this and was hoping you could help. 
Are the LEDs Anode or Cathode? and which ever one they might you didnt seem to use resistors on any of them...?
Im building this with an arduino bootloaded chip and was wondering if for some reason the code above would have a problem with this setup? 
Thanks in Advance!

By rickere
Will Lyon's picture

The LED's I used are common anode RGB LEDs. The exact ones I used you can buy from I did not use any resistors in this version but I did update version 3 to add them in. I've tested it and all works perfectly although the LEDs are just slightly dimmer from the resistors. I'll get the schematic and board files up for version 3 ASAP for you.

I don't see any issues running it with an Arduino bootloaded chip as that's exactly wha tI used for this build. The one thing to note is that the code I used will only work in the latest version (1.0, available here) of the Arduino IDE.

Do you have any pics of how everything you've got is wired up?

Ill try to get some pics up asap for you. I'm using common cathode RGB LEDs and am running into some problems. Im using the arduino 1.0 IDE, I must just have the chip wired funky. I will order some Common Anode LEDs becuase im sure that must be the problem! If you put your PCB up for sale please let me know!

By rickere
Will Lyon's picture

Yea using common cathode LEDs rather common anode ones will make it work all wrong. The coding is set to use the common anode ones. You may be able to tweak it to use common cathode ones instead.

Any Ideas when you're going to get that new PCB up? Also let me know if they go for sale on BatchPCB!! Thanks. I ordered some Common Anode LED's so im hopeing to get some time to work on it this weekend! 

By rickere
Will Lyon's picture

I'll get them up tonight. they've been done for a while, just had lots of work and schoolwork going on ATM. I'll upload them to BatchPCB for you as well :)

Will Lyon's picture

Here's the link to the board on BatchPCB for you!

Thanks for getting it up Will! BatchPCB for some reason isnt letting me select my shipping mode and i cant go any further with ordering it, i dont know whats going on. Possibly site maintenance? Anyways ill order one or two when the shipping problem is handled and will get some pics up for you of what im workng on! 

By rickere
Will Lyon's picture

You can use Itead Studio as well, $25 gets you 10 boards (including shipping) and takes about the same amount of time. I've uploaded the zipped gerber files you'll need for Itead if you go that route. Click here to download them. Check out my ChipKIT Temp Center for pics of their board quality, those board I had made for that came from them :)

Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
Type the characters you see in this picture. (verify using audio)
Type the characters you see in the picture above; if you can't read them, submit the form and a new image will be generated. Not case sensitive.