Here Come the RGB LED Clones

ws2812 and clones timing

It seems like every third project on Hackaday uses WS2812 RGB LEDs in some way. We all love our blinkenlights, and bright, cheap, serial controlled RGB LEDs are the bees knees.

As with all products these days, competing manufacturers have discovered the huge market for these things, and clones are now available. [Tim] recently took a look at the PD9823, as well as three versions of the WS2812. [Tim] is considered something of a WS2812 guru here at Hackaday. You might remember him from his WS2812 driver optimization article, which should be required reading for any WS2812 hacker.

As many of us know, the timing characteristics for these LEDs can be a pain to work with. The values also differ between the WS2812S and WS2812B. [Tim] discovered that the new through hole WS2812D parts are different yet again, though rather close to the B parts. The PD9823’s designers must have studied the WS2812’s closely, as their 190ns time base falls directly between WS2812S 166ns time and the 208ns time of the WS2812B. The PD9823 also requires a slightly longer reset pulse.

The takeaway is that well written drivers such as [Tim's] should have no problem with the new parts, but compatibility is something to keep in mind as more clones hit the market.

Comments

  1. soundman98 says:

    why do you keep harping about the timing requirements being so tight?

    http://hackaday.com/2014/05/19/driving-1000-neopixels-with-1k-of-arduino-ram/

    • Old'un says:

      I was about to ask the same question. Even a cursory look at the datasheet shows that the timing is relatively slack, and easily achievable – I used a 16MHz 8051.

    • cantido says:

      Well at least they didn’t call them neopixels again.

    • Bogdan says:

      I think people mean that the timings are short, the required duration is very small comparable to most hobby microcontroller clock. This means that the code needs to be very efficient, it does not work trivially with bit banging over some HAL functions that take their time. This makes it difficult to drive them.

      It’s not the precision of the duration of the pulses that matters this much, which is what the 1000 LED from arduino proves.

  2. fartface says:

    I want brighter versions of these, as in 1 watt bright.

  3. I recently discovered the LPD1886 it’s 10Bit version of the WS2811 witch can be used to get true 8Bit color.
    With the normal ws2811 and it’s 8 bit pwm you get usually only 32 linear colors.

  4. Dhon_ says:

    Can any of these be run from 12V or greater?

    • Bogdan says:

      No, but there is the WS2811 driver IC that can actually drive 3 leds in series on each channel, which should work at 12V. You can find strips where you can actually control 3 LEDs and work at 12V. They should be a bit more efficient than 5V strips.

  5. Chu says:

    Did you realize that at

    https://github.com/cpldcpu/light_ws2812/blob/master/light_ws2812_AVR/Light_WS2812/light_ws2812.c

    Tim is accessing the color struct via a uint8 pointer? (line 106)

    Wuaargh!

    • cantido says:

      >Tim is accessing the color struct via a uint8 pointer? (line 106)

      Why would it be a problem? cRGB is declared as:

      struct cRGB { uint8_t g; uint8_t r; uint8_t b; };

      So on the AVR it will be 3 bytes in a row. If you have cRGB[2] it’ll be 6 bytes in a row.
      It wouldn’t work on an arch that would pad the uint8_t’s in the struct for alignment etc but it doesn’t matter on the AVR.

  6. blueberry says:

    Finally! wait couple of months and they will be cheap on eBay, and i can build a led-cube that wont give faded light because of multiplexing :D

    • Bogdan says:

      Most LEDs can support a higher current if the duty cycle is small. It should be possible to put 8X the current if your duty cycle is less than 1/8.

      But yeah, these intelligent LEDs make a led cube much easier to wire.

  7. Don’t forget the UCS1903 chip – same sort of 3 LED, data in/data out setup.

    You can get the UCS1903 as a SOP-8 chip. Nice for those of us who want to make our own custom setup. Does anyone know if you can get the WS2811 or PD9823 as a discrete component that a hobbyist can solder?

  8. Jamieson says:

    I’m considering using a few WS2812B’s on a PCB with planes and a regulated 3.3V supply. Unlike a flex circuit/strip voltage drop is not a problem. Does anyone have experience running these things from a 3.3V rail?

  9. hyperkinetic says:

    Now if only someone sold these chips in a piranha package, instead of 5050.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 96,376 other followers