Features
- 32 individually addressable RGB LEDs arranged in a circular layout.
- Integrated WS2812 driver IC inside each 5050 LED for full pixel control.
- Intelligent reverse polarity protection prevents damage if power is connected backwards.
- Control circuit and LEDs share a single power source.
- Built-in signal reshaping ensures waveform integrity without distortion accumulation.
- Built-in electric reset and power loss reset circuits.
- Each pixel supports 256 brightness levels per RGB channel (16,777,216 colors).
- Scan frequency ≥ 400Hz for smooth animations.
- Single-line cascading data transmission port, capable of 5m signal transmission without amplification.
- Supports cascading of at least 1024 pixels at 30fps refresh rate.
- Data transmission speed: 800 Kbps.
- Highly consistent color output with cost-effective design.
Specifications
- Operating Voltage: 5V DC
- LED Type: 5050 RGB with integrated WS2812 IC
- Number of LEDs: 32
- Outer Diameter: 126 mm
- Inner Diameter: 108 mm
- Brightness Resolution: 256 levels per color
- Color Depth: 24-bit (16,777,216 colors)
- Scan Frequency: ≥ 400Hz
- Communication Interface: Single-wire digital
- Data Transmission Speed: 800 Kbps
- Cascading: Supports ≥ 1024 pixels at 30fps
Pinout
- GND – Ground connection
- VCC – 5V power supply
- IN – Digital data input from microcontroller
- OUT – Digital data output for cascading modules
Arduino Wiring
- VCC → 5V on Arduino
- GND → GND on Arduino
- DIN → Digital Pin (example: D6)
- DOUT → Optional cascading output
Arduino Example Code
#include <Adafruit_NeoPixel.h>
#define LED_PIN 6
#define NUMPIXELS 32
Adafruit_NeoPixel strip(NUMPIXELS, LED_PIN, NEO_GRB + NEO_KHZ800);
#define DELAY_MS 50
void setup() {
strip.begin();
strip.show(); // Initialize all pixels to 'off'
}
void colorWipe(uint32_t color, int wait) {
for (int i = 0; i < strip.numPixels(); i++) {
strip.setPixelColor(i, color);
strip.show();
delay(wait);
}
}
uint32_t Wheel(byte pos) {
if(pos < 85) {
return strip.Color(pos * 3, 255 - pos * 3, 0);
} else if(pos < 170) {
pos -= 85;
return strip.Color(255 - pos * 3, 0, pos * 3);
} else {
pos -= 170;
return strip.Color(0, pos * 3, 255 - pos * 3);
}
}
void rainbowCycle(int wait) {
for(long j=0; j<256*5; j++) {
for(int i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));
}
strip.show();
delay(wait);
}
}
void loop() {
colorWipe(strip.Color(255, 0, 0), DELAY_MS);
colorWipe(strip.Color(0, 255, 0), DELAY_MS);
colorWipe(strip.Color(0, 0, 255), DELAY_MS);
rainbowCycle(20);
}
Applications
- Decorative and ambient lighting
- LED animations and circular visual effects
- Status indicators and dashboards
- Wearable electronics
- DIY and embedded projects
Resources
Features
- 32 individually addressable RGB LEDs arranged in a circular layout.
- Integrated WS2812 driver IC inside each 5050 LED for full pixel control.
- Intelligent reverse polarity protection prevents damage if power is connected backwards.
- Control circuit and LEDs share a single power source.
- Built-in signal reshaping ensures waveform integrity without distortion accumulation.
- Built-in electric reset and power loss reset circuits.
- Each pixel supports 256 brightness levels per RGB channel (16,777,216 colors).
- Scan frequency ≥ 400Hz for smooth animations.
- Single-line cascading data transmission port, capable of 5m signal transmission without amplification.
- Supports cascading of at least 1024 pixels at 30fps refresh rate.
- Data transmission speed: 800 Kbps.
- Highly consistent color output with cost-effective design.
Specifications
- Operating Voltage: 5V DC
- LED Type: 5050 RGB with integrated WS2812 IC
- Number of LEDs: 32
- Outer Diameter: 126 mm
- Inner Diameter: 108 mm
- Brightness Resolution: 256 levels per color
- Color Depth: 24-bit (16,777,216 colors)
- Scan Frequency: ≥ 400Hz
- Communication Interface: Single-wire digital
- Data Transmission Speed: 800 Kbps
- Cascading: Supports ≥ 1024 pixels at 30fps
Pinout
- GND – Ground connection
- VCC – 5V power supply
- IN – Digital data input from microcontroller
- OUT – Digital data output for cascading modules
Arduino Wiring
- VCC → 5V on Arduino
- GND → GND on Arduino
- DIN → Digital Pin (example: D6)
- DOUT → Optional cascading output
Arduino Example Code
#include <Adafruit_NeoPixel.h>
#define LED_PIN 6
#define NUMPIXELS 32
Adafruit_NeoPixel strip(NUMPIXELS, LED_PIN, NEO_GRB + NEO_KHZ800);
#define DELAY_MS 50
void setup() {
strip.begin();
strip.show(); // Initialize all pixels to 'off'
}
void colorWipe(uint32_t color, int wait) {
for (int i = 0; i < strip.numPixels(); i++) {
strip.setPixelColor(i, color);
strip.show();
delay(wait);
}
}
uint32_t Wheel(byte pos) {
if(pos < 85) {
return strip.Color(pos * 3, 255 - pos * 3, 0);
} else if(pos < 170) {
pos -= 85;
return strip.Color(255 - pos * 3, 0, pos * 3);
} else {
pos -= 170;
return strip.Color(0, pos * 3, 255 - pos * 3);
}
}
void rainbowCycle(int wait) {
for(long j=0; j<256*5; j++) {
for(int i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));
}
strip.show();
delay(wait);
}
}
void loop() {
colorWipe(strip.Color(255, 0, 0), DELAY_MS);
colorWipe(strip.Color(0, 255, 0), DELAY_MS);
colorWipe(strip.Color(0, 0, 255), DELAY_MS);
rainbowCycle(20);
} Applications
- Decorative and ambient lighting
- LED animations and circular visual effects
- Status indicators and dashboards
- Wearable electronics
- DIY and embedded projects
Resources