This Clock Uses the MNIST Database to Tell Time
Dheera Venkatraman and Evan Pu's E Ink timepiece displays random “handwritten” digits from the MNIST database.
The MNIST (Modified National Institute of Standards and Technology) database consists of a series of handwritten digits that can be used to train computer vision. Humans can normally read these digits with no problem, so the MNIST clock by Dheera Venkatraman and Evan Pu turns the concept on its head, displaying four randomly-drawn database digits to output the time.
Each digit is shown on its own 1.54-inch E Ink display, providing an easy way to read numbers in a variety of lighting situations, while not shining when you're trying to sleep. Control of the system is via a TinyPICO ESP32 board. This allows for WiFi communication and gives the system enough GPIO to drive the displays via their SPI + extra pins interface.
Programming for the boards is done in MicroPython, and each digit is displayed in two-bit grayscale, giving four levels of color (or non-color you might say). In this format, each digit needs 196 bytes of memory, so the 4MB of flash on the ESP32 is able to fit the entire MNIST set. One could also use a lower bit depth if more digits are needed to further “randomize” the handwriting. The clock is housed in a nice 3D-printed enclosure, and if you want to build your own, code and print files are available on the project’s GitHub page.
Engineer, maker of random contraptions, love learning about tech. Write for various publications, including Hackster!