Basic Color Controller

Filled under: Electronics

Date posted: April 5, 2010



The Basic Color Controller is a simple three button interface to control RGB LED strips.

The firmware is custom designed and can be easily modified on a per project basis.




The onboard MCU is a PIC16F616 which controls the three channels of RGB LEDs by utilizing three software PWM outputs. The darlington transistor array is capable of supply 500ma per channel.

The board itself is composed only of seven electronic components: voltage regulator, MCU, transistor array, 3x pullup resistors, and 1x filtering capacitor.


The Pictures:


Click to enlarge.

Using Cadsoft’s Eagle PCB Software (freeware license) the making of the schematic was brief. In it’s many libraries Eagle has thousands of parts preloaded and there is also a vibrant community of contributors constantly adding libraries of the latest electronic components.


The generated PCB layout using Eagle’s autorouter.

The default settings of Eagle’s autorouter almost made it to 100% using only the top layer to draw the traces. When it comes to machining a simple circuit board it’s best to make it only a single layer to avoid the painstaking task of aligning the bottom layer against the top during machining.

The board layout in DipTrace

Eagle is not as user friendly as Diptrace is for manual board layout. So the board was redone and the PCB was manually drawn up using DipTrace. The special considerations when drawing up the board are wire connection pad placements being near the edge of the board with no traces around them and also the width of the traces themselves all need to be at least .025″ of an inch. The traces need this extra width because tuning the size of the cut with the router bit is complex and it’s best to leave plenty of extra material as a cutting tolerance.

The next objective is to turn the PCB into G-Code so the CNC can machine the board. The current process has many steps: Export the PCB in .DXF to Adobe Illustrator. Export in 600 DPI .BMP to ArtCam. Vectorize then export in .DXF to AutoCad. Resize and save as .DWG. Open with ArtCam, generate toolpaths, and save as .TAP. Open in Mach 3 and machine the board. Whew right! But it really does not take as long as it seems.

A simulation of the toolpath generation to confirm the part is correct.


Setting up the machine.

The copper clad is bolted down to a small block of MDF then in turn that block is screwed down to the router’s table. From here a touch off probe is used to detect the height of the four corners of the machining area relative to the tip of the router bit. With this, each corner of the MDF block can be raised or lowered to create a truly flat surface so the DOC (depth of cut) of the circuit board will be decently even from one side to the other.

Here’s quick picture of cutting a batch of boards.

IIRC each board takes around 7 minutes of cutting time. The DOC is .015″ – .020″, the speed is 15IMP, and the RPM is maxed at 23K. The main sheet of copper clad is FR4 .062″ and a 1oz copper pour.

After a quick trip to the bandsaw and to the belt sander the board looks great!

The traces are nice and wide and free from short circuit causing burrs. The DOC is a little deep, mostly because with the little bit of racking of the CNC’s gantry cutting too shallow causes excessive burring.

Soldered up!

Soldering up the boards is not to bad. When the operation is complete the board must be closely inspected using a loupe magnifying glass to check for shorts. The PIC16F616 is preprogramed before being attached to the board. If the chip does need reflashed it’s easy to temporarily attach wires connecting to a programmer.


A complete system.

Here’s the switch board.

Demonstrating the color changing patterns.

The BCC installed in a Symbolic prototype.

The backing of the Symbolic fits nicely due to the thinness of circuit board.

The Symbolic. ‘Da Bomb’

The Firmware:

At the time of writing this the firmware has several color changing patterns:

  • Solid – The user sets the color
  • Rotate – The color randomly changes
  • Revolve – The color smoothly fades throughout the various colors
  • Flicker – A simulation of a candle’s flicker
  • Strobe – A smooth rise and fall of a solid color

The three buttons control the MODE, COLOR PREFERENCE, and the SPEED.

The firmware is coded in MikroC.


The BCC works rather well and it’s usefulness will reach many projects. A future version is to use all seven outputs of the transistor array and to incorporate a ICSP header. However, due too the need of two layers those features will added when it’s time to send out the design to a PCB fab house.

BCC Based Projects:

Here are a few projects made using the BCC …

March – September 2010

Three more prototype Symbolics given away to friends a family all using early versions of the BCC firmware.

August 2010

‘City Lights’ was a a early Halo created for an art show in downtown Fredericksburg. It was the first Halo to use the BCC .

February 2011

A client requested the custom color of hot pink for the peace sign Halo.

She was extremely happy with this because not only did she get hot pink she is able to choose from many colors and color changing patterns all built in!

March 2011

The second Night Light in Wood I built was using the BCC