I'm creating an addressable led matrix, this is my second project. I'm using an ESP32 as a controller, I fixed and soldered all leds on a mdf board. This new matrix has a 16x16 size (256 WS2812B leds). I'm noticing a different shade of color on a region of it (see picture attached). On lines 3, 5 and 6. I can see that the green light is not glowing as much as it should, compared to the blue or red ones.
This is not a finished product yet, I'm testing it powering everything from the USB port. Setting a current limit for 500mA on FastLED library. The hardware I'm using is:
ESP32 controller
256 WS2812B leds divided into 16 16-leds "lines"
I'm using no resistors
I'm using no capacitors
I'm not a hardware expert, more of a software guy here. So I don't know if this problem is related to my lack skills of soldering or placing the right resistor/capacitor at the right place. Or maybe the leds are just faulty on that region. You can see from the picture below that the "problem" starts (line 5) right after the amendment these strips have after a certain number of leds. And it also stops (line 6) right after the amendment. (I believe line 3 there, that is faulty, is also part of the same region on the strip).
Unfortunately, I only tested those leds after I divided them (lesson learned). Also, on my first project, a 9x9 led matrix using ESP8266, all leds are working properly color-wise. So, I wanted a second opinion on this from the forum. Am I right to think this is a hardware problem on the leds and I should only replace those faulty ones?
Yea, I think it is hardware. What does poking around with a DVM show? I'd concern my self with resistance of the power and ground lines of the offending rows.
I am reading 4.38V across all lines and between leds, everywhere I poke. I don't quite understand what you mean by the resistance of the power and ground lines, I measured the resistance between the 5V and GND with everything powered off and it gave me 512 ohm (if I'm reading this right hahaha).
Nice to know there is someone else that also thinks it's a hardware issue, I'll make a test and just re-wire that faulty line 3 over there.
EDIT: I tested a different part of the led strip, wiring it to the third row and the colors were matching perfectly. It was indeed a section of the strip malfunctioning. Luckly for me, I didn't use the whole strip on this matrix, I still have some leds to spare.
Since it's not final yet, I'm just running some tests. I'm still powering everything from the controllers USB port. The power goes in the controller through USB and I use the VIN port and GND to power the strips.
I don't have a schematic prepared yet, but the whole circuit is shown on the last picture. I'll try to post that later if the above mentioned test doesn't work.
And thanks for the schematic you showed, I think I should add a resistor for the data input and a capacitor between power and ground then.
Yeah, that's a bad idea. The Vin pin is the input to the on-board 5V regulator, it's not an output. The current must be running backwards through the regulator, probably why you are only seeing 4.3V rather than 5V.
The current is being limited by software to 500mA so the leds are not ON at full bright. I added the external 5V power supply and I'll add the resistor and capacitor on the final stage.
Adding the external power supply didn't change the different colors on the leds.
Yeah, it was just a shortcut to test my script. On my first project, I used an ESP8266 that has a VU pin, but there isn't any on the ESP32. I saw here on the forum some people that used the ESP32's VIN pin power other modules/components, so I also went on that path.
But, why is that such a bad idea after all? If I'm not careful enough I could fry the board, is that it? Nevertheless, I already added the external power supply to check if that's what was wrong. Now I'm reading 5.1V all over the circuit.
OK, firstly you need to wire both the 5 V and ground lines together down each side of your matrix. As it is, you have power and ground travelling in different paths which means that all sorts of inductive effects may come into play. Remember that these systems are operating at Radio Frequencies.
Now depending on which board you actually use, "Vin" may be either directly connected to the USB connector, or through a diode. If connected via a diode, it will introduce a voltage drop from the actual voltage at the USB port.