Just to gather my thoughts, a bit of info regarding the DM633 and DM634 multiplexing. Some time ago I’ve made an experimental board with a 8×8 RGB LED matrix. It was designed to be controlled by either one DM63x LED driving chip (16×4 mode) or two (8×8 mode). In the first case the chip is soldered on the board and the contraption is run by a BlinkeyCore board (left); in the second case an UltiBlink SL is installed on top of the experimental board (right). Some traces have to be cut on the board depending on the modus operandi. Both cathodes and anodes are controlled by LED drivers; the latter via SN74HC138 demultiplexers.
So far, so good. I tried a single DM634 and found out that it is too slow to drive 16 strings of multiplexed LEDs. In fact, I could have just read the datasheet that clearly states its refresh rate is around 300 Hz (65 thousand PWM steps at 18 MHz). I’ve got like 320Hz in my experiments, close enough. In any case, the DM634 can run multiplexing at 4x, and looks acceptable at 6x; add more strings and you see flickering.
Ok, remove the DM634, solder a DM633. Its refresh is ~ 4.4KHz, so it should work with 16×4 matrix. Well, no. Seems like the huge LAT propagation delay from the datasheet actually creeps in. Or something. In any case, 16×4 works, but some flicker is visible. In 8x mode everything looks cool though.
Enter the second board, the one with two DM633 chips (as I already know that 634 can not work with 8x multiplexion). And, well, enter the weird ghosting. Interestingly, the ghosting occurs on both the previous and the next LEDs before/after the active one. Can’t get it. Trying.
Newsflash over, back to figuring it out.
UPDATE: figured it out. The problem was with the internal clocks of LED drivers; need an external PWM clock for correct multiplexing. Waiting for new DM633s to arrive, will test further then.