// Language: Arduino/C++
// ESP32 RGB LED Blink Example
// Define pins for RGB LED
const int redPin = 25; // GPIO pin connected to Red LED
const int greenPin = 26; // GPIO pin connected to Green LED
const int bluePin = 27; // GPIO pin connected to Blue LED
// Time interval for blinking (milliseconds)
const int blinkDelay = 500;
void setup() {
// Initialize each color pin as OUTPUT
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void loop() {
// Red ON, others OFF
digitalWrite(redPin, HIGH);
digitalWrite(greenPin, LOW);
digitalWrite(bluePin, LOW);
delay(blinkDelay);
// Green ON, others OFF
digitalWrite(redPin, LOW);
digitalWrite(greenPin, HIGH);
digitalWrite(bluePin, LOW);
delay(blinkDelay);
// Blue ON, others OFF
digitalWrite(redPin, LOW);
digitalWrite(greenPin, LOW);
digitalWrite(bluePin, HIGH);
delay(blinkDelay);
// Yellow (Red + Green) ON, Blue OFF
digitalWrite(redPin, HIGH);
digitalWrite(greenPin, HIGH);
digitalWrite(bluePin, LOW);
delay(blinkDelay);
// Cyan (Green + Blue) ON, Red OFF
digitalWrite(redPin, LOW);
digitalWrite(greenPin, HIGH);
digitalWrite(bluePin, HIGH);
delay(blinkDelay);
// Magenta (Red + Blue) ON, Green OFF
digitalWrite(redPin, HIGH);
digitalWrite(greenPin, LOW);
digitalWrite(bluePin, HIGH);
delay(blinkDelay);
// White (Red + Green + Blue) ON
digitalWrite(redPin, HIGH);
digitalWrite(greenPin, HIGH);
digitalWrite(bluePin, HIGH);
delay(blinkDelay);
// Turn all OFF before next loop iteration
digitalWrite(redPin, LOW);
digitalWrite(greenPin, LOW);
digitalWrite(bluePin, LOW);
delay(blinkDelay);
}