Skip to content

Parasite Pool dashboard for Raspberry Pi TFT/HDMI: Personal Parasite Pool stats, real-time BTC price ticker, historical hashrate curve with recent high-diff shares and Bitcoin network metrics, all in one dashboard.

License

Notifications You must be signed in to change notification settings

DozNot/rpi-parasite-pool-dashboard-display

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

RPi Parasite Pool Dashboard Display

for Raspberry Pi TFT/HDMI Displays

Raspberry Pi Python Pygame License: MIT

RPi Parasite Pool Dashboard in action

Your Parasite Pool stats, real-time BTC price, recent shares and network metrics, all in one dashboard.

Screenshots

RPi Parasite Pool Dashboard View 1 RPi Parasite Pool Dashboard View 2 RPi Parasite Pool Dashboard View 3

Table of Contents

Features

πŸ“ˆ BTC Price Ticker (from Binance & Kraken)

  • Real-time BTC/USD price via Binance WebSocket (primary source) + Kraken fallback
  • 24h price change coloring (green/red)
  • Automatic reconnection with exponential backoff

⛏️ Parasite Pool Stats (personal & pool-wide)

  • 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 & Visualization

  • Historical hashrate curve (configurable intervals: 5m/15m/30m/1h)
  • Dynamic scaling of Y-axis based on available data

🌐 Bitcoin Network Stats (from mempool.space)

  • Recommended fees (sat/vB)
  • Current block height
  • Latest block mining pool
  • Network hashrate
  • Network difficulty

βš™οΈ UX / Performance / Config

  • 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.

Hardware

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)

System Prerequisites

  • Make sure /boot/firmware/config.txt has dtoverlay=vc4-kms-v3d enabled.

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-dev

Additionally, add the user to the video and input groups to avoid permission issues with the framebuffer:

sudo usermod -aG video,input $USER

Log out and log back in (or reboot) for the group changes to apply.

Installation

  • Before installation, make sure your miner(s) are connected to the Parasite Pool (parasite.wtf:42069)
  1. Clone the repository:
git clone https://github.com/DozNot/rpi-parasite-pool-dashboard-display.git
cd rpi-parasite-pool-dashboard-display
  1. 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/activate

Why --system-site-packages?

β†’ This allows the venv to use the optimized system pygame while keeping other dependencies isolated.

  1. Install dependencies:
python3 -m pip install -r requirements.txt
  1. 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

  1. Run the application:
python3 app.py
  • Then make it start automatically at boot (systemd, crontab @reboot, etc.)
  • Recommended for a dedicated dashboard

Project Structure

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 Policy

Configuration Notes

All 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).

Troubleshooting

  • 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.

License

MIT License – see LICENSE file

Acknowledgments

  • 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)

PARASITE POOL

Open-Source Bitcoin Mining Pool


Parasite Pool Bitcoin Mining Pool Banner

Stratum: parasite.wtf

Port: 42069

Recommended Reads

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.

Support the Project

If you find this project useful, consider supporting its development with a small donation. Thank you!


[ BITCOIN ] [ MONERO ]

Bitcoin Donation QR Code


Monero Donation QR Code

Bitcoin:

bc1qkaqaxqheejuddrp5604wy592k423vjmk3uu35l

Monero:

457KEpgmvXJgNSnrkVs2poFPCVNXxPoqBAnxjSC1T9C3QUSSxXMR3iLFx1LtPc77oUAmoVwHgrh7KGzFugVpc1RCJ9nR3PS

Parasite Pool Logo with a glitch effect


Built for independent miners.
Built for decentralized infrastructure.

"THE REVOLUTION WILL NOT BE CENTRALIZED" β€” zkSHARK

About

Parasite Pool dashboard for Raspberry Pi TFT/HDMI: Personal Parasite Pool stats, real-time BTC price ticker, historical hashrate curve with recent high-diff shares and Bitcoin network metrics, all in one dashboard.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Contributors

Languages