For bouldering sessions and local competitions you need a big clock everybody can see, and that’s what BoulderTimer is for. A Raspberry Pi 3B+ draws a fullscreen countdown on any HDMI TV, and you start, pause and reset it from a browser on a phone or any other device in the same network.
It’s the plain, cheap cousin of Timeotron 3000, which times speed-climbing runs on an LED matrix.
What I did#
I wrote everything in Python, about 1,500 lines covering timer logic, display, audio and a web server.
The Pi runs Raspberry Pi OS Lite without a desktop, and pygame draws straight to the screen, which means there’s no X11 to install or to break. A small Flask server passes commands from browsers to the clock. Its control page answers at bz-clock.local, so nobody at the gym has to type an IP address.
Before the start you get three seconds of warmup with short beeps, then a long beep. The last three seconds of a round beep again, a long beep ends it, and a voice warns climbers when they have a minute left.
Sizes are computed from the real resolution of the screen, so the same code fits HD and 4K TVs. Once installed, the clock works offline. There’s a script to set up a fresh Pi and another to copy new code to it and restart the clock.