The driver should have SPI or I²C interface and allow dimming.
- MAX7219 : LCSC.com : €2.07 (Digikey >€7)
- has an internal 8x8bit RAM buffer
- 74HC595 + 74HC138: 8 outputs, cheap, standard part, PWM-dimming using /OE-pin, Digikey €0.33/pce. This has the disadvantage that next to SPI, extra control lines for the 74HC138 are required.
- 2x 74HC595 : One 74HC595 as row controller (only one row should be on at a time). The other 74HC595 is used as column controller. Using the same device twice reduces BoM length.
- no RAM buffer, so each row must be written at least 25 times per second to keep persistence of vision.
- TLC5925 | STP16CPC26 | CAT4016 | MAX6969: 16 outputs, integrated current source, Digikey €1/pce. This might be useful for dual color LED matrices. Here only 8 outputs are needed.
- PCA9685 : LED driver, Digikey €1.80/pce, hard to solder by hand : TSSOP
- HT16K33 : popular on led matrices, LCSC.com : €0.33, not available on Digikey.
To avoid that the 74HC595 has to source the current for the LED array, transistors will be used, as switches. Three transistor types could be used : PNP, NPN and PMOS:
- PNP would require base transistors. There's little room for those.
- PMOS is more expensive than NPN.
- NPN is used here as a switchable diode. There's at least 0.7V over the NPN. In this application it doesn't matter. It helps for spreading heat over more components, avoiding hotspots.