-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tail of the 48 invisible pixels. New Copper Dipped Addressed Pixels it seems #1312
Comments
That is indeed strange and I haven't heard of it before... |
So Plot thinkens. Split the 40 LEDs into 2 chains of 20 as have a theory that the LEDs actually have a hardcoded or at least static addresses. And then put them in a Y config. So it seems that the LEDs are physically/logically addressed as 48-87. And I expect they actually pass every packet vs shifting the stream so if I connect normal WS2812s down stream of these ! can get individual leds to light twise with one command. A scan for example goes down first fork then falls off end and lights first led of the second fork ebay link to the item : https://www.ebay.co.uk/itm/10M-WS2812B-sk6812-RGBW-Fairy-String-Light-Copper-Wire-5V-USB-Pixel-timer-remote/324288164000?hash=item4b8114b0a0:g:l1gAAOSw-mNfbGXT |
So yes they seem to be a new sort of "addressed" pixel in some way. They respond to the normal WS2812B commands but are transmitting the entire data stream and know which packet is for them!!! So New Test Setup Will Refer to new leds as "Copper Dipped Pixels==CDP"
So borrowing a bit of code from ESPHOME same effect with WLED as well Data Sent
So with the above 6 commands. A total of 12 LEDS are lite at physical postions
Love to know what these are. Only other thing i can tell you all is the pinout is VCC / GND / DATA. So a little different from the normal. Have to believe the addresseses are software programable in some way but are obviously stored in some way so maybe a programming mode of some sort. Will keep posting any further findings here. |
Interested in this... Bought a bunch of these strings, and using a Pixelblaze on them, noticed that they like 300ns timing, yet depending on pattern, I have 1-2 pixels (usually #2+3 or #4 alone) at the start that "flicker wildly" with lots of data, while the others all work correctly, in a string of 200. Same model/type, same V,G,D layout. These are a weird beast, and I look forward to more people experimenting and reporting back. If you are correct that forking the data line doesn't created a mirror, these will be a nifty new way to control LEDs, allowing a forked data line to simplify wiring. (Imagine an infinity polyhedra [cube/whatever] where the data line can just split into multiple paths as needed to easily fill all vertexes, but all pixels remain individually addressable!) |
I can now confirm these do seem to have a "location memory". Cut 10 off the end of a strand of 200, cleaned the wires (flame off the lacquer and sandpaper), wired to a connector and hooked up to my PB, and they insist (and work normally) on being pixels 191-200, despite being the only pixels in the circuit. More testing coming soon. |
https://youtu.be/ge8Swdd9Srw |
Glad I'm not going mad. Tried reaching out to some of sellers and even the ws2812 manufacturers. To see if anyone has a data sheet or any info but so far no luck. I had only brought the sets of 100 so it good to know they must have at least 200 programmable addresses. Wondered if the 200 was 2*100 so repeated. As that's the other thing you can do. Join 2 sets of 100 and they will repeat. |
Good to know, Ben of Pixelblaze wondered about that aspect... So two strings in serial will repeat? This really is a mystery. Thank you for posting, as I'm sure I'd have been discovering this and totally confused why it wasn't working normally. Your post here put me on track to confirm and see the value of this. |
Interesting. The 2811/2812/2812b "protocol" doesn't send an ID in the data, so what the heck? A theory: each chip is sending the full data set of color bits on to the next chip, and only takes its color from the nth color data from the full set. That would be different from 2811/12/12b, in that, they only send bits that overflow to the next chip. A way to test: Set the LED count to 1. Hook up a scope or logic analyzer to the data line between the last 2 LEDs in strip. What is being sent? 24bits, or nothing? |
@nlflint Given that the single forked data line is transmitting to all 4 strings, I think it's sending all of the data. I can test this (not today), by doing a fork on both ends: Controller If that works as expected, they have to be passing the entire dataset. |
Don't have the scope but sure it full data set as can put normal ws2812s
downstream of last pixel and they behave as behave as full data stream is
received. Ie can send 100 packets and light 100 of these and the 100
ws2812s downstream so pixel 101 and 1 are both pixel 1 in transactional
sense
…On Wed, 18 Nov 2020, 22:30 Nathan Flint, ***@***.***> wrote:
Interesting. The 2811/2812/2812b "protocol" doesn't send an ID in the
data, so what the heck? A theory: each chip is sending the full data set of
color bits on to the next chip, and only takes its color from the nth color
data from the full set.
A way to test: Set the LED count so only lights to the last LED on a given
string. Hook up a scope or logic analyzer to the data line between the last
2 LEDs in strip. What is being sent? Full dataset, or data for 1 pixel?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#1312 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AARRMJZIEVIT6C3H2VXXVALSQRDIDANCNFSM4TJGYLYQ>
.
|
@jamestutton ah, well there you go. |
It also full dataset as you can put them out of order. So can wire them as
30-39,20-29,1-9,10-19 if you want
…On Wed, 18 Nov 2020, 22:36 scruffynerf, ***@***.***> wrote:
@nlflint <https://github.com/nlflint> Given that the single forked data
line is transmitting to all 4 strings, I think it's sending all of the
data. I can test this (not today), by doing a fork on both ends:
Controller
/
S1 S2
/
S3 S4
If that works as expected, they have to be passing the entire dataset.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#1312 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AARRMJ3JOPZ47XWDNAUTVN3SQRD57ANCNFSM4TJGYLYQ>
.
|
Yeah, these aren't ws2812s... Whatever is encased in epoxy is some new magic chip. |
There gotta be a way to easily reprogram them. In the factory, they wouldn't do it individually before assembling the strip. There's no way you could keep track of the order. They have to do it after the strip is assembled. Need that datasheet, it probably explains the protocol for reprogramming. |
My guess is programming mode is like standard ws2812 protocol so they
cascade to learn there string position.
Then normal usage they just pass along the full data stream and then listen
for there own packet number. Must be some sort of limit to how many you
can have as it storing it's ID in some sort of solid state mem.
Also worth mentioning they really good for power usage. 100 light bright on
a USB power bank with little to no dimming in my tests so far.
…On Wed, 18 Nov 2020, 22:42 Nathan Flint, ***@***.***> wrote:
There gotta be a way to easily reprogram them. In the factory, they
wouldn't do it individually before assembling the strip. There's no way you
could keep track of the order. They have to do it after the strip is
assembled. Need that datasheet, it probably explains the protocol for
reprogramming.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1312 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AARRMJYBNYA6OFOXACHEUUTSQREUZANCNFSM4TJGYLYQ>
.
|
yeah, that's gotta be how it works. It could also be a one-time programming, once it's done, it's final. If they could be reprogrammed, then once you cut them up, and hook them up in a spiderweb-like configuration, each LED could no longer infer its position. There would be ambiguity until they were put back in a straight line. |
Based on what @scruffynerf was demoing, I think they have a permanent (or semi-permanent) address code burned in to them. I'm guessing the data line is not regenerated, but connected through as one long bussed data line. That would save manufacturing cost, allowing them to have 3 solid uncut wires bonded to the LED modules, compared to the usual WS2812 which will not work if your data line shorts DIN and DOUT, forcing either non-contiguous wires to be assembled or these cut 4-wire hacks you see in other WS2812-compatible fairy wire: Notice that it looks like that was made with 4 contiguous wires, then every-other middle wire is cut. The red/green color is probably so they don't mix them up during manufacturing, and I bet each color swaps DIN/DOUT order. Compared to that, these 3-wire bussed-addressable LEDs would be easier to assemble, even with the extra step of programming their addresses somehow after the string was soldered. |
So who's going to sacrifice one of their LED's and see what chip is inside? |
Willing to try any tips for removing the resin coating as it very hard.
Have dropped one in ISO and another in asotone see if either of those
effects it. Had a quick test with side cutters but it so small and hard
they just slide or chop straight through the lot.
…On Thu, 19 Nov 2020, 03:52 THATDONFC, ***@***.***> wrote:
So who's going to sacrifice one of their LED's and see what chip is inside?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1312 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AARRMJZMRGCOBHWUO3QK7VLSQSI57ANCNFSM4TJGYLYQ>
.
|
So first attempt at tearing one down. So for ref Golden Wire is 5V then GND and Data. Seems the Data line is indeed continuous so no seperate Din/Dout. Continutiy check also confirms this. All 3 leads are ~8Ohms for ~10cm section with LED in middle. As such it seems they must be one time programmed at the factory some how. |
@jamestutton, thanks for the photos! I was dying of curiosity! What did you end up using to get the goop off? |
Hot air gun @200C seemed to make it brittle and then while it was warm was able to break it up a bit. |
I got some, was able to crack the goop after a few tries w/ heat (thanks for the tip!). There's some distortion or residue on the LED package epoxy that made clearer photos challenging. Was mainly trying to find out the method of programming, nothing obvious. Would probably need proper de-cap and a microscope. I do see some pads on the IC that look like they could be unused bond wire spots, opposite the data input bond. I'm totally speculating here, but it makes me wonder if this IC is floating around in other WS2812 clones on the market that haven't had an address burned in. |
@simap to clarify, the middle wire is ground, which is the V+ and data sides? Is the bigger side the V+? (Looking at the original photos, looks like it) Which would make the single wire running to the IC on the left of your photos, the data line connection. Which pads are you discussing, the two near the ground wire? |
To confi Large one is 5v+ middle is gnd then left is data |
Gotcha, updated comment for clarity for future readers. |
@scruffynerf These are the pads I'm talking about. |
Its a pretty good supply and I put a 1000uF cap right before the leds too. Do you use a series resistor on the data output? I might have to try with a diffent level shifter that can supply more current 😓 |
Level shifters do not supply current. They just convert a data line from 3.3V to 5V. It would be useful to see a wiring diagram of how you have things hooked up. |
Level shifter (fast enough) should solve the issues regarding the noise at 3.3V. What kind were you using? |
have you tried a resistor in series with the data line at the beginning,
and another (matching) resistor at the end of the string on the data line
as a terminator?
Regular pixels don't need a terminator at the end, as each pixel
regenerates the data out signal, but here where it's actually a long bus,
both ends should be terminated.
Not sure about these pixels, but for regular pixels, the consensus seems to
be 33 ohms in series with the data line provides the best matching / least
ringing.
I'd get a couple decade resistor boxes, put one in series at the beginning,
and one to ground at the end, and play with different values while watching
the scope to reduce the ringing
…On Thu, Dec 16, 2021 at 9:36 PM Blaž Kristan ***@***.***> wrote:
Level shifter (fast enough) should solve the issues regarding the noise at
3.3V. What kind were you using?
Some LEDs may be more susceptible to noise (input voltage level on 1st
LED) than others.
—
Reply to this email directly, view it on GitHub
<#1312 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ADVNDP3QPGKGPB5PPGVLXE3URLD5NANCNFSM4TJGYLYQ>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you commented.Message ID:
***@***.***>
|
Apropos of these devices, I thought I'd mention that I've recently run across some even more intriguing tiny two wire addressable RGB LEDs (as in ground, and multiplexed power and data). My dad brought a string of them in a "rope light" format, which piqued my interest. As I didn't want to destroy my Dad's lights, I've ordered a set (still en-route from China). From what I can see, based on the pre-programmed patterns they display, they operate in groups of eight repeated along the chain, and appear to be pre-programmed with (I guess), a three bit address with the data and ground lines being common across all devices on the line. Once I receive them, I'll scope the data lines and post some images. |
Sounds interesting. Do you have a link? |
Sure, here you go: https://www.wish.com/product/5f8d550f2ab2f78f0d06414b?share=web |
Thanks! I found this on Aliexpress: https://www.aliexpress.com/item/1005003070133485.html Same remote control. And it came with a high resolution photo. Edit: I ordered one set, looks intriguing to hack into it :) |
Ah! Nice find! |
The two-wire rope light LEDs finally arrived from Wish, it doesn't look like they're addressable in the same sense as, say a WS2811, they're more like a slightly smarter version of those devices where they're practically PWM, but rather than sending the pwm signal in parallel you do it serially, like [SOF][R][G][B] where [SOF] (start of frame) would be a low level for, say, two bit periods, followed by three inverse bits to tell the devices which diodes to light, (e.g. 011 being red, 101 green and 110 blue etc). I think these particular ones have four or more bits after [SOF] as a sort of address. I'm just guessing here as I've not looked deeply into the waveforms. Needless to say, these would be harder to drive than regular addressable LEDs and need a lot of cpu intensive bit banging to get them to do anything cool. I'll still try and figure them out just for funsies though :) |
I noticed that there seem to be a lot of christmas decoration that allow somewhat individualized control with only two wires: For example this one: https://www.aliexpress.com/item/1005001921905932.html Since these are low-voltage strings, some kind of electronic is needed anyways as a constant current supply for the LEDs. Just using resistors would cause visible droop. So I presume they just added a minimum of control. |
Based on the remote, I think those ones are a set color (either all white or multi-colored but not changing colors) so all they'd need is to PWM them and the whole string flashes. There IS, of course, 1-Wire communications systems but it seems like anything drawing all that much current wouldn't be able to run too much bandwidth/info across the two wires at the same time. |
Mine from above also arrived. Seems to use the same scheme to control. Quite curious already, I will dig a bit into this.
The LEDs look exactly like the controllable ones in the other chain that already arrived. Well, I also ordered the one I linked above, so we will see in a few weeks. |
I completed my analysis of the 2-wire LEDs, will write something up. It's a really clever concept, but also quite limited. I don't think that it is too good of a fit to WLED. But who knows, these devices may evolve and it seems that there are already many products on the market using them. @ChayD it appears that at least my LED are simply using a linear count of pulses in the protocol, no binary encoding. |
Very interesting video on the assembly process of these strings that was posted by Harald on µC.net: https://www.youtube.com/watch?v=wCKlCUBsaT4 Amazing amount of hand assembly. It's also clear that they cannot really deal with segmented datalines. That's why they went to great length to connect everythin in parallel. |
I had some fun with these LEDs, some detailed write-up here: Unfortunately not really suited for WLED, unless one only want to implement very basic effects. Could be of interest to integrated into the same ecosystem, though. |
That is some comprehensive write-up - nice work! |
The cheaper string from above was a "dumb" one indeed. But it still had some surprises: All LEDs are based on blue emitting chips and are phosphor converted. This helps to circumvent the issue of connecting LEDs with different forward voltage in parallel. Also, the light quality is better imo. Summary here: |
Hi, I'm having a hard time to find a reseller in Europe. Due to taxes and other costs, it has become expensive to buy from AliExpress..... |
Just as an off-topic side-note, I once did a search to see what was the cheapest thing I could get from Aliexpress back around 1PT (using the Pre-Trump year dating system.) Chinese companies used to get really cheap postage rates here in the US (some sort of subsidies or such were in place) and you could get all kinds of things for around $1 and free shipping (at the time, just sending a letter across town was $0.49 and another $0.20/ounce after the first one. Shipping something in a plastic bag would probably have been more due to it not being "machinable" with the automated sorting.) I found a small LED bulb for use in a car's instrument cluster to light up the dash. Price with FREE shipping was either $0.11 or $0.13 (forgot which.) So I ordered a single bulb and, sure enough, my "under $0.15 bulb" arrived about a month later. |
Hi @cpldcpu, @ChayD, @prabbit237, @PinheadBE and anyone interested! Would you happen to know how to find this 1-wire LED alone? (or any other) Thanks for sharing this great discovery!! |
@honnet |
There are now bluetooth versions of the "copper dipped addressed pixels" available: They use a BLE SOC, SWD fully exposed: Comes with 256kb of flash: https://www.lenzetech.com/stProduct/ST17H66 SDK is here: https://github.com/17HXX/BLE5_ST17H66 Anyone up to porting WLED? ;) |
I have a few of those addressable fairy strings from above here. I could kinda drive them via wled, when using odd start and length numbers. However somewhere from 0.13-4 to 0.13-6 there seems to be a change where you cannot adjust the start number anymore without adding "dead" segments. First segment has to start at index zero apparently. |
Okay, they have added a checkbox for this apparently..... |
Ugh, seems I've fallen into this trap with these, https://www.aliexpress.com/item/1005001917228863.html. Glad this thread exists, thought I was going mad. |
Closing this issue as it may be linked to pre-addressed LEDs (those with fixed addresses) and WLED support for adding multiple "skip 1st pixel" has been added. |
A very odd issue.
Have some of the "ws2812b" dipped copper wire style LEDs. They have been cut off a larger strip off 100. In total there are 40 pixels on the strip. Original set was 100 LEDs.
Was having issues getting them working with both wled and esphome untill I set the pixel count to a a number greater than there length. Then realised the odd issue. The first pixel appears to be the 49th pixel. Ie the first 48 addresses do nothing.
Even hooked them up to a larger strip of normal 12mm ws2812b 1-150 normal ws2812s. Pixels 150-190 should be these. But no. Have to set the chain as 238.
LEDs 1-150 light normally
151-198 don't exist so nothing happens
199 onwards light this strip first led onwards
So 48 addresses get skipped then these LEDs start again from 199 onwards.
Hopefully this is clear and someone seen this before and has a clue?
Currently these LEDs terminate on last led of the strip so not able to see what happens of add more to end of the chain. But may cut last one off just to see.
The text was updated successfully, but these errors were encountered: