Building a word clock with genetic algorithms

Maybe it was a language barrier he ran into, or possibly an inclination to do things the hard and smart way, but we really like [Alessio]’s take on building the display for his word clock. Instead of relying on a pre-designed word layout, he made his own word pattern with a genetic algorithm.

While looking at other word clock builds on the Internet, [Alessio] noticed all the DIY copies used the same pattern of letters as the original QLOCKTWO word clock. There are obvious reasons for this, laziness chief among them, but [Alessio] decided to do one better. Armed with JGAP, he made a 10×10 German language word clock and a 11×11 English language word clock.

[Alessio]’s algorithm takes a list of regular expressions – ‘five past four’ and ‘four five’ are both valid expressions for 4:05 – and combines solutions together for a hopefully optimal solution. One added bonus of [Alessio]’s method is the ability to generate non-square word clocks. On his project page, [Alessio] put up examples for round, triangular, and diamond-shaped word clocks.

[Alessio] ended up building a 10×10 square German language word clock with an Arduino Nano, DS1307 real-time clock, RGB LEDs, and a few shift registers. Very nice work for a custom-designed word clock.

Interesting substrate used to position LEDs of this Word Clock

[Ivan] decided to build a Word Clock as holiday gift for his parents. He pulled it off, but as you can see above, it meant a lot of point-to-point soldering. One small piece of proto-board is used to host the power supply and a few integrated circuits, with the rest of the device mounted on an interesting choice of material.

The substrate that holds the LED array for the display is a plastic mesh. You’ll find the stuff in any craft store, it’s meant for use in yarn work. It comes rated in several different sizes designated by holes-per-linear-inch. This is fantastic because it makes precision spacing a snap. The face plate itself looks great, especially when you consider that all of the letters were cut out from a piece of black foam board by hand. This bezel was then put in a picture frame, with a bit of tissue paper as a diffuser.

They tell us that the code was written in assembly for an ATtiny2313 microcontroller. It uses a DS1305 RTC chip to keep time and you might be interested to see how the communication protocol was implemented in assembly. The project is based on [Doug’s] Word Clock which we covered in this links post.