Vinura is a Raspberry Pi circular vinyl display for Home Assistant media players.
It shows album art, rotates like a vinyl record, and displays playback info.
- 7″ circular IPS TFT support (1080×1080)
- Album art with circular mask and vinyl center hole overlay
- Rotation animation while playing
- Idle clock mode
- Physical controls:
- Previous / Next / Play-Pause buttons
- Rotary encoder for volume
- Long-press for track scrolling
- On-screen indicators:
- Volume arc (configurable left/right, fade/permanent)
- Scroll bar (configurable top/bottom, fade/permanent)
- Screen auto-sleep with wake on any button except volume knob
- Home Assistant WebSocket integration (event-driven)
- Modular & AI-friendly architecture
Ensure dependencies are installed, then launch:
pip install -r requirements.txt
python main.pyConfigure Home Assistant URL, token, entity, and display options in config.yaml.
- display:
- resolution: Display size in pixels (circle diameter).
- rotation_enabled / rotation_rpm: Enable/adjust spinning speed.
- show_text: Show artist/title overlay.
- indicators:
- volume.side:
leftorright. - scroll.position:
toporbottom. - fade_seconds/permanent: Visual fade behavior.
- volume.side:
- controls:
- long_press_threshold: Seconds to enter seek mode.
- scroll_interval: Seconds between seek updates when held.
- scroll_amount_seconds: Seconds per seek step during hold.
- button_debounce_ms: Debounce for physical buttons.
- encoder_throttle_ms: Coalesce encoder events before volume updates.
- volume_step_per_tick: Volume delta per encoder tick.
- sleep:
- enabled: Toggle auto-sleep.
- timeout_minutes: Idle time before sleep.
- logging:
- level: DEBUG/INFO/WARNING/ERROR/CRITICAL
- file.enabled/path/max_bytes/backup_count: Optional rotating file log.
Notes:
- On startup, the app fetches the initial Home Assistant state for immediate UI.
- Short press prev/next jumps tracks; long press seeks smoothly.
- Sleep manager chains button handlers, so your button bindings remain intact.