

The Waveshare RGB Strip (Part ID: RGB-5050-5V) is a flexible circuit board embedded with surface-mounted RGB LEDs. Each LED emits red, green, and blue light, which can be combined to produce a wide range of colors. This strip operates on 5V DC and is designed for decorative lighting, backlighting, and creating dynamic, colorful effects in various applications. Its flexibility and ease of use make it ideal for DIY projects, home automation, and professional lighting setups.








| Parameter | Specification |
|---|---|
| Manufacturer | Waveshare |
| Part ID | RGB-5050-5V |
| Operating Voltage | 5V DC |
| Power Consumption | ~0.2W per LED |
| LED Type | 5050 SMD RGB LEDs |
| Number of LEDs | Varies (customizable per strip) |
| Color Output | 16.7 million colors (via PWM) |
| Control Method | PWM (Pulse Width Modulation) |
| Operating Temperature | -20°C to 60°C |
| Strip Width | 10mm |
| Waterproofing | Optional (IP65-rated versions) |
The RGB strip typically has three or four pins depending on the configuration (common anode or common cathode). Below is the pinout for a standard 3-pin RGB strip:
| Pin Name | Description | Notes |
|---|---|---|
| VCC | Power supply input (5V DC) | Connect to a 5V power source |
| GND | Ground | Common ground for the circuit |
| DIN | Data input for controlling the LEDs | Connect to a microcontroller |
For addressable RGB strips, an additional DOUT pin may be present to daisy-chain multiple strips.
Adafruit_NeoPixel or FastLED for addressable RGB strips to control the LEDs.Below is an example of how to control an addressable RGB strip using the Adafruit_NeoPixel library:
#include <Adafruit_NeoPixel.h>
// Define the pin connected to the DIN pin of the RGB strip
#define LED_PIN 6
// Define the number of LEDs in the strip
#define NUM_LEDS 30
// Create a NeoPixel object
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);
void setup() {
strip.begin(); // Initialize the strip
strip.show(); // Turn off all LEDs initially
}
void loop() {
// Set the strip to display a red color
setStripColor(255, 0, 0); // RGB values for red
delay(1000); // Wait for 1 second
// Set the strip to display a green color
setStripColor(0, 255, 0); // RGB values for green
delay(1000); // Wait for 1 second
// Set the strip to display a blue color
setStripColor(0, 0, 255); // RGB values for blue
delay(1000); // Wait for 1 second
}
// Function to set the color of the entire strip
void setStripColor(uint8_t red, uint8_t green, uint8_t blue) {
for (int i = 0; i < NUM_LEDS; i++) {
strip.setPixelColor(i, strip.Color(red, green, blue));
}
strip.show(); // Update the strip to display the new color
}
LEDs Not Lighting Up
Flickering or Unstable Colors
Incorrect Colors Displayed
Overheating
Can I cut the RGB strip to a custom length? Yes, the strip can be cut at designated points (usually marked with a scissor icon).
Can I extend the RGB strip? Yes, you can daisy-chain additional strips, but ensure your power supply can handle the increased current draw.
Is the strip waterproof? Some versions of the RGB strip are IP65-rated for waterproofing. Check the product specifications before use.
Can I control the strip without a microcontroller? Yes, you can use a standalone RGB controller, but for custom effects, a microcontroller is recommended.
This documentation provides a comprehensive guide to using the Waveshare RGB Strip (RGB-5050-5V). Whether you're a beginner or an experienced user, this guide will help you integrate the strip into your projects effectively.