After a recent project I ended up with an old timecode slate, the kind used for marking frame sync in video and film production.
Clearly, it wanted to be a clock. It was already two-thirds of the way there.
These first-generation Denecke slates are just a display device. They have no timebase on-board, they just display running timecode from an external source.
The relatively small hack was building a circuit to provide time-of day in SMPTE timecode format, which the slate would then display.
In the fine hacker tradition of swatting a fly with a sledgehammer, I used a 16 bit Microchip PIC3010 DSP microcontroller to generate the timecode, because I had a bunch and it runs on 5V.
I added a few usability features, like a bunch of buttons to set hour/minute/seconds, and some mode selector switches for display.
One switch selects for 12/24 hour format.
The SMPTE timecode format allows for timing down to the frame, but that makes the display pretty busy, so two more DIP switches allow you to selectively inhibit the frames or seconds digits if you prefer.
All those old LED's and their ballast resistors use a surprising amount of power and that seems wasteful, so a fourth DIP switch turns off power to the slate between 7:00PM and 7:00AM when I'm out of the office.
The circuit board is inside a typical extruded aluminum box, which originally clung to the back of the slate like a limpett with some velcro, and feeds power and timecode to the slate through the slate's standard XLR connector, but then I hung the slate high on a wall, so now the generator lives behind my desk and the slate runs off an extension so I don't have to get a ladder whenever I want to change something.