Hey guys,
I found this rather cheap RGB LED strip on eBay:
http://cgi.ebay.com/ebaymotors/12V-Waterproof-5M-IC-D7001-digital-RGB-versatile-led-strip-l-controller-/220849026721?pt=Motors_Car_Truck_Parts_Accessories&hash=item336ba0b6a1
It arrived yesterday and I was planning on putting it behind the projector screen in my living room to do some atmo light. But as it turns out the strip doesn't use a shift register as one would suspect, at least not in the common sense.
I used my scope to try and reverse engineer what I need to send to the strip, but turns out it's doing some weird stuff and I'm unable to find any documentation anywhere.
Here's what I found so far, maybe somebody knows what this is:
The strip has four wires: GND +5V DTI CKI
DTI and CKI are on another source online called DAT_RECV and CLK_RECV so I was assuming a shift register with data and clock.
The scope told me a different story. There is a ~7bit signal both on CKI and DTI (but different ofc). Here's the timing of a "shift pixel" command in 10ths of microseconds (0.1us): (| means a falling/rising edge)
// DTI + 32 | 10 , 14 | 26 | 16 , 16 | 18 , 16 | 18 , 18 | 14 , 20 | 12 , 22 | 14 +
// CKI | 32 , 10 | 14 , 26 , 16 | 16 , 18 | 16 , 18 | 18 , 14 | 20 , 12 | 22 , 14 |
Both lines are high by default, CKI becomes LOW, 3.2us later DTI becomes low as well, 1.0us later CKI rises to HIGH again etc.
Finally CKI becomes HIGH 1.4us after DTI.
Each of the areas between two | depict one bit. Both CKI and DTI are used to transfer actual data (or I'm misunderstanding something completely).
So far I achieved to do some stuff, like shifting pixels through the strip, but only in the direction of the shift register and only in RGB + mix of full red, full green etc. The controller that came with it is able to do all kinds of nice effects, but it seems that the ucs on the strip are doing some of the controlling themselves (1 uc handles data i/o tells 2nd uc what to do. 2nd uc controls 8 rgb LEDs => 24 channel LED driver).
Thanks for any help and sorry for the long post!
I hope it'll be possible to hack this strip, since adafruits alternative has the disadvantage of price and availability. :-/