Your Parasite Pool stats, real-time BTC price, recent shares and network metrics, all in one dashboard.
- Features
- Hardware
- System Prerequisites
- Installation
- Project Structure
- Configuration Notes
- Troubleshooting
- License
- Acknowledgments
- Recommended Reads
- Support The Project
- Real-time BTC/USD price via Binance WebSocket (primary source) + Kraken fallback
- 24h price change coloring (green/red)
- Automatic reconnection with exponential backoff
-
Personal stats (public address on parasite.space recommended):
- Your hashrate (TH/s)
- Best share difficulty
- Total work contributed
- Uptime
- Rank on leaderboard
- Active workers count
- Hashrate curve
- Recent high-difficulty shares (up to 9) shown as red dots on the chart
-
Pool-wide stats:
- Total pool hashrate (PH/s)
- Pool best difficulty
- Historical hashrate curve (configurable intervals: 5m/15m/30m/1h)
- Dynamic scaling of Y-axis based on available data
- Recommended fees (sat/vB)
- Current block height
- Latest block mining pool
- Network hashrate
- Network difficulty
- Low CPU usage: software rendering, static background, 12 FPS cap (configurable)
- Global connection/WiFi status indicator (green/orange/red circle)
- Stale data warnings (orange after 60s, red if no connection)
- Fully configurable via
config.json(FPS, timeouts, historical interval, API base, etc.) - Native 480Γ320 for 3.5" TFT + auto-scaling (with preserved aspect ratio) on HDMI displays
- Rotating logs to
./logs/app.log - Thread-safe data handling and error recovery
Perfect for an always-on Parasite Pool dashboard running on a Raspberry Pi 3B+, 4, or 5 with a TFT or HDMI display.
Developed and tested with:
- Raspberry Pi 3B+, 4, 5
- Waveshare 3.5" TFT touchscreen (480Γ320, XPT2046 controller)
- HDMI monitors (auto-scaled with preserved aspect ratio)
- Make sure
/boot/firmware/config.txthasdtoverlay=vc4-kms-v3denabled.
Before installing the Python dependencies, verify that you have the necessary system packages for Pygame and graphical support.
Run the following command:
sudo apt update && sudo apt install python3-venv python3-pygame libsdl2-dev libegl-devAdditionally, add the user to the video and input groups to avoid permission issues with the framebuffer:
sudo usermod -aG video,input $USERLog out and log back in (or reboot) for the group changes to apply.
- Before installation, make sure your miner(s) are connected to the Parasite Pool (
parasite.wtf:42069)
- Clone the repository:
git clone https://github.com/DozNot/rpi-parasite-pool-dashboard-display.git
cd rpi-parasite-pool-dashboard-display- Create and activate a virtual environment (recommended):
Important: Use the system-provided python3-pygame package (from apt) for best compatibility with Raspberry Pi's kmsdrm driver.
python3 -m venv --system-site-packages venv
source venv/bin/activateWhy --system-site-packages?
β This allows the venv to use the optimized system pygame while keeping other dependencies isolated.
- Install dependencies:
python3 -m pip install -r requirements.txt- Copy and edit the configuration file:
cp config.example.json config.json
nano config.json- Example config.json:
{
"btc_address": "YOUR BITCOIN ADDRESS FOR PARASITE",
"logo_path": "logos/parasite-white.png",
"fps": 12,
"dim_alpha": 50,
"data_timeout_sec": 300,
"stale_warn_sec": 60,
"mempool_poll_interval": 25,
"parasite_poll_interval": 4,
"wifi_check_interval": 12,
"historical_interval": "5m",
"total_work_cache_min": 140,
"total_work_cache_max": 300,
"parasite_api_base": "https://parasite.space/api"
}β Set "btc_address" with your real Bitcoin address used for Parasite Pool
β Tweak FPS, intervals, etc. as desired
- Run the application:
python3 app.py- Then make it start automatically at boot (systemd, crontab @reboot, etc.)
- Recommended for a dedicated dashboard
rpi-parasite-pool-dashboard-display/
βββ app.py # Main entry point
βββ config.json # User configuration
βββ config.example.json # Template: copy to config.json and edit
βββ LICENSE # Project license
βββ requirements.txt # Python dependencies
βββ assets/ # Images used in README
β βββ demo.png # Demo screenshot
β βββ btc-qr.png # BTC QR
β βββ xmr-qr.png # XMR QR
β βββ ...
βββ logos/ # Parasite logo
β βββ parasite-white.png
βββ logs/
β βββ app.log # Rotating log file (INFO/WARNING/ERROR)
βββ src/ # Source code modules
β βββ __init__.py
β βββ constants.py # Constant values and settings
β βββ data.py # Shared application state and data structures
β βββ helpers.py # Utility functions
β βββ mempool.py # Mempool/BTC network data
β βββ parasite.py # Parasite Pool polling
β βββ rendering.py # Display rendering and drawing logic
β βββ websockets.py # WebSocket connections for prices
βββ README.md # Project documentation and setup guide
βββ SECURITY.md # Security PolicyAll paths are relative to the project root.
btc_address: Your Bitcoin address for Parasite Pool stats.logo_path: Path to the Parasite logo.fps: Display refresh rate in frames per second.dim_alpha: Transparency level for the dimming/fade effect (0-255).data_timeout_sec: Timeout in seconds for data freshness.stale_warn_sec: Stale data warning threshold.mempool_poll_interval: Mempool polling interval.parasite_poll_interval: Parasite Pool polling interval.wifi_check_interval: WiFi check interval.historical_interval: Historical hashrate data interval ("5m", "15m", "30m", "1h").total_work_cache_min/total_work_cache_max: Total work cache range.parasite_api_base: Parasite Pool API base URL.
β If config.json is missing, invalid, or corrupted, the program falls back to defaults (no BTC address β no personal stats).
- No display β Check environment variables in
app.py. - No price β Internet connection required (Binance & Kraken APIs).
- Pool stats not updating β Verify your
btc_address, internet, API status. - Personal stats missing (rank, red dots...) β Happens if your address is private on parasite.space.
- High CPU β Lower FPS in
config.json(default=12). - Stale data β Orange color if >60s without update, red if no WiFi.
β Logs are written to ./logs/app.log.
MIT License β see LICENSE file
- Uses data from the parasite.space API
- Price tickers from the Binance and Kraken public APIs
- Network statistics from mempool.space
Special thanks to:
- zkSHARK
- Parasite Pool
- Ordinal Maxi Biz (OMB)
The following articles by zkSHARK, founder of ORDINAL MAXI BIZ (OMB) and Parasite Pool, explore mining decentralization, reducing reliance on dominant pools, empowering home miners, and preserving Bitcoinβs distributed ethos.
-
Parasite Pool: Igniting the Mining Insurrection
An in-depth explanation of Parasite Poolβs zero-fee model, Lightning payouts, coinbase construction mechanics, and its approach to improving mining decentralization. -
The Revolution Will Not Be Centralized: OMB x Bitaxe
A look at open-source home mining hardware such as Bitaxe, the Ordinal Maxi Biz ethos, and the broader movement toward accessible, self-sovereign mining infrastructure. -
Ordinals, Inscriptions, and Rare Sats - Oh my!
An early perspective on Ordinals and emerging Bitcoin-native experimentation, reflecting a culture of innovation, self-sovereignty, and independent participation.
If you find this project useful, consider supporting its development with a small donation. Thank you!
Bitcoin:
bc1qkaqaxqheejuddrp5604wy592k423vjmk3uu35lMonero:
457KEpgmvXJgNSnrkVs2poFPCVNXxPoqBAnxjSC1T9C3QUSSxXMR3iLFx1LtPc77oUAmoVwHgrh7KGzFugVpc1RCJ9nR3PS






