The display is made from 8 x 6 = 48 PCBs, each of which controls 8 x 4 = 32 digits via two TLC5920 LED drivers.
The PCB can tile in two directions, either taking data from the top or the right side and outputting to the bottom and left side. Up to eight channels can be fed in from the top, the first channel gets routed though the LED drivers and then comes out of the left side. All other channels are shifted by one and routed out of the bottom. [...]
I achieve a number of grayscale levels by using binary code modulation. I wanted to get 8 bits of colour depth on the segments, but given the arrangement of the PCBs and the fact that the LEDs are already multiplexed (only an eighth of the LEDs are on at any one time), I couldn't get this much depth without getting a very noticeable flicker. In the end I had to settle for 5 bits, so 32 levels, but of course in reality it was less because of the non linearity of our perception of LEDs.
Previously, previously, previously, previously, previously, previously.