WS2812 RGB LED | 10-Pack | NeoPixel-Compatible

Regular price $4.00

When we're working with LEDs, we often like to control their state (on/off), brightness, and color. There are many, many different ways of going about this, but none are as compact a solution as the WS2812 RGB LED. In its tiny 5mm × 5mm package, the WS2812 includes 3 super bright LEDs (Red, Green, and Blue) and a compact driver circuit (WS2811) that only requires one data input to control the state, brightness, and color of the 3 LEDs. These LEDs, manufactured by WorldSemi, are often dubbed NeoPixels.


The package of this smart RGB LED has 6 pads that are fairly easy to solder. As the only additional component needed is a de-coupling capacitor, the WS2812 honestly offers the best solution for controlling color and brightness of an RGB LED. The embedded constant-current LED driver (WS2811) is remarkably useful for two reasons:

  • A constant current of ~20mA will drive each LED even if the voltage varies.
  • There is no need to add current-limiting resistors (a.k.a choke resistors) between the power supply and the LEDs.
  • Low driving voltage
  • Internal signal reshaping

Connecting Multiple LEDs

The WS2812 includes a Data In and a Data Out pin so that we can connect them sequentially (i.e., the Data Out of LED#1 can be connected to the Data In of LED#2, and so forth). This means that we truly need nothing but one data line to control several of them (in addition to Power and Ground). However, at the expense of needing only one data line for control, there comes a demand for highly precise timing in the signal that we provide. For this reason, a real-time microcontroller (e.g., AVR, Arduino, PIC) is required. With some tweaking of the stock firmware, it is possible to even use a Linux-based microcomputer or an interpreted microcontroller such as the Netduino or Basic Stamp.

The data transfer protocol uses a single NZR communication mode where, after the power-on reset, the Data In port receives data from the controller. When multiple WS2812 RGB LEDs are connected together (forming a cascade), the first pixel collects the initial 24 bits of data, and sends it to the internal data latch, then the rest of the data (which is reshaped by the internal signal reshaping amplification circuit) is sent down the cascade through the Data Out port. The signal is reduced by 24-bits, which combined with the auto reshaping transmit technology, makes the number of LEDs that can be present in the cascade virtually endless (limited only by the power source). The quickest ways to get started with these RGB LEDs is using one of our Breakout Boards or weatherproof flexi-strips.