Author Clock

Raspberry Pi connected to eInk display showing a literary quote

Timely Tome: A Literary Clock Built with Raspberry Pi and eInk

"Time flies over us, but leaves its shadow behind." - Nathaniel Hawthorne

Timely Tome is a quote-based clock powered by literature. Instead of displaying time numerically, it presents beautifully curated lines from classic and modern novels, each tied to the current minute. With over 2,000 books scanned and processed, it's a neat way to tell time.

The Stack

Hardware: Raspberry Pi + eInk Display

Languages: Python, JavaScript

Libraries/Frameworks: NLTK, OpenAI, Next.js

Backend Tools: Cron, systemd, nGrok

The Idea

I wanted a clock that told stories not just time. Inspired by the Author Clock, I aimed to build an open-source version that would pull time-annotated quotes from a vast literary corpus and display them on a Raspberry Pi connected to an eInk display.

ℹ️

Inspiration: The Original Author Clock

The original Author Clock by Jaap Meijers displays literary quotes for each minute of the day. My version takes this concept and makes it open-source, customizable, and suitable for DIY hardware projects.

Quote Collection and Context Extraction

I started with Python. Using NLTK and some curated book collections (Gutenberg and a few scraped public archives), I built a system to extract meaningful quotes that referenced specific times, like "It was exactly 4:17 when she...".

To bulk extract quotes with actual literary value (not just mechanical timestamps), I used large language models (LLMs) to identify and preserve surrounding context, ensuring that the displayed quote made sense even when pulled from the middle of a narrative. This created a corpus of timestamped, story-rich quotes.

Building the Web Demo

Before moving to hardware, I built a browser version using Next.js and deployed it to my site. This version reads the current time, fetches a matching quote from the corpus, and displays it in a clean, minimal layout. I used it to figure out how I wanted it to look on the eInk display.

Web-First Development Strategy

Building the web version first was crucial. It allowed rapid iteration on the quote matching logic, visual design, and user experience before committing to hardware constraints. Prototyping in the browser is great!

The web demo features:

  • Display the current quote based on the minute
  • Use a simple, elegant design with a serif font for a literary feel
  • Responsive design that works well on both desktop and mobile

The Hardware Setup

The transition to physical hardware was where the real tinkering began, and lots of failures too. I used a Raspberry Pi connected to a waveshare eInk display. These displays are finicky, they refresh slowly and have quirks depending on temperature and orientation, but they look stunning. Just like paper, as they should.

⚠️

eInk Display Gotchas

eInk displays are beautiful but temperamental. They're sensitive to temperature (slow refresh in cold), prone to ghosting if not properly managed, and require specific timing for partial vs full refreshes. Lots of trial and error and it took some time to get everything working smoothly.

To handle automatic updates:

  • I configured cron jobs to refresh the screen every minute.
  • Used systemd to manage network boot and recovery.
  • Created a nGrok tunnel so I could SSH into the Pi remotely without opening up my home network.
💡

Remote Access Pro Tip

nGrok is a game-changer for headless Raspberry Pi projects. It creates a secure tunnel to your device without port forwarding, making debugging possible from anywhere. Essential for projects you can't physically access easily which I needed as it was a gift.

Challenges Faced


Conclusion

Building the Timely Tome has been a fun journey with literature, and technology.

💡

Want to Build Your Own?

All the code for this project is available on GitHub. The quote corpus, processing scripts, and hardware setup instructions are all included. Fork it, improve it, and make it your own—that's the spirit of open source!