Politimer is a lightweight countdown display designed for outdoor speaking events. It manages speaker time limits with a loopable schedule and minimal visual clutter, ideal for public forums, debates, and protests.
- ✅ Simple, fullscreen timer display for speaker queue
- ✅ JSON-based schedule with speaker names and durations
- ✅ Navigation via keyboard (next/previous speaker)
- ✅ Pause/resume functionality
- ✅ Countdown with visual alert when time expires
- ✅ Kiosk-mode friendly (no terminal or mouse interaction required)
Install Requirements
pip install -r requirements.txtYou may need tkinter installed system-wide (usually comes preinstalled with Python). On Raspberry Pi OS:
sudo apt install python3-tkYour JSON file should follow this format:
[
{"speaker": "Alice", "time": "00:05:00"},
{"speaker": "Bob", "time": "00:07:00"},
{"speaker": "Charlie", "time": "00:04:30"}
]python -m politimer data/schedule.json| Key | Action |
|---|---|
right arrow |
Next speaker |
left arrow |
Previous speaker |
space |
Pause/resume countdown |
Esc |
Exit program |
This is windowmanager specific, but here is one approach
~/.config/lxsession/LXDE-pi/autostartAdd this line:
@/usr/bin/python3 /home/pi/politimer -m politimer /home/pi/politimer/data/schedule.jsonCreate /etc/systemd/system/politimer.service:
[Unit]
Description=Politimer Speaker Timer
After=network.target
[Service]
ExecStart=/usr/bin/python3 -m politimer /home/pi/politimer/data/schedule.json
WorkingDirectory=/home/pi/politimer
Restart=always
User=pi
Environment=DISPLAY=:0
[Install]
WantedBy=default.targetEnable and start:
sudo systemctl enable politimer
sudo systemctl start politimerAGPL