Red / Green / Blue (RGB) LEDs
RGB LEDs combine red, green, and blue LED dies inside a single package, giving you the ability to mix any visible color from one emitter. By adjusting the brightness of each color channel independently — typically with PWM (pulse-width modulation) from an Arduino, ESP32, Raspberry Pi, or dedicated LED driver IC — you can produce millions of distinct colors from a single LED. We carry RGB LEDs in through-hole DIP packages (5mm round top and 5mm flat top), piranha / superflux packages (3mm and 5mm), and SMD packages (PLCC-4, PLCC-6 / 5050, 0606, and 0807). Every RGB LED we stock is available in both common anode and common cathode configurations, so you can match the pinout your circuit or controller requires.
Common anode vs. common cathode is the single most important distinction when selecting an RGB LED. In a common anode LED, the anode (+) of all three internal dies shares a single pin connected to your positive supply voltage. You control color by sinking current through each cathode pin — pulling a cathode to ground turns that color on. Most dedicated LED driver ICs (like the TLC5940 or PCA9685) are designed to sink current, making common anode the natural choice for driver-chip projects. In a common cathode LED, the cathode (−) of all three dies shares a single pin connected to ground. You source current into each anode pin to turn on each color. Common cathode is the simpler mental model for Arduino beginners — set a GPIO pin HIGH to turn a color on, LOW to turn it off — and works well with direct microcontroller PWM outputs. Both types produce identical colors at identical brightness; the only difference is wiring polarity and which side of the LED your controller switches.
PWM color mixing is the standard technique for generating arbitrary colors from an RGB LED. Each of the three color channels (red, green, blue) receives a PWM signal — a square wave that rapidly switches the LED on and off. By varying the duty cycle (the fraction of time the signal is HIGH), you control the perceived brightness of that channel. At typical PWM frequencies of 500Hz or higher, the human eye cannot perceive the switching and sees a steady, blended color. An Arduino Uno provides 8-bit PWM on pins 3, 5, 6, 9, 10, and 11, giving you 256 brightness levels per channel and over 16 million possible color combinations. ESP32 boards offer 16 independent PWM channels with up to 16-bit resolution for even smoother gradients. For projects with many RGB LEDs — LED matrices, pixel displays, or cosplay armor with dozens of color zones — use a dedicated PWM driver board (PCA9685, TLC5947) or addressable LED protocol (WS2812B) to free up microcontroller pins.
Popular RGB LED projects span an enormous range of disciplines. Mood lighting and ambient room effects use RGB LEDs behind diffusers to wash walls in slowly shifting colors. POV (persistence of vision) displays spin a strip of RGB LEDs to paint images in midair. Cosplay props and armor use RGB LEDs behind translucent panels to create glowing eyes, energy sword effects, and reactive color changes triggered by accelerometers. Escape room designers wire RGB LEDs into puzzle props — a lock mechanism that glows red when locked and green when the correct code is entered. DJ and stage lighting rigs use high-brightness RGB arrays behind optics for wash effects. Christmas and holiday decorations benefit from RGB color cycling to rotate through seasonal palettes without swapping LEDs. Gaming PC case mods use strips of RGB LEDs for interior illumination, often synced to motherboard software. Model railroaders use RGB LEDs for realistic signal lights that change from green to yellow to red, driven by block-occupancy detection circuits.
Wiring an RGB LED requires three current-limiting resistors — one per color channel — because each internal die has a different forward voltage. Red typically drops 2.0–2.2V, while green and blue drop 3.0–3.2V. A single shared resistor would cause uneven current distribution and color shift. Use our LED resistor calculator to find the correct resistor value for each channel based on your supply voltage and the forward voltage listed on the product page. Standard drive current is 20mA per channel (60mA total for all three at full white). For 5V Arduino projects, a 150Ω resistor on the red channel and a 100Ω resistor on each of the green and blue channels is a common starting point, but always verify against the specific LED’s datasheet values.
RGB vs. auto-cycling color LEDs: if you want automatic color changes without a microcontroller, our animated LEDs include models with built-in RGB color-cycling ICs that automatically fade or jump through colors when powered. These are perfect for decorative applications, holiday lights, and props where you want eye-catching color without writing any code. For full creative control over every color and transition, stick with standard RGB LEDs paired with a microcontroller. If your power source is 12V AC or DCC model railroad track voltage, you will need a bridge rectifier and smoothing capacitor to convert to clean DC — see the AC/DCC wiring guide for a full wiring diagram.
New to LEDs and not ready to manage three channels per LED? Our pre-wired LEDs come with the resistor already built in — just connect power and ground, no math required. For single-color accent lighting, browse our clear top DIP LEDs or diffused LEDs for a simpler two-lead wiring experience.