Pic RGB color generator using PIC12F629


PIC RGB is a circuit that generates random RGB colors using a RGB LED and fades between them. The idea for this circuit came from the candle simulator [1] and another project called TinyRGB [2] .
The challenge was to create an algorithm that could fade 3 independent colors at different speeds in the same time interval, using integer math, (of course).

There are other enhanced versions of this project named Pic RGB Power board and Pic RGB Power board with Infrared remote control. Both circuits drive a powerful 3W Prolight RGB LED.

RGB color generator

Design and Implementation

The PIC may be any small 12F***, as long as they have 1KWords of flash and two timers. Below at the downloads section are two hex files for PICs 12F629 and 12F675 [3].



Basic schematic includes a voltage regulator 78L05, the PIC with a decoupling capacitor and a few resistors.

Since each PIC pin can supply a maximum of 25mA of current, and the LED specification indicates a maximum of 25mA, the LED resistors were calculated to provide 20mA of current in each color.

Vred = 2.1V, Vgreen=3.4 and Vblue=3.5V


Rred = 145 Ohm -> 150 Ohm

Rgreen = 80 Ohm -> 82 Ohm

Rblue = 75 Ohm -> 82 Ohm

The push-button switches between running modes, random and sequence.

Schematic Pic RGB color generator


The PCB and Schematic were created using Eagle from Cadsoft and are available below at the downloads section. Click on the image below to expand it and have a look at the top placement information.

Note: PIC pin1 is the lower right one.


For more detail: Pic RGB color generator using PIC12F629

About The Author

Ibrar Ayyub

I am an experienced technical writer with a Master's degree in computer science from BZU Multan University. I have written for various industries, mainly home automation, and engineering. I have a clear and simple writing style and am skilled in using infographics and diagrams. I am a great researcher and is able to present information in a well-organized and logical manner.