top of page

Safari browser sometimes has issues displaying images...

I.e: *you have to click on the images to see them...

For a better browsing experience on Brainy-Bits

Please use Chrome, Edge or Firefox browser.

  • Writer's pictureBrainy-Bits

Connect and use an RGB LED with an Arduino


RGB LEDs are a fun and easy way to add some colour to your projects.

Since they are like 3 regular LED in one, the way to use and connect them is not much different.

They come mostly in 2 versions:  Common Anode or Common Cathode.

Common Anode uses 5V on the common pin, while Common Cathode connects to Ground.

As with any LED, we need to connect some resistors inline (3 total) so we limit the current being drawn.

In our sketch we will start with the LED in the Red colour state, then fade to Green, then fade to Blue and finally back to the Red colour.

By doing this we will cycle through most of the colour that can be achieved.



RGB LED Common Anode

Arduino UNO

Dupont Wires

These are Amazon affiliate links...

They don't cost you anything and it helps me keep the lights on

if you buy something on Amazon. Thank you!



The RGB LED we are using is a Common Anode, so it requires 5V to the common pin.

* If we were using a Common Cathode, we would connect it to Ground(GND) instead.

We are using 3 resistor to limit the current drawn for the Red, Green, Blue pins.

Each of them are 330 Ohms.

The connections are:  Pin3-Pin1(red), 5V-Pin2(Anode), Pin5-Pin3(blue), Pin6-Pin4(green).



Our code will use FOR loops to cycle through the colors.

The First FOR loop will go from RED to GREEN

The Second FOR will go from GREEN to BLUE

and finally the last FOR will go from BLUE to RED.

As always you can watch our Tutorial video on this page to get more information about the code used.

// Define Pins
#define RED 3
#define GREEN 5
#define BLUE 6

#define delayTime 50 // fading time between colors

void setup()
pinMode(RED, OUTPUT);
pinMode(BLUE, OUTPUT);
digitalWrite(RED, HIGH);
digitalWrite(GREEN, HIGH);
digitalWrite(BLUE, HIGH);

// define variables
int redValue;
int greenValue;
int blueValue;

// main loop
void loop()
  redValue = 255; // choose a value between 1 and 255 to change the color.
  greenValue = 0;
  blueValue = 0;

  analogWrite(RED, 0);

   for(int i = 0; i < 255; i += 1) // fades out red bring green full when i=255
    redValue -= 1;
    greenValue += 1;
    analogWrite(RED, 255 - redValue);
    analogWrite(GREEN, 255 - greenValue);

  redValue = 0;
  greenValue = 255;
  blueValue = 0;

  for(int i = 0; i < 255; i += 1)  // fades out green bring blue full when i=255
    greenValue -= 1;
    blueValue += 1;
    analogWrite(GREEN, 255 - greenValue);
    analogWrite(BLUE, 255 - blueValue);

  redValue = 0;
  greenValue = 0;
  blueValue = 255;

  for(int i = 0; i < 255; i += 1)  // fades out blue bring red full when i=255
  redValue += 1;
  blueValue -= 1;
  analogWrite(RED, 255 - redValue);
  analogWrite(BLUE, 255 - blueValue);





Copy and Paste the above Sketch/Code in your Arduino IDE.

484 views0 comments

Recent Posts

See All


All my content is and will always be Free.

If you feel that my Videos / Tutorials are helping, and you would like to contribute...

 You can toss some coins in the Tip Jar via PayPal.

Select amount then click the “Donate” button.

bottom of page