I’ve said it before, and I’ll say it again: I’m fond of bacon sandwiches. Unfortunately, this isn’t particularly germane to the topic at hand, which is that I just saw the most amazing 7-Segment Display Array Clock project on Hackaday.io
This little beauty is implemented using 144 (6 rows x 24 columns) 7-segment displays along with an Arduino Nano, a real-time clock (RTC), and 18 MAX7219 7-segment display driver ICs.
If we were to add another 12 columns (that’s 72 more 7-segment displays), we could also display the seconds, which would be rather cool.
One thing that immediately catches your eye is the slanting (dare one say “italic”) font. This results in the unusual situation that each digit is 6-columns wide, with adjacent digits “sharing” a column — the upper-right corner of one digit shares the column with the lower-left corner to the digit to its right, if you see what I mean.
This leads us to wonder how the creator of the clock came up with this font in the first place. It would also be interesting to see text characters implemented in this font, where these characters could be used to display messages composed of a series of (up to) 6-character words. Of course, we could also scroll these messages across the display.
But wait, there’s more! Do you remember the old ASCII art pictures pieced together from the 95 printable members of the ASCII character set (click here to see a bunch of images on Google)? Suppose we were to build a “canvas” comprising 24 rows x 48 columns = 1,152 of these 7-segment displays, and then use a script to take a scanned image and replicate it using the various display segments.
Oooh! Oooh! I just thought of something. Do you remember my column about Slobberworthy Multicolor 7- and 16-Segment Displays? Well, can you visualize the original 6-row x 24 column clock discussed above reimagined using 7-segment multicolor displays? How about our 24-row x 48-column “canvas” implemented using 16-segment multicolor displays?
I don’t know about you, but I can feel my creative juices starting to flow (fortunately I have a roll of paper towel to mop them up). How about you? Are you tempted to dip your toes in the 7-segment waters?
That is an impressive clock! You may not believe this, but I think I see a way to build a perfectly useful digital clock with 1/36th as many 7-segment displays (4). I’m checking my math now.
Fair enough, but if you held your clock up and I held mine (assuming I build one of these beauties), which one do you think would inspire the most “Ooh”s and “Ahh”s ?
With ASCII art, the embedded character used to make the larger character was the same as the character itself. In this clock it appears that the only embedded character is an 8. Because the resolution is much coarser than ASCII art, maybe that is necessary to improve the appearance of the larger character, but would be be interesting to see if the ASCII art approach would work. There’s a variation for you to try in your version, Max
P.S. I wish to register a complaint. The CAPTCHA verification below is now requesting to identify objects in the picture matrix. And I had to go through 3 sequences last time. GRRR. Only once on this post
Well — that’s not quite true — you don’t just have an 8 — you have all of the seven segments forming the 8 — plus you have the decimal point — so you have 8 LEDs, each of which can be individually turned On and Off, giving you 2^8 = 256 different combinations. The trick would be to take an image (scanned or drawn) and convert it to the various segments.
Oooh, Oooh — if you took full control of the segments yourself — you could vary the brightness of each segment also, thereby giving you a much better “gray scale” (albeit in red or green)
Aubrey, Max I too have been having the Capcha ask me to identify stuff a lot more often. GRRR from me too 🙂
Two thoughts come to mind-
1. If the design uses multiplexing, what approach does it take- there are way too many digits to use a simple approach.
2. If the display is only used for a clock display, then there are quite a few digits that are never used and don;t need to be populated.
Re 1: All I know is that it uses 18 MAX7219 7-segment display driver ICs, but I haven’t spent any time looking at the data sheets for those ICs. Re 2: I agree, but in my column I also talked about the possibility of scrolling messages across the display — or using a bigger display to present “ASCII-esque” images — in either case you would require access to all of the digits.
Ah, the MAX7219 (originally from Intersil) , one of my all-time favourite ICs…
Well, it does have “MAX” in its name, so how could it go wrong?