Live swimming scoreboard display for timing consoles.
Decodes the serial feed from the timing console, adds swimmer names and club names from a Splash Meet Manager Lenex export, and displays a fullscreen scoreboard on a TV — all on a local network with no internet required at the pool.
Originally inspired by STU940652/CTS_Scoreboard. CTS serial protocol documentation by hwbrill/vsCTS and Marco's Corner.
| Installation | Pi #1 (server), Pi #2 (kiosk), updating, reinstalling |
| Admin guide | Meet-day workflow, settings tabs, pages, localisation |
| Cloud relay | Public scoreboard for remote attendees |
| Development | Data flow, adding a console decoder, bundled assets |
| API contract | WebSocket + REST contract for native clients (TV / iOS / Android) |
| Console | Status | Doc |
|---|---|---|
| Colorado Time Systems — System 5 / System 6 / Gen7 Legacy | ✅ Tested | cts-gen6.md |
| Colorado Time Systems — Gen7 Serial | cts-gen7.md | |
| Daktronics Omnisport 2000 | omnisport-2000.md | |
| Swiss Timing Omega — Ares 21 | ares-21.md | |
| Swiss Timing Omega — Quantum | quantum.md |
Timing console
│
Serial adapter (see console doc)
│
Pi #1 ── eth0 ──┐
├── Unmanaged switch ── Laptop
Pi #2 ── eth0 ──┘
| Device | IP | Role |
|---|---|---|
| Pi #1 | 10.10.10.10 |
Serial decoder + FastAPI server + admin UI |
| Pi #2 | DHCP | Chromium kiosk — fullscreen scoreboard on TV |
| Item | Purpose |
|---|---|
| Raspberry Pi 3B+ or 4 | Pi #1 — scoreboard server |
| Raspberry Pi 4 | Pi #2 — TV kiosk |
| Cat5e cable + unmanaged switch | Connect all pool-deck devices |
| Minimum | |
|---|---|
| Raspberry Pi OS | Trixie (October 2025) |
| Python | 3.13 (included in Trixie) |
Flash Raspberry Pi OS Trixie on each Pi with SSH enabled, then run on each:
curl -fsSL https://raw.githubusercontent.com/olivierouellet/Splouch/master/install/install.sh -o install.sh && bash install.shThe script asks which role to install: Server, Kiosk, or Cloud. See docs/installation.md for details.