Update: Hmm… just had a bit of a revelation. It all seems obvious now: the display isn't driven one column at a time as I assumed (you may have heard that old saying about assuming); instead it's driven one row at a time, that is, the whole row is fed in to the register after which it is lit through one of the TIP32C's. I updated the text below accordingly. Note: the LED modules are marked "MM-300HD 3 Z 6".
Some years ago I got a somewhat old scrolling LED display as a gift from a friend. It's got 15 19 5x7 LED modules (95x7=665 pixels) and an integrated keyboard with which it can be programmed. Because it has no serial link or anything, I took it apart in order to figure out how it works (sorry about that, K). As expected, the device isn't too complicated. There are two PCB's: one that has a microprocessor (or ASIC, not sure), keyboard and display driver circuitry; the other has the actual display modules and a bunch of 7400-series IC's. Connecting the two boards is an 11-way ribbon cable. A bit of reverse engineering revealed the wires' functions:
- Clock
- Data
- Supply voltage
- Ground
- Display data
- Display data
- Display data
- Display data
- Display data
- Display data
- Display data
The driver part on the first board has seven BC308B's switching seven TIP32C's each driving one row of LED's. As you may know, in order to keep the circuit simple (and to conserve energy, I suppose), not all the LED's are lit at the same time. Instead they're lit one row at a time, in rapid succession. This has to happen fast enough to beat persistence of vision or we'll observe flickering.
The display part consists of the already mentioned 5x7 LED modules, 75492 hex inverters (16 total), 74164 serial in/parallel out shift registers (12 total) and a number of resistor (mostly pull-up, I suppose).
At least, that's the theory. I have not actually tested any of this.
TBC