OBS streaming overlay for GoDice Bluetooth dice
Project description
GoDice Overlay
OBS overlay that shows your GoDice rolls on stream. You roll the physical die, the value pops up in OBS.
Supports all die types (D4, D6, D8, D10, D10X, D12, D20), multiple dice at once, and reconnects automatically if a die drops out.
What it does
- Connects to GoDice over Bluetooth, shows rolls as an animated OBS browser source
- Comes with 4 themes (Minimal, Neon, Classic, Parchment)
- Detects fake rolls (dropped, not actually thrown) and suspicious ones (moved before settling). You pick what to do with them: ignore, show a warning, or just treat them as normal
- LED feedback on roll: die color, white, or crit mode (green on max, red on min)
- Warns you when battery is low (red LED on the die)
- Keeps roll history in SQLite, exportable to CSV
- Admin UI for managing everything
Requirements
- Python 3.14+
- uv
- Bluetooth adapter (BLE)
- GoDice dice
Install
git clone <repo-url>
cd godice-overlay
uv sync
Or just run it directly:
uvx godice-overlay
Run
uv run godice-overlay
Opens a server on localhost:8080:
/is the admin page where you scan for dice, connect them, tweak settings, and check roll history/overlayis the transparent page you point OBS at
OBS setup
- Run
uv run godice-overlay - Add a Browser Source in OBS
- URL:
http://localhost:8080/overlay - Match width/height to your canvas (1920x1080 or whatever you use)
- That's it
Admin page
From the admin page you can:
- Scan and connect dice
- Label them, pick colors, set die types
- Pick a theme, overlay position, text size, how long the roll stays on screen
- Choose LED mode (off, die color, white, crit)
- Decide what happens with fake/suspicious rolls
- Browse the roll log, export to CSV
Where stuff lives
- Config:
~/.config/godice-overlay/config.yaml - Roll database:
~/.local/share/godice-overlay/rolls.db(rolls older than 30 days get cleaned up) - Logs:
~/.local/state/godice-overlay/logs/
Dev
uv run pytest
uv run godice-overlay
Built with
- NiceGUI for the UI
- godice for talking to the dice over BLE
- bleak for Bluetooth
- aiosqlite for the roll database
License
MIT. Note that the godice dependency has its own proprietary license that restricts usage to personal and academic purposes.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file godice_overlay-0.1.0.tar.gz.
File metadata
- Download URL: godice_overlay-0.1.0.tar.gz
- Upload date:
- Size: 80.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
58b18c5d19c0fe73580b6456d381d9a04a45f198c4cafeeb8107578fac9118b7
|
|
| MD5 |
4da9d75d5aad4fa36d7adc806f9eb32b
|
|
| BLAKE2b-256 |
2f8c3523a36df685f269f3c16e133f0fc51dc38f73f5a9caa68c370a00780180
|
Provenance
The following attestation bundles were made for godice_overlay-0.1.0.tar.gz:
Publisher:
release.yml on piotron/GoDice-Overlay
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
godice_overlay-0.1.0.tar.gz -
Subject digest:
58b18c5d19c0fe73580b6456d381d9a04a45f198c4cafeeb8107578fac9118b7 - Sigstore transparency entry: 1634421028
- Sigstore integration time:
-
Permalink:
piotron/GoDice-Overlay@3139b543ee50ab70ee51dd88ff46142eff8ebb90 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/piotron
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@3139b543ee50ab70ee51dd88ff46142eff8ebb90 -
Trigger Event:
push
-
Statement type:
File details
Details for the file godice_overlay-0.1.0-py3-none-any.whl.
File metadata
- Download URL: godice_overlay-0.1.0-py3-none-any.whl
- Upload date:
- Size: 28.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c30ce218e35f6aaa2cded231d6f74e2198de093c44f8d7f6f7e0cfebf523c5c
|
|
| MD5 |
759cfb2d8acdddcc1ce5d15c23c931f4
|
|
| BLAKE2b-256 |
f5cf335ed7f87963830c057d7cfb18f5b1a60548a3c21807fd41492903b60eba
|
Provenance
The following attestation bundles were made for godice_overlay-0.1.0-py3-none-any.whl:
Publisher:
release.yml on piotron/GoDice-Overlay
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
godice_overlay-0.1.0-py3-none-any.whl -
Subject digest:
4c30ce218e35f6aaa2cded231d6f74e2198de093c44f8d7f6f7e0cfebf523c5c - Sigstore transparency entry: 1634421057
- Sigstore integration time:
-
Permalink:
piotron/GoDice-Overlay@3139b543ee50ab70ee51dd88ff46142eff8ebb90 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/piotron
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@3139b543ee50ab70ee51dd88ff46142eff8ebb90 -
Trigger Event:
push
-
Statement type: