Skip to main content

⚡️ 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

Metadata

Release files for espminer-optim 0.0.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for espminer-optim 0.0.9
File Size Uploaded
espminer_optim-0.0.9.tar.gz 7.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for espminer-optim 0.0.9
File Interpreter ABI Platform
espminer_optim-0.0.9-py3-none-any.whl Python 3 none any Details

Total release size: 15.9 kB

Release files / espminer_optim-0.0.9.tar.gz

Download URL espminer_optim-0.0.9.tar.gz
Size 7.8 kB
Tags Source
SHA-256 checksum
How to use checksums
9853d9501f485df90288ced7c10646ad0a0c00433ab106c40893007e7001f8bc
BLAKE2b-256 checksum
How to use checksums
aa241dd3db5d4cf328bc37bfa78b9a93e806da1e4bde8203e40e213da0572471
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Release files / espminer_optim-0.0.9-py3-none-any.whl

Download URL espminer_optim-0.0.9-py3-none-any.whl
Size 8.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
eb3d785e15c3e46ee007acfcbd94511ef69854b7ce5d90793b811ed5d9c583e0
BLAKE2b-256 checksum
How to use checksums
1d5c3d1eda6e784875269e97809c8a31e8d923b66f115fd3898f53a9befa8ae1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Release history Release notifications | RSS feed

This release

0.0.9 This release

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page