Skip to main content

Add your description here

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.


🚀 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.3.tar.gz (6.2 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.3-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for espminer_optim-0.0.3.tar.gz
Algorithm Hash digest
SHA256 e6a922bb55bfb9827980f2d7440c9f9b643de115b23a1a7c19871ca6935d13ca
MD5 c093df618443f501e18e35b6af7beeb2
BLAKE2b-256 5b7cad5857c9edf046aa172ce335f5de26a0ed3c2307e8c81848c5b8d5965d96

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for espminer_optim-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 23fdd11da5a01142041886214cf9e5db773aca64fc335c17e9bf961410abdd73
MD5 7a3b7c125b14caafdac972ac377ea930
BLAKE2b-256 12efea949d1ed65c0803ba2082b13cee4b30af16c47352c28518ea5a52df0644

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