# Is it good to wire WS2813 LED strip DI and BI together?

I have so far only worked with WS2812 strips and understood, that the WS2813 have a backup data line. But how do I connect the first LED to my Arduino (acts as a controller)?

Many tutorials said I should just wire the BI to V0, but doesn't this eliminate the backup functionality? So I thought about wiring both data pins to my data source? Is this a good idea?

• Not exactly a duplicate, but I think this answer provides the required info on how to use the BI pin and how to connect to a controller: electronics.stackexchange.com/questions/384622/… – Chris Fernandez Jun 12 '19 at 17:37
• Thanks for your response. I already saw this thread, but there they only suggest to connect the BI to the ground. Could you explain, what my solution would do in comparison to wiring it to the ground? – Leon D Jun 12 '19 at 18:39
• Based on the other answer, the BI pin is used to allow data from one strand to be passed off to a second strand in case of a fault. If you are only using one strand, then the BI pin has no functionality, hence why the tutorials recommend simply grounding the unused BI pin. – Chris Fernandez Jun 12 '19 at 19:07
• One sales listing on eBay stated "WS2813 is upgraded from WS2812B, double signal wire. One damaged LED lamp won't make the rest all dark. The signal will pass through and the rest will act normal." So it appears this backup feature is meant to provide tolerance for dead pixels on a strand. – JYelton Jun 13 '19 at 0:00

No, not connecting the BIN doesn't eliminate the backup functionality. As for what to do with it, the official datasheet at http://www.world-semi.com/DownLoadFile/117 doesn't say, so I won't speculate.

To show that the backup remains consider that the BIN of a WS2813 LED is connected to the DIN of the previous LED.

If the first LED is working, then it receives and shows the data on it's DIN and then forwards the next pixel data via DOUT to the DIN of the next LED in the chain. Note that the second LED will now receive it's data on both BIN (direct from the first LED's DIN) and on DIN (repeated by the first LED).

If the first LED is non-functional, then the next LED first sees the first pixels' data on it's BIN (and disregards it). It is then expecting data for itself on the DIN channel but receives none. Thus it goes into backup mode and uses the data that came in on the BIN channel direct from the DIN of the first LED.

Thus, DIN is the one that needs to be connected on the first LED.

This is based on a few sources including the (poor) datasheet.

My interpretation is that BIN should be connected to the previous LED's DIN. Then if the one LED fails, the next one will not receive any data on DIN, but it will receive data on BIN. It will switch to backup mode, where it uses the data from BIN, and ignores the data intended for the previous LED. This allows the rest of the chain to continue functioning with only one dead pixel, instead of letting the dead pixel break the chain completely. The chain will still be broken if two pixels next to each other are dead.

The WS28xx series of LED drivers are (were?) made by Worldsemi, but there does not appear to be a datasheet for the WS2813 available on the site (yet). It seems that another company, Shenzen Normand Electronic Co may be the manufacturer. Maybe it is a copy or a clone... The datasheet can be found here.

In any case, page 2 states that data at BIN and DIN are compared. BIN is used in the event DIN does not receive valid data. It is not well-written; here is the relevant section:

The BIN receives the data signal, and then compare the data with the DIN side after phagocytosis of 24bit data, if DIN do NOT receive the signal, then switching to BIN for receiving the input signal, which ensure that any the IC's damage does not affect the signal cascade transmission and make the BIN in state of receiving signal until restart after power-off.

I'm amused by the inclusion of phagocytosis, a biological process whereby cells can "eat" large particles by engulfing them. I presume this is a bad translation that refers to the process of receiving and checking the 24-bit data packet common to the WS28xx family of LED drivers.

The main purpose of this is not to operate a second LED strip, but rather to allow a single contiguous strip to tolerate failed pixels.

Image from Elecrow.com

Essentially DIN is a primary data input and BIN is a backup, just as you described. The datasheet does not specify how BIN should be connected (or left disconnected) if the backup data function is not wanted.

Based on what I was able to find, it appears that you could easily connect data to both DIN and BIN, and if one of the driver ICs fails, it appears that DO will still pass whatever data was received at BIN.

If you prefer to not use this pin, you could connect it to ground as some suggest. You may want to test whether connecting BIN to ground causes any additional current to flow, should that be a concern in your project. It could be that it is best left floating (not connected) instead. Measure to be sure.

• Late update, but I just had time again to play around and if I solder DI and BI to my data output, two LEDs get the same signal at a time. So only use the BI if you need to! – Leon D Feb 17 at 21:43