Hello everyone!
I've a simple project with a handmade 16x24 LED matix soldered on a grid of bare wires on 75x50cm wooden frame and a driver board with a LED driver chip (HT1632) and a high side PNP driver for each of the 16 commons and a low side NPN dirver for each of the 24 rows + atmega 328P. The LED matrix is connected to the driver board by 40 wires (24 for rows and 16 for commons) about a meter long each.
The issue is that a small percentage of the LEDs (red wide angle through-hole LEDs) in the matrix (e.g. 7 leds out of all 16x24 LEDs) would not light up and this is intermittent with some of the LEDs not working then starting to work and others filing. Touching a failed LED would often (not always) bring it back to life, but then it may stop working later again. Applying voltage to a failed LED from a battery through a resistor would also most of the time bring it back. Sometimes a LED would not fail completely but get dimmer or flicker.
I'm testing this primarily with all LEDs in the matrix on.
#1 I though about bad solder joints and checked that and they appear to be fine.
#2 I also tried soldering a 100nF capacitor across a faild LED (also replaced the LEDs with new ones before adding the capacitor in case they are somehow permanently damaged) to remove the voltage spikes at the time of switching which I suppose are because of the wire inductance but then it would eventually fail gain with one of the LEDs which had a capacitor, but I'm not giving up on this yet, going to try to put a capacitor from each common to ground (by adding an additional ground wire to the matrix)
#3 I also tried upping the supply voltage from the initial 5V to 6V but that didn't fix it
#4 Tried removing a failing LED from the matrix and PWMing it separately from Arduino and it worked fine that way, but this doesn't show anything because the issue is intermittent and the same LED could have started working
#5 Tried turning on one row at a time in case the high side PNP doesn't provide enough current for all 24 LEDs in a column and some of them don't turn on - same result, some LEDs are failing
Schematic of a single common and row of the driver circuit (there are 24 identical rows and 16 identical commons):
A scope capture of a failing LED vs a working one (the yellow trace #1 is a failing LED):
A screenshot of the LED driver's datasheet with the diagram of the mode I'm using: