https://github.com/arthurgassner/time-teller
A literature clock displaying a quote every minute, powered by a Raspberry Pi Zero 2W and an e-ink screen.
https://github.com/arthurgassner/time-teller
3d-printing clock literarture-clock literature python raspberry-pi-zero-2-w waveshare-eink
Last synced: 9 months ago
JSON representation
A literature clock displaying a quote every minute, powered by a Raspberry Pi Zero 2W and an e-ink screen.
- Host: GitHub
- URL: https://github.com/arthurgassner/time-teller
- Owner: arthurgassner
- Created: 2025-06-01T13:19:18.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-08-09T12:43:30.000Z (9 months ago)
- Last Synced: 2025-08-09T14:26:48.860Z (9 months ago)
- Topics: 3d-printing, clock, literarture-clock, literature, python, raspberry-pi-zero-2-w, waveshare-eink
- Language: Jupyter Notebook
- Homepage: https://time-teller.arthurgassner.ch/
- Size: 5.44 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# :clock10: Time Teller
π Detailed write-up π

This repo contains the code powering the _Time Teller_, a literature clock driven by a Raspberry Pi Zero 2W.
---
# How to install
> [!IMPORTANT]
> This script is meant to be run on a RPi Zero 2W hooked to a Waveshareβs 7.5inch e-Paper screen.
> To prepare the RPi correctly, please follow the [detailed write-up](https://time-teller.arthurgassner.ch).
1. Install [`uv`](https://docs.astral.sh/uv/)
2. Create a virtual environment with `uv venv --system-site-packages`
> [!IMPORTANT]
> The `--system-site-packages` gives our virtual environment access to system-wide packages.
> This is necessary because this script relies on the RPi's GPIO, and hence on `gpiozero` -- a system-wide package.
3. Install the necessary libraries with
```bash
uv pip install -r requirements.txt
```
4. Ensure you're able to print to the screen by running `uv run hello_world.py`
# Content
```bash
βββ data/ # Where the fonts & quotes are stored, sourced from https://github.com/JohannesNE/literature-clock and https://fonts.google.com/
βββ 3d-models/ # 3D models of the cases
βββ notebooks/ # Notebooks used to prepare the data and develop
βββ utils/ # Utils for the script to run
βββ tests/ # pytest
βββ main.py # Main script
βββ hello_world.py # Script displaying "Hello World" on the screen
βββ full_refresh.py # Script performing a full refresh on the screen (see https://time-teller.arthurgassner.ch/#step-3-display-something-on-the-screen)
βββ partial_refresh.py # Script performing a partial refresh on the screen (see https://time-teller.arthurgassner.ch/#step-3-display-something-on-the-screen)
βββ clear_screen.py # Script clearing the screen
βββ README.md
```