According to early pages in my notebook, I built this in 2006. I'm pretty sure this was my first microcontroller project (excluding of course blinking an LED). Back then I didn't have good back-up habits and had never even heard of git, so the code I wrote is gone forever (maybe for the best).
The enclosure is a translucent blue plastic so I can see some of the internals. I'm not willing to open it up though - I can see a birds-nest of wiring and I expect that after openeing, it may never work again. I was surprised it still works at all as it is!
The matrix runs in two modes:
- Clock mode. By default it displays hours and minutes but you can "scroll" right to show seconds. There is a neat vertical scrolling animation when a digit changes. There is no battery back-up of any kind so the clock resets to 12:00 every time it switches on. It also keeps awful time - loses a few minutes each hour. Pretty sure I was relying on the internal oscillator and whatever scaling got me closest to a one-second interrupt trigger.
- Text mode. By default it scrolls the text "GAME OVER..." but you can change the text by scrolling through the alphabet for each character.
From my notes and from what I can see through the case, I know this much:
- It has a matrix of 100 blue 5mm LEDs - 20 columns by 5 rows.
- It takes a 5V DC power supply.
- There is a socketed DIP ATmega8535 microcontroller running the show (I wish I could find the code I wrote!).
- Six buttons used for control and programming settings.
- Three 74HC138 3-to-8 line decoders are used for multiplexing each column.