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.
This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.
Skill Level: Noob - Some basic soldering is required, but it is limited to a just a few pins, basic through-hole soldering, and couple (if any) polarized components. A basic soldering iron is all you should need.
See all skill levels
If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.
Skill Level: Rookie - You will need a better fundamental understand of what code is, and how it works. You will be using beginner-level software and development tools like Arduino. You will be dealing directly with code, but numerous examples and libraries are available. Sensors or shields will communicate with serial or TTL.
See all skill levels
If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.
Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels
We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.
No reviews yet.
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.
Check this board out. Not exactly what you're looking for, but a lot closer than this breakout.
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:
http://www.lpcware.com/content/forum/controlling-ws2812-led-strips-lpc810
The link to the datasheet on this page doesn't work, but the one on the single LED does.
All fixed. Thanks for the keen eyes!
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?
The Eagle file has it as a 0603.
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.
http://www.youtube.com/watch?feature=player_detailpage&v=YuSMKciw0J8
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?
It's a decoupling capacitor: http://en.wikipedia.org/wiki/Decoupling_capacitor
perfect, thanks.
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.