Some years ago at the tremendously awesome De Anza electronics flea market, I came upon brand new in-bag DL2416 and DL3416 displays. (two and three of them respectively). They look amazing by themselves, with all their retro goodness. (datasheets linked in the project page, and in the source zip)
They have built in decoders, so they know how to display ASCII data you send. The tricky part is they have quite a few pins to interface, being parallel (back then everything was).
They went into a bin for a few years, until I rediscovered them, and decided to do something with them. Given the total numbers of characters I had available (12 big, 8 small) a word clock seemed fun and would fit without having to scroll the text. Note: the datasheets are still preliminary! Hope they don't change unexpectedly.
- 4 chip enables
- 2 digit select
- 7 data bits
- 1 write bit
Cursor select/enable, blanking, and clear were strapped to their correct states. This was my initial reaction:
I started by prototyping on a breadboard, but the amount of wires was way too cumbersome and the connections way too unreliable to be sustainable. I also eschewed shift registers, since an ATmega368/Arduino had enough pins to drive it directly. I did the development on an Arduino to start with.
Once I was satisfied that all the segments on the large modules worked (by drawing ‘0’ and ‘*’ alternately as fast as possible and also counting up in hex as fast as possible for good measure) I started building the perfboard circuit, without really thinking of the layout too much at first.
The nice part is that the data, blanking, write, and digit select pins can all be driven from the same bus from the mcu. The only part that changes is which chip enable (4 per chip, 2 active high and 2 active low) pins are tied to which of the ATmega’s 2 gpios.
I went for the reference design from the datasheet, except I would forego the 4th module, and make it work with 2 extra small ones (which only have 2 chip enables, both active low, unfortunately).
Now we're getting somewhere...