APA102 last pixel at 100%

I am working on a new project with using a pixelblaze v3 and a strip of apa102 LEDs (200/m) and am having a weird issue that I cannot resolve. I have initialize the PB in client mode and have the pixel count set to 15 at 25% brightness for testing, apa102 selected as pixel type, powering the PB and strip from a single 18650 battery.

I can cycle through patterns and everything shows correctly except the last pixel (#15) appears to be at 100% brightness and displays as white. If I change the pixel count to 14, the last two pixels show as white, 100% and so on if I reduce the count. However if I increase the pixel count by 1, it MOVES the last white pixel to the end of the string instead of showing two pixels as white like it does if I reduce it.

I have tried changing the refresh rates and the RGB, RBG, etc and nothing changes that last pixel issue. I have tried two different LED strips and the issue occurs on both. Tried powering the PB off 5V USB and no change. I haven’t been able to find topics where people had this same problem so I am stumped. I am hoping this is something obvious that I am missing.

Hi Galt!

Some people report success with powering APA102 strips directly from a single lithium battery (about 3.7V) but the datasheet is vague about using a supply voltage below 4.5V.
Can you try powering the APA102 strip & PB from a suitable 5V power supply, just to rule out that potential issue?

I have tried powering in from USB plugged into my PC but didn’t confirm full 5v with a meter. I think I have a 5v power supply somewhere that I can try.

Just to confirm, you have 15 LEDs? What happens when you set it to 16 pixels? It sounds like that last pixel isn’t getting enough data.
I would also try changing the data rate, just in case its a signal issue.

Does the first pixel light up when you run this pattern?

export function render(index) {
  if (index == 0) {
    rgb(.5,.5,.5)
  } else {
    rgb(0,0,0)
  }
}

What happens when you change the test index from 0 through 16?

I have a full 1m strip, but only have the board set to 16 pixels. I have tried changing the data rate, no change.

I will try to run that pattern and see what happens.

Ah ok, yes trailing pixels will be drawn as white. That’s normal. If you set it to 16 pixels, 16 LEDs should respond to patterns, and a few after that will be white.

So if I were to cut out my section of 15 pixels, I wouldn’t have that trailing white pixel?

Is there any chance the default behavior for trailing pixels could be changed by any chance? This reminded me of being blinded by my WS2812 matrix that was set to full power by default with all of those trailing white pixels. :slightly_smiling_face:

I am not 100% sure but it could be just an LED behavior on Power On with no Data.
(built-in Power On reset sequence is not working right or entirely missing).
Quick solution will be to set pixelNumbers to whatever actual number of LEDs is
connected but in pattern use only a desired portion.
From a HD/SW point of view on a Power On cycle Pixelblaze could reset very big
number of LEDs and then use actual settings. This should work but requires
Pixelblaze FW modification. This potentially could be implemented in the
next 3.21 FW release.