RGB LED PWM Driver for High Power 350mA LEDs using PIC12F629


This project combines a PIC and three constant current ‘buck’ converters to produce an RGB LED controller that will operate with the the high power 350mA LEDs using PWM to control the LED brightness.  By driving the red, green and blue LEDs with varying pulse widths the controller can generate up to 16 million colours using fades, strobe and static effects.


The use of surface mount components and the low power dissipation in the three current sources allows for a very compact design.

The circuit can drive one or two LEDs in each of the three channels and will work with devices from Luxeon, Prolight, Laminar, Lumileds and others.

The project uses a slightly modified version of the code used for the Standalone RGB controller described elsewhere on this site allowing the sequence data file to be used from the other controllers.

As the board uses surface mount components this project is not really suitable unless you have the soldering skills and experience to work with this technology.

Mood Light

Here we have a mood light made using the circuit described on this page and a light fitting I bought from Homebase DIY store.  It’s a 26cm metal rim flush light fitting with brushed chrome finish.  The frosted glass dome diffuses the light from the LEDs while the silver metal base helps distribute the light evenly.

Assembly was kept very simple.  A hole was drilled in the base for the ‘mode’ switch to fit through and the PCB was fixed down with double sided tape.  Another hole was drilled and then filed square for the DC power connector which was secured with two M2.5 screws.  The RGB LED came from www.led-bulbs.com  It wasn’t fitted to a heatsink so one was made from a piece of copper plumbing pipe cut open and flattened; the heat spreader in the base of the LED was then soldered to the copper.  When the whole assembly is screwed to the metal body of the lamp fitting it provides excellent heat dissipation for the LED.

Once assembled it can be fixed to the ceiling, hung from a wall or simply placed on top of a table or other furniture.  If it’s placed on a flat surface at eye level when you’re sitting down, the low profile of the fitting illuminates upwards without being too obtrusive and the overall effect is very pleasing.

  • The Zetex ZXLD1350 and ZLLS1000 parts are available from Farnell and Digi-Key

  • Inductor Panasonic Part No: ELL6RH680M, Farnell Order Code: 1198602.

  • The inductors listed below appear to be suitable on specification only, I have not tried them. 

    ELL-6PM680M, Digi-Key part No PCD1714CT-ND

    68µH Digi-Key part No 308-1536-1-ND CR54NP-680KC
    47µH Digi-Key part No 308-1316-1-ND CDPH4D19FNP-470MC
    82µH Digi-Key part No 308-1501-1-ND CDRH6D28NP-820NC
    100µH Digi-Key part No 308-1488-1-ND CDRH6D28NP-101NC


For more detail: RGB LED PWM Driver for High Power 350mA LEDs using PIC12F629

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.