Skip to main content

A CLI-based tuner that runs multi-objective optimization on your ESPminer

Project description

⚡️ ESPminer Optimizer

Tweak your ESPminer for max hashrate, minimum watts, and thermally clean operation - automagically. Built for the modern sovereign miner, optimized for freedom.

“Don’t trust. Verify. Solo-mine. Then autotune.” - Satoshi, probably


🛠 What Is This?

A CLI-based tuner that runs multi-objective optimization on your ESPminer. It finds the best balance of:

  • 🧠 Hashrate (TH/s)
  • 🔌 Efficiency (J/TH)
  • 🌡 Thermal Constraints

All in real-time using Optuna and your device’s REST API.

🤝 Found new best parameters with your ESPminer? Leave some sats for development support: bc1pgen5mzfdeq4hpwv6t7etjtch5j3dda46pm555vxhn839wq3aggdscrtxws


🚀 Features

  • 🎛 Optimizes frequency & core voltage
  • 🧪 Runs real-time stats collection from the ESPminer
  • 🧯 Aborts trials if temps go too high
  • 📈 Logs every trial to a CSV
  • 📚 Saves study results to a local SQLite DB
  • 🌈 Uses rich for pretty CLI output


☠️ Warnings

  • This directly modifies your ESPminer settings and restarts the miner every trial.
  • Know your thermal + voltage limits.

To enhance your ESPminer optimization workflow, consider integrating the Optuna Dashboard for real-time visualization and analysis of your optimization runs. This tool provides interactive graphs and detailed trial data, allowing you to monitor the optimization process effectively.


Install

Dependencies:

  • Python 3
  • A ESPminer running firmware with the /api/system endpoints

Directly install from PyPI espminer-optim via pip:

pip install espminer-optim

⚙️ Development

Clone the repository and install it in editable mode

pip install -e .

🧪 Running the Optimizer

Run the executable after install:

espminer-optim

or run directly via Python runtime python optimize.py if you have cloned the source.

You’ll be prompted for:

  • ESPminer IP address
  • Frequency & voltage range
  • Trial count & duration
  • Temperature limits

Then the tuner gets to work - configuring, restarting, collecting stats, and evolving toward greatness. 🙌

Each trial logs:

  • Frequency (MHz)
  • Core Voltage (mV)
  • Avg Hashrate (TH/s)
  • Avg Power (W)
  • Efficiency (J/TH)
  • Objective Score

🛠️ Setting Up Optuna Dashboard

  1. Install Optuna Dashboard:

    pip install optuna-dashboard
    
  2. Run Your Optimization Script

  3. Launch the Dashboard:

    In a separate terminal, start the dashboard:

    optuna-dashboard sqlite:///espminer-optim-db.sqlite3
    

    This will start a local server, typically accessible at http://localhost:8080/.

📊 Features of Optuna Dashboard

  • Interactive Visualization: Monitor optimization history, parameter importances, and trial details through dynamic graph.

  • Real-Time Updates: Observe the optimization progress as new trials are complete.

  • Trial Management: Filter, sort, and inspect individual trials to gain insights into the optimization proces.

For more information and advanced usage, refer to Optuna Dashboard documentation. By incorporating the Optuna Dashboard into your workflow, you can gain deeper insights into your optimization process, leading to more efficient and effective tuning of your ESPminer device.


⚡️⛏️ Built for Bitaxe

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

espminer_optim-0.0.9.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

espminer_optim-0.0.9-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file espminer_optim-0.0.9.tar.gz.

File metadata

  • Download URL: espminer_optim-0.0.9.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for espminer_optim-0.0.9.tar.gz
Algorithm Hash digest
SHA256 9853d9501f485df90288ced7c10646ad0a0c00433ab106c40893007e7001f8bc
MD5 e1f2c7828eec947ebbbc6744774072b4
BLAKE2b-256 aa241dd3db5d4cf328bc37bfa78b9a93e806da1e4bde8203e40e213da0572471

See more details on using hashes here.

File details

Details for the file espminer_optim-0.0.9-py3-none-any.whl.

File metadata

  • Download URL: espminer_optim-0.0.9-py3-none-any.whl
  • Upload date:
  • Size: 8.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for espminer_optim-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 eb3d785e15c3e46ee007acfcbd94511ef69854b7ce5d90793b811ed5d9c583e0
MD5 9df8a6011bd0276bd4a01467ed86fbc7
BLAKE2b-256 1d5c3d1eda6e784875269e97809c8a31e8d923b66f115fd3898f53a9befa8ae1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page