I'm sure we've all been thru this before: You see an opportunity to make a new clock or other gizmo, and the displays are so cheap you cant resist. What could go wrong ????
In my case, it was 8x8 bi-color LED arrays...for 86 cents each. LEDs are pretty easy to multiplex (imagine if it was direct-drive....129 pins ?? Yikes). So I literally bought a brick of them, 24 total, last summer and thought I could knock this project out pretty quick.
Mistake number 1 was assuming a Raspberry Pi could handle the multiplexing for 16 displays (8 characters, each in a 8x16 format) with a 1msec refresh time. I really had no expectation to do this with a Pi on it's own, so it was the final push I needed to make another project: Bolt and Altera FPGA onto the RasPi so I can use it for future projects. OK, I got that done. The LED board was taped-out about 2 months after I got the displays, and a few weeks later, the FPGA board taped-out.
Mistake number 2 was assuming the hardware and software would be easy. Well, it was a bit more work to do the dual-port RAMs on the FPGA, and have hardware/software arbitration, and generate a character font, and code-up a lot of debug software.
Mistake number 3 was that the compact design, with most ICs under the soldered-down display, was not manufacturing/debug friendly. So, after building 1 unit, and seeing some display corruption, I had challenges figuring out what was a software bug, vs FPGA code bug, vs design bug, vs assembly problem. The good thing was that I simulated the snot out of the design; the bad thing is that any unseen soldering problems require the display to be sawed-out (no amount of desoldering attempts worked). But once the display was sawed out, the pins were very easy to desolder and the board was easily reassembled.
So, it finally does work as a clock now despite being butt-ugly LEDs...8 months later. But to be fair, I did squeeze out another quick and simple numitron clock project during that time, and that one really did end up being quick and simple.
If you find yourself asking "Why the F#$%! did I do this project ???", just take it in stride and work the problems one-by-one, and it will eventually end up working.
Little doubt that Beavis and Butt-head are laughing about this one....