Addressable RGB LED strip


[Synoptic Labs] stumbled upon an RGB light strip with individually-controllable LEDs. The strip uses 5 volts and is controlled by an HL1606. Because the strips are hard to find, this chip is mostly undocumented and he had trouble driving the strip. He was unable to get it working until he met with [John Cohn], who had previously reverse-engineered the serial protocol. Working together, they released a library for the Arduino to drive the strip. So far, the library only supports fading each LED, the only known functionality. If more strips like these were available, constructing LED matrices would be much easier. Embedded below is a video of the strip fading through the rainbow.

[Related:  LED ambient light strips]


  1. Joe says:

    where oh where can i buy this?

  2. Joe says:


  3. Arthur says:

    …. I want one. This article is such a tease :(

  4. macegr says:

    Really nice…I was glad to skim through the code and see how they work. Was surprised to notice that you can’t actually set each color LED to a specific color, they’re either full on or full off, or fading. Would have been pretty easy for the chip makers to use individual registers for each color, like the DM413 in a lot of RGB strings, or the A6281 in the ShiftBrite. So, this strip is really close to the holy grail, but not quite there.

  5. gojimi says:

    OK… found somebody who sells what appears to be these strips or a variation thereof… not sure of length, number of rgb leds per meter, or if these have the hl1606. They are closed for the day so I guess those questions will have to wait till tomorrow!

  6. dirk says:

    someone make this talk to DMX and you’ve got a product.

  7. johncohn says:

    Zach, Xander,
    Thanks for posting this.. it was a little Maikerfaire magic ! If you want to see a cool thing to do with these strips, check out the the headband I made . (It’s in the Instructables LED contest.. so cast your vote if you like the project !)

  8. williamtold says:


    It seems they already have a controller for this chip with 83 built in patterns?

    Could be worth a look.

    TBH I know nothing of electronics, but this has me excited, it’s exactly what I want. Would it be possible to power from a computer PSU and implement the algorithm to address less leds (manufacturer says you can cut them off two at a time and tell this to the controller – min 16 max 255 leds addressable).

    You can email me using my username if you like.


  9. Mark says:
  10. erik says:

    I live in Shenzhen and often go to the Electronics Market here (HuaQianBei). If anyone is interested in these strips, I’ll be tracking down the factory guys to discuss an order of just a few of them.

    If you are interested in getting one just shoot me a message. You can contact me at erikseverin at y a h o o dot com

    Obviously, the more items ordered, the cheaper the individual price for each one.


  11. anonymous says:

    Check out Ikea, they sell LED strips

  12. xander says:


    That looks like the right strip. However one thing that catches my eye is that they say you need 12V to drive the strip. Judging by the video I think that’s a mistake and that the strip itself is actually running at 5V (perhaps the controller uses 12V). I’ve seen addressable strips constructed that use 12V but, in order to use that high of a voltage, the strips have to be built where you can only control every *3* LED’s. I.e. you can’t control each individual LED but only groups of 3 LEDs.

    Anybody wanting to order from these guys should make sure to have them confirm that the strip itself uses 5V, otherwise they may be disappointed.

  13. Mark says:


    “Forward Voltage for the RGB LED Strip : 5v”

    I would probably say its exactly the same?

  14. Mark says:

    I was tempted to investigate this idea further but it looks as if you can’t do proper colour mixing, at least the firmware says ‘Full On/Full Off/Colour fade’

    I’m currently building an I2C colour string that allows 24 bit colour mixing.

  15. sunjester says:

    video has been removed by user….

  16. Funfrok says:

    So nice… excellent!

  17. googfan says:

    wtf? the video’s gone.

  18. youtube says:

  19. andre says:

    interesting, might also be possible to make a video wall using these.

    Wonder why they don’t just mount the micro under the LED, wafer style. Much more space efficient and tougher to boot.


  20. Mark says:


    It would appear to be a 7 colour LED wall, as the led’s can only maintain a static colour if they are fully on or off. (according to arduino firmware. datasheet in japanese doesn’t help)

  21. xander says:

    Ah, sorry about the video snafu. For some reason, youtube corrupted the first few seconds of the video I originally uploaded. As an attempt to fix this I reuploaded the video (which youtube encoded fine) and then deleted the old, corrupted video, breaking the link in the process.

    My bad.

  22. xander says:


    You can stop the LEDs in mid-fade by controlling the number of pulses you put on the S-I line. Each pulse steps the fade by 1/128th or 1/64th (depending on the 2X bit in the command that the LED has loaded).

    But failing that, there’s nothing stopping you from bit-banging your own PWM as you would a shift register, ignoring the fade commands entirely, provided your chain is short enough and your controller fast enough.

    All in all I think there’s a lot of possibility for creatively driving these chains to get more functionality out of them than you would normally think possible. Certainly, there are some pretty strict limitations and you’ll never be able to get full high-bit color mixing control out of them, but I think there’s a lot of creative hack potential if you’re willing to think like an Amiga demo coder.

  23. Mark says:


    I can see hack potential if you used bit-bang pwm, but the extra cpus needed is awkward. Perhaps you could try making a message display, 8 * 32 say using 1 cheap cpu per line. You would probably need in the area of 1mhz bit rate (for 24 bit color), so a dsPic running at 40MIPS could work, arduino is a tad slow if you want 24 bit color.

  24. Joe Lee says:

    I am a factory guy in Shenzhen,we produce this strip,it is waterproof,with suitable power supply and controller,it could have gradually change,flash,water flow,etc effect

  25. Charles P. Lamb says:

    These strips seem many intended for architectural use or signage. I would find them much more useful for displays if they had a smaller LED pitch–say 100 LEDs per meter or less.

  26. Dr.No. says:
  27. Genna Ortga says:

    Very good post, thank you. I will follow your web log.

  28. Wene says:

    Take a look at this. I folded the 5 meter RGB LED String 5 times. At this Array i do a running text with an arduino.

  29. ike says:

    @Wene : like. lots.

  30. Kyle says:

    Does anyone know of an easy way to that I could use this in conjunction with DMX and a Professional Lighting console?

  31. James says:

    I have an idea for a 3D model that would show a replay of certain events. Does anyone have the specific details on the communication protocol with each LED and how they are addressed? I would need to control each individual LED and color, intensity is a desirable bonus.

  32. Desta says:

    I you can use them with DMX or a SPI signal. the controllers they come with are expensive and quite limited but you can use an DMX to SPI controller for them instead, i have a few in stock (not on the website but they are the same price as the dmx controllers) but i don’t have any of the strips to try them on and each decoder has 96 DMX output channels but you can connect more decoders to get more channels.

  33. islisis says:

    The LPD-6803 appears suitable for video and perhaps better for the POV strip application I have in mind. The only sources of information on the web I have found on this chip so far are: (translated from German) (in Chinese)

    and some documents I have not yet registered to see on

    This would be my ideal platform to program for on Arduino, so any comments or advice on how plausible this chip looks to control would be gladly appreciated!

  34. islisis says:

    There are other IC varieties of pixel RGB leds which have 32 controllable shades per channel which I am currently looking for programming information on.

    In particular LPD-6803 based “pixel rgb led” modules and controllers appear common when searching the web. These are suitable for video and perhaps better for the POV strip application I have in mind. The only sources of information on the web I have found on this chip so far are: (translated from German) (in Chinese)

    and some documents I have not yet registered to see on

    This would be my ideal platform to program for on Arduino, so any comments or advice on how plausible this chip looks to control would be gladly appreciated!

  35. islisis says:

    bit banging, or…

    … is an arduino mini pro fast enough to bit bang the same number of shades i wonder

  36. I’ve done a writeup on how the HL1606 works that may be useful to anyone trying to drive this chip, the datasheet is not entirely accurate. See

  37. islisis says:

    Thank-you so much for all the information!
    I’m wondering if someone has tried bypassing the custom chip commands and outputting directly to the pwm.
    I would be really grateful for information about what exactly is required from say the Arduino end to drive your own colour signal.
    Also the information about the latency involved in passing such a signal through the strip would be greatly appreciated!

  38. Ben says:

    There’s no way to access the PWM of the LEDs per se. I have made a slightly better Arduino library for them here:

  39. Jake says:

    This american company seems to sell LED strips based on the LPD-6803, and is gonna have a DMX driver for it. Sounds pretty sweet.

  40. Celina says:

    This type of RGB LED strip light seems common on

  41. Jake says:

    From what I can tell the HL1606 based strips are kinda janky because they don’t take a simple instruction such as “this pixel, be this exact color”. Any schemes that try to do that with this type strip have to hack the built-in fade feature of the chip and stop the fade at the desired color wanted. So I imagine in bigger scale applications you’d run into lag/latency issues as it takes that much more time to just get the pixel to be the desired color.

    The LPD6803 seems to be a more capable chip, and there is a new revision of it, the LPD1101. All this stuff is hard to get info on as it seems limited within the scope of Chinese industry, i.e. Chinese datasheets and websites.

  42. LNSound says:

    If you are interested in these strips.

    I supply them.

    I also have standard controllers, these have 84 programs and speed adjustment.

    If you are interested, mail me at nando(at)LNSound(dot)nl

    price of the strip is 25 euro’s per meter, 40 leds/m

  43. Marshall Thomas says:

    Not really rare to come by. check this out. top two led strips are the ones I am talking about. they are really pricey though. 16.45ft will cost you 120 dollors. OUCH.

  44. Mystery says:

    See also this one:

  45. LNSound says:


    it is 160 dollars for 5m, so still about the same price.


    nice vid. did you mount it yourself?

  46. that is the color changing LED Strip, and need a LED RGB controller ,which is used to perform a wide array of creative lighting options for any situation. Whether blue, red or green light, this multi-color strip light will deliver consistent, fantastic results. this type of led strip usually run dc12v, 5V type is rare, I haven’t seen by now. one reel (16.4ft) of this kinds of led strip is about 128 dollars(, if 160 dollars, it is a little expensive.

  47. I think the LPD8806 is way better than the very bad HL1606 chip, since LPD8806 chip has built in 1.2 MHz high speed 7-bit PWM for each channel while the HL1606 doesn’t have PWM.

Leave a Reply

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

You are commenting using your 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


Get every new post delivered to your Inbox.

Join 96,534 other followers