WS2812B wrong colors (ASAP)

I have 2 sets of 30 neopixels with all the data pins wired in parallel (the DIN pin goes to the next DIN pin, not the DO pin) to the same data pin. This project is battery powered with 3 18650 batteries. I used a buck converter to step down the voltage to 5V and connected it directly to the neopixels. When I insert only 1 set of neopixels to the circuit, it lights up correctly, but if I plug in both sets, it only displays green.

#include<Adafruit_NeoPixel.h>

#define PixelPin2 6

Adafruit_NeoPixel InnerStrip = Adafruit_NeoPixel(1, PixelPin2, NEO_GRB + NEO_KHZ800);

void setup() {
  InnerStrip.begin();
  InnerStrip.show();
}

void loop() {
  softOnBlue();
  delay(2000);
  softOffBlue();
  delay(2000);
}


void softOnBlue() {
  for (int x = 0; x <= 255; x++) {
    colorWipeI(InnerStrip.Color(0, x / 2, x / 4), 2);
  }
}

void softOffBlue() {
  for (int x = 255; x >= 0; x--) {
    colorWipeI(InnerStrip.Color(0, x / 2, x / 4), 2);
  }
}

void colorWipeI(uint32_t c, uint8_t wait) {
  for (uint16_t i = 0; i < InnerStrip.numPixels(); i++) {
    InnerStrip.setPixelColor(i, c);
    InnerStrip.show();
    delay(wait);
  }
}

Do you have the 470 Ohm resistor in series with each Neopixel string, located at the first Neopixel?

yes

What voltages are seen at different points on the strings?
Beginning
Half way
End

Show us a good schematic of your circuit.
Show us a good image of your wiring.
Posting images:
https://forum.arduino.cc/index.php?topic=519037.0

Voltage is roughly 4.9V

I can't take a pic of the wiring. The whole item is too big. But I have the schematic.

Are saying you have 60 Din all going to the 470 resistor?

Yes. Should I separate the resistors?

Edit: I tried to disconnect the 2 strips and use another pair of 20 LED strips and it worked. Can it be that the DIN pin on my 30 LED strip is busted?

The recommended setup is one resistor per strip of LEDs (that are Dout to Din connected).

Why are you placing all Din(s) in parallel.

i want to make sure the strip still turns on even if one pixel is dead

Well, you cannot control individual pixels with your connection.

I have many feet of Neopixels running 24-7 for years with no failures.

I believe there are LEDs similar to 2812s that if one fails signal still passes thru, cannot remember the part number though.

i am not trying to control the leds individually, i need to control all at once actually.

You could experiment with 1 resistor per 10 pixels etc.
Pin 6 would go to 6 X 470 ohm resistors, each resistor goes to 10 Din(s). 6X10=60

Each pixel must have a .1uf capacitor from 5v to GND.
This capacitor might already be on your pixel PCB.

Blue leds are quite sensitive about the voltage. What buck converter are you using? Have yout checked the voltage when the leds are on?

It sounds like you have a fan out problem. That is the number of inputs any one output will drive.
Use a 74HC04 inverting buffer chip. Use two of them to make a non inverting buffer. Do this three times. Connect all the inputs together and then to the data pin of the Arduino. Take each output through a resistor and apply one to the 20 led strip. Then split the 30 strip into two strips of 15 and connect the other outputs to that.

Why is your answer in reply #2 contradicted by the schematic you posted?

A better soloution would be to take advantage in the inverted drive signal option the the libiary and just use a single buffer and split your strips into 6 lengths.

hungrycoco:
i am not trying to control the leds individually, i need to control all at once actually.

OK, what you have done is very unwise indeed. You need to connect them properly, Dout of one to Din of the next. These are specifically designed to work in that fashion. If you really want all to be the same colour, then you can easily make an array in which all are the same colour and will all change simultaneously when you re-send a new array.

Quite frankly, you are creating so many problems trying to do it the way you describe that it simply isn't worth our time trying to help you through one problem after another. Maybe you need just to buy new strips and use them the proper way. This is called the "XY problem".

Hello,
I make a query, I am driving 2 led strips ws2812 with nano arduino, each led strip is subdivided into 4 wired strips, a distance of 1 meter per strip.

One branch I manage with pin 8, correctly, the other branch only managed to handle 14 pics (with any pin).
This is given when operating the arduino nano with a CPU, if I connect it to my notebook it works correctly both strips.
Any suggestions?

Please read this:-
How to use this forum
It will tell you not to hijack threads but start your own.