A talking clock for people who prefer listening over reading.
Designed for simplicity and accessibility, it speaks the current time or a compact weather update in natural German at the press of a single button. This proof of concept runs on a Raspberry Pi, uses AWS for serverless backend logic and WeatherAPI.com for forecast data, and plays audio via mpg123/ALSA on the Pi.
The project was created for a person with limited vision. The goal: a device that works with one button, gives clear spoken feedback, and avoids the complexity of menus or screens.
- One-button interface with multi-press patterns (no screen required).
- High-quality German Text-to-speech via AWS Polly.
- Weather briefings (date, weekday, time, compact forecast).
- Boot-time auto start (systemd service).
- Lean Raspberry Pi setup (no extra Python packages on the Pi; uses
mpg123for playback).
All speech output is German. To maximize voice quality, a generative AWS Polly voice is used.
Audio examples:
- Google AIY Voice Kit v1
Built and tested with the first version of the voice kit. Newer versions will likely work with small adjustments. - Raspberry Pi 3 + MicroSD card
- Wi-Fi (or LAN)
- AWS account
- WeatherAPI.com API key (free tier works)
- Dev machine: Python 3.12, AWS CLI, Task
Note
Pi-side code is compatible with Python 3.7.3 (depending on the AIY image). Server-side Lambdas target Python 3.12.
Operate everything with the single button. Multi-press events trigger actions:
- 1× — 🕰️ Current time
- 2× — 🌤️ Weather forecast + date, weekday & time (may take up to 15s to respond)
- 5× — ℹ️ Instructions
- 6× — 🔧 Self-diagnosis
- 7× — ⏻ Shutdown
(3×/4× are reserved and not used at the moment.)
The project is licensed under the Apache License 2.0. See LICENSE file for details.