I built a 16x16 matrix maybe 6mos ago (teensy 3.2, ws2812b), tinkered for a bit, and it’s sat for the majority of the time since. I have a maker event at work and am planning to show this and wanted to finish up some details. To my surprise, it was acting really weird! Behavior:
-
I have a spectrum analyzer and noted that the low end was lighting up really erratically and crazily
-
I ran a pixel test with full white, one at a time, and found that one pixel is more of an orange color
-
I have a “rolling ball” routine where you can control which area illuminates by tilting it around and only when I get into the area of the orang-y pixel does it do the erratic behavior
Short video examples:
- pixel test: Pixel test - YouTube
- wild erratic example: Glitchy pixel illustration - YouTube
Hopefully the picture illustrates some of the wiring? I was convinced that soldering those short jumpers so close might have melted through the insulation and shorted data/gnd or data/5V, but I just de-soldered some redundant gnd and power from that strip and am not seeing a difference.
I’m hoping someone here has seen something like this and will just say “Oh. Yup. I know just what’s up.” Hoping this doesn’t involve too much extra work to fix!
In the meantime, I’m going to de-solder everything to that strip and try to control just it directly. I’m guessing if that doesn’t work, it means I’ve got a bad strip? Not sure how it would go from good to bad sitting on a shelf… then again, it’s the top of the shelving unit that holds my kids toys ![]()
Many thanks.
--------
Reference code for pixel test:
#include “FastLED.h”
#define DATA_PIN 22
#define LED_TYPE WS2812B
#define COLOR_ORDER GRB
#define NUM_LEDS 256
CRGB leds[NUM_LEDS];
void setup() {
delay(2000);
FastLED.addLeds<LED_TYPE, DATA_PIN, COLOR_ORDER>(leds, NUM_LEDS);
FastLED.setBrightness(50);
}
void loop() {
for(int i = 0; i < 47; i++)
{
leds[i] = CRGB(255, 255, 255);
FastLED.show();
delay(50);
leds[i] = CHSV(0, 0, 0);
FastLED.show();
delay(10);
} // for
} // loop


