

The Tri-Color LED SMD (Manufacturer Part ID: COM-07844) by SparkFun Electronics is a surface-mount device (SMD) LED capable of emitting three distinct colors—red, green, and blue—from a single compact package. By varying the intensity of each color, this LED enables a wide spectrum of color mixing, making it ideal for applications requiring dynamic lighting effects.








Below are the key technical details for the Tri-Color LED SMD:
| Parameter | Value |
|---|---|
| Manufacturer | SparkFun Electronics |
| Part Number | COM-07844 |
| Package Type | Surface-Mount Device (SMD) |
| Operating Voltage | Red: 2.0V, Green: 3.2V, Blue: 3.2V |
| Forward Current (Max) | 20mA per color channel |
| Peak Wavelength | Red: 625nm, Green: 525nm, Blue: 470nm |
| Viewing Angle | 120° |
| Dimensions | 3.2mm x 2.8mm x 1.9mm |
| Operating Temperature | -40°C to +85°C |
The Tri-Color LED SMD has four pins, as detailed in the table below:
| Pin Number | Name | Description |
|---|---|---|
| 1 | Cathode | Common cathode for all three LEDs (negative terminal). |
| 2 | Red Anode | Positive terminal for the red LED. |
| 3 | Green Anode | Positive terminal for the green LED. |
| 4 | Blue Anode | Positive terminal for the blue LED. |
The Tri-Color LED SMD can be controlled using an Arduino UNO to create various colors by adjusting the brightness of each LED channel using PWM (Pulse Width Modulation).
// Define PWM pins for the RGB LED
const int redPin = 9; // Red LED connected to Pin 9
const int greenPin = 10; // Green LED connected to Pin 10
const int bluePin = 11; // Blue LED connected to Pin 11
void setup() {
// Set RGB pins as output
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void loop() {
// Example: Cycle through colors
setColor(255, 0, 0); // Red
delay(1000);
setColor(0, 255, 0); // Green
delay(1000);
setColor(0, 0, 255); // Blue
delay(1000);
setColor(255, 255, 0); // Yellow
delay(1000);
setColor(0, 255, 255); // Cyan
delay(1000);
setColor(255, 0, 255); // Magenta
delay(1000);
setColor(255, 255, 255); // White
delay(1000);
}
// Function to set RGB color
void setColor(int red, int green, int blue) {
analogWrite(redPin, red); // Set red brightness (0-255)
analogWrite(greenPin, green); // Set green brightness (0-255)
analogWrite(bluePin, blue); // Set blue brightness (0-255)
}
LED Not Lighting Up:
Incorrect Colors:
LED Flickering:
Q: Can I use this LED with a 3.3V microcontroller?
A: Yes, but ensure the forward voltage of each LED is compatible with the 3.3V supply. You may need to adjust the resistor values accordingly.
Q: How do I achieve smooth color transitions?
A: Use PWM to gradually change the brightness of each LED channel. Libraries like Adafruit_NeoPixel or custom code can help achieve smooth transitions.
Q: Can I drive this LED directly without resistors?
A: No, resistors are essential to limit the current and prevent damage to the LEDs.
By following this documentation, you can effectively integrate the Tri-Color LED SMD into your projects for vibrant and dynamic lighting effects.