SparkFun will be closed May 25, 2015 for Memorial Day. Orders placed after 2pm on Friday the 22nd will ship out on Tuesday. Thanks!

Creative Commons images are CC BY-NC-SA 3.0

Description: This is a breakout board for the built in WS2812 RGB LED. The WS2812 is actually an RGB LED with a WS2811 built right into the LED! All the necessary pins are broken out to 0.1" spaced headers for easy bread-boarding. Several of these breakouts can be chained together to form a display or an addressable string.


Recommended Products

Customer Comments

  • Is there a Fritzing part for this?

  • Please Sparkfun … to make this more useful product re-do the PCB shape into a very small circular PCB. Along the diameter edge have 4 plated thru holes on an even 0.10 “ space grid at 90 degrees to each other. GND and Plus +5 @180 degrees apart and the DI and Dout also @ 180 degress apart. This pattern would make it possible to make a compass direction indicator, a WS2812 clock, a wearable (sewable) RGB LED among other useful applications.

  • There seems to be a way to control the WS2812 RGB LEDs without doing bit-banging at all. I found a post on the NXP (former Philips) Semiconductors microcontroller forum where they discuss NXP’s low end ARM M0+ LPC810 device operating a chain of WS2812s using the SPI and what NXP calls the SCT - .State Configurable Timer. The SCT is “listening” to master configured SPI’s SCK and MOSI signals and generates needed code 0/1 waveform(s). Running at 12 MHz this micro spends no more than 25% of its horsepower servicing the SPI interrupts.

    To me the fact that feeding data to the WS2812 LEDs can be as simple as taking care of a SPI master while having at least of ¾ of processing power left for something else is borderline awesome!:-). Seeing the code from the demo I would say that at 24 MHz this micro would have close to 90% of CPU processing power available for non-WS2812 tasks…

    Not to mention that contrary to bit-banging where choice of instructions and system frequency is a tricky task to say the least (good luck changing operating frequency from x MHz to y MHz and having a working waveform…) the SPI and SCT combo appear to operate flawlessly regardless of the micro’s speed.

    More details on “how-to”, including the code, scope screenshots and videos at:


  • The link to the datasheet on this page doesn’t work, but the one on the single LED does.

  • Is there a PIC library to drive the WS2812?

    • If there were, you’d think it would pop up to the top of a Google search. As it is, all I’m seeing is a lot of headscratching over getting the timings right, largely met without successor even outright claims that it cannot be done. There’s one person who claims to have a working solution for at least 32 ‘pixels’, though; Talk ShopBot Forums: WS2812 LED Strips. Perhaps try asking for the source there?

  • Does anybody know what package size the capacitor is?

  • Finally got this LED working with a PIC18F running at 8MHz. But you don’t have many clock cycles left over to play with, since each instruction takes 0.5uS and the recommended bit period is just 1.25uS (T-Hi + T-Lo). One nice feature is that the data stays latched (even with power off I believe) so you don’t have to constantly refresh the data.

    • Technically, you don’t, which makes it useful for simple processors and low-bandwidth color changes.

      I work in Hollywood with effects shops, often doing animated lighting, so I need to be able to refresh the display at a fairly zippy rate. This is where the Propeller really helps; I can have one or more processors updating color registers while the driver processor is constantly updating the LEDs.

      For a project I did using WS2801 LED strips (with 95 LEDs in the strip, wrapped around a sphere) I uses a 5ms refresh of the LEDs and two animation cogs (processors); one created a swirl effect, the other a latitudinal ring effect. I don’t have video of the final program, but you can see test code running in the video link below. This display was built by Steve Want (Predator and many other cool movie characters) and his team at Biomorphs.


  • For those using the Propeller chip, I wrote a driver that is posted in the Propeller Object Exchange. Since the driver runs in its own processor, it’s behavior is set and forget (it auto refreshes so you don’t have to tell the string to update).

    • Here’s a direct link to my WS281x driver and demo files: http://obex.parallax.com/object/703

      The driver code (written in Propeller Assembly) is commented and should make sense. It uses a very nifty rearrange-on-the-fly trick by TonyP12 in the Propeller forum. I like to store my color values in the form $RRGGBB, but the device wants the order to be $GGRRBB. By adding just two lines (a test and a rotate) the bits can be sent to the WS231x in the correct order.

  • the example code linked is for a WS2801, this WS2812 has no CKI line.

    • I did fine this suggesting a possible way to use SPI to drive the chain http://rubines.blogspot.co.at/2013/07/ws2812-rgb-led-matrix-booster-pack.html

  • Why would I buy this when I can buy the led and the capacitor for less the $1 (all from spark fun)

    • And for us lazy entry level folks who don’t want to mess with trying to figure out which parts from which company to choose from.

    • it’s for people that are afraid of soldering anything but through hole

      • ..or people who don’t have something to solder it to - you can just use wires (easily) with the break out board, and there are nice little screw holes to mount it to something.

        • Don’t forget those of us with more money than patience who aren’t willing to wait for the bare parts to come into stock to start playing around.

  • Where’s the current limiting resistor?? – opps, I see now the WS2812 has constant current control built in. Nice.

  • What’s the capacitor for?

  • Very nice, I like that this is a one wire device with the controller built in. I have the perfect application for this SMD rgb.

Customer Reviews

No reviews yet.