Please note: All our kits will be sold via The Curious Electric Company from now on. This page is for information only. Please visit our shop to see our current range of kits or contact us to discuss your project and how we might be able to help.

This kit is an Arduino shield to control a Red/Green/Blue LED board. Use it to help add colour to your projects.
It contains an IC which controls the output colour PWM using serial commands. If you need to change the colour then just send a new colour setting.

These units are also stack-able so you can run lots of large RGB units from just two digital pins.

This boards was dsigned in conjunction with Phenoptix, who supply LEDs and kits for makers

It is available here via Tindie or direct via paypal. This kit is OUT OF STOCK and there are no plans to re-introduce it at present.

Please Note: This page is for information only as this kit is OUT OF STOCK:

This Arduino shield controls 3 outputs for red, green and blue with pulse width modulation. These outputs can control any 12V load, up to 1.5A.

This has been design in conjunction with phenoptix to interface with their 12V RGB LED boards (designed by Big Clive).

The circuit uses a serial interface and pulse width modulation (PWM) control to maintain an output colour. It is based upon the WS2801 RGB LED controller IC, but has higher current output buffer transistors which means it can be used with higher current and higher voltage RGB LED displays. Only two Arduino digital IO pins are required to control virtually any number of RGB led boards.

The board has an in-built 5V regulator to power the Arduino from the input supply.

Please note: This kit requires both an Arduino (or another micro-controller) and an RGB LED unit.

This is the shield plugged into an Arduino base and wired up to a 12V RGB LED unit.

Here is the example code (available below) in action:

Buy one here:

This kit is available to buy via Tindie.

Or direct via paypal:

This kit is OUT OF STOCK and there are no plans to re-introduce it, as there are many other RGB LED controller available.

Kit Information

This is a relatively simple to put together kit, but there is one surface mount device to solder. The kit includes these parts:

Note: You will need: soldering iron, solder, wire cutters, small pliers.


The construction instructions are available here:

Download the PDF file .

Design Overview

The input voltage (at P1) can be in the range of 7 to 30V DC. It is designed to be used with 12V LED boards, hence the supply will need to be 12V DC.

An on-board voltage regulator gives 5V to the shield and also powers the Arduino board.

This shield uses the WS2801 RGB controller IC. This reads in serial data and then controls three pulse width modulated channels (one for each colour: red, green and blue). The data sheet for the WS2801 is available here:

Once the output colour has been set using the serial interface, then the Arduino does not need to do anything else until the RGB LED needs to be changed, as the PWM control is handled by the WS2801 IC.

The output from this IC can only control a maximum of 20mA, so additional transistors have been used to control a higher output power than this (up to 1.5A).

This board is quite hackable, for example:

  • The output transistors can be changed for logic level MOSFETs for higher output current.
  • The outputs could be used to control 3 x small motors with PWM speed control for each motor.
  • You can use other micro-controllers, such as PICAXE etc.

Stacking Multiple Boards:

These boards can be stacked to have multiple RGB outputs, although some changes and extra components are required. Here is a guide to the changes required if you would like to stack these boards to run more than one RGB LED shield from an Arduino.

Please check the circuit diagram and instructions for more info or email us at:

Circuit Schematics

Here is the circuit schematic:

Edit 21/10/14: The PNP transistor shown in this diagram is the wrong way around (emitter and source should be swapped). This is incorrect on the schematic, but correct on the PCB. Thanks, Vadim, for pointing this out.

Download the PDF file .

Parts List

The kit includes the following parts. (As noted: you will also need an Arduino micro-controller board and some form of RGB LED board).
Capacitor, electrolytic
100uf 25V
Capacitor, electrolytic
10uf 16V
D1, D2
Just a wire connector
2 way socket
12V Power
2 x 2 way socket
Not supplied – for multiple boards
Not supplied – for multiple boards
PCB pins
To fit into Arduino – Long Pin
BD135 NPN 1.5A
R1,R3,R5,R7,R9, R11
Base current limit resistor
Base pull-down resistor
Arduino Shield – Double Sided
Voltage regulator
RGB LED controller

Arduino Code

The code for this project was written using the Arduino bootloader and IDE. (Note: It was written in the latest version 1.02 of the IDE and is untested on other versions).

This project assumes some knowledge of the Arduino platform. If you do not have this then please start with the numerous examples available within the Arduino community.

Here is the example, which you will need to download and add to your Arduino sketchbook:

The code has numerous comments and is based upon sample code written by Nathan Seidle via Sparkfun Electronics.

Here is the example code in action:

KiCAD design files

This is a fully open-source project. The PCB and schematic for this project were drawn using the open-source KiCAD electronics design package.

Here are the full KiCAD design files for this project, if you would like to make your own or use the ideas here.

Also, the Gerber files for the PCB are available here.


9 responses to “RGB LED Arduino Shield

  1. many thanks Matt, it works great with the Picaxe Shieldbase and the Tutorial from the Picaxe Forum. In less than 45 mins i soldered it together and got it to run.., its funny
    Ron from Gemany

  2. Hi,
    They are 1.5A per channel (each transistor is rated to 1.5A).
    At 1.5A per channel I would suggest using a heatsink for the transistors (maybe a piece of angle aluminium?).
    I have run this continuously with a varying output up to 0.5A per channel without the transistors getting hot (and with no heatsink).
    The voltage can be anything up to 30V DC (within the range of the voltage regulator).
    Hope that helps,


    Quoting Guest:Are these 12v 1.5amps max per channel, or 12v 1.5amps max for all 3 outputs combined?

  3. I noticed some of the documentation calls for the BC556 while the product list mentions the 558 transistor. Could you clarify which is to be used? Thank you.

  4. Quoting Guest:I noticed some of the documentation calls for the BC556 while the product list mentions the 558 transistor. Could you clarify which is to be used? Thank you.

    Hi, Thanks for your comment.
    The BC556/7/8/9/60 transistor range are very similar and they will all work in this application.
    As shown in the data sheet ( the difference is just to do with the Collector-base and collector admitted maximum voltage ranges. At 12v we are within this range for all versions of this transistor. If you need to drive higher voltages then this might become an issue.


  5. Where can I buy this ?
    I can see it anymore on the Phenoptix website and also not on the makersify website..please help.

Leave a Reply

Your email address will not be published.