A Python-based benchmarking tool for optimizing Bitaxe mining performance by testing different voltage and frequency combinations while monitoring hashrate, temperature, and power efficiency.
- Automated benchmarking of different voltage/frequency combinations
- Temperature monitoring and safety cutoffs
- Power efficiency calculations (J/TH)
- Automatic saving of benchmark results
- Graceful shutdown with best settings retention
- Docker support for easy deployment
- Python 3.11 or higher
- Access to a Bitaxe miner on your network
- Docker (optional, for containerized deployment)
- Clone the repository:
git clone https://github.com/mrv777/Bitaxe-Hashrate-Benchmark.git
cd Bitaxe-Hashrate-Benchmark
- Create and activate a virtual environment:
python -m venv venv
# On Windows
venv\Scripts\activate
# On Linux/Mac
source venv/bin/activate
- Install dependencies:
pip install -r requirements.txt
- Build the Docker image:
docker build -t bitaxe-benchmark .
Run the benchmark tool by providing your Bitaxe's IP address:
python bitaxe_hashrate_benchmark.py <bitaxe_ip>
Optional parameters:
-v, --voltage
: Initial voltage in mV (default: 1150)-f, --frequency
: Initial frequency in MHz (default: 500)
Example:
python bitaxe_hashrate_benchmark.py 192.168.2.26 -v 1200 -f 550
Run the container with your Bitaxe's IP address:
docker run --rm bitaxe-benchmark <bitaxe_ip> [options]
Example:
docker run --rm bitaxe-benchmark 192.168.2.26 -v 1200 -f 550
The script includes several configurable parameters:
- Maximum chip temperature: 66°C
- Maximum VR temperature: 90°C
- Maximum allowed voltage: 1400mV
- Maximum allowed frequency: 1200MHz
- Benchmark duration: 20 minutes
- Sample interval: 30 seconds
- Voltage increment: 25mV
- Frequency increment: 25MHz
The benchmark results are saved to bitaxe_benchmark_results.json
, containing:
- Complete test results for all combinations
- Top 5 performing configurations ranked by hashrate
- For each configuration:
- Average hashrate
- Temperature readings
- Power efficiency metrics (J/TH)
- Voltage/frequency combinations tested
- Automatic temperature monitoring with safety cutoff (66°C chip temp)
- Voltage regulator (VR) temperature monitoring with safety cutoff (90°C)
- Graceful shutdown on interruption (Ctrl+C)
- Automatic reset to best performing settings after benchmarking
- Input validation for safe voltage and frequency ranges
- Hashrate validation to ensure stability
The tool follows this process:
- Starts with user-specified or default voltage/frequency
- Tests each combination for 20 minutes
- Validates hashrate is within 8% of theoretical maximum
- Incrementally adjusts settings:
- Increases frequency if stable
- Increases voltage if unstable
- Stops at thermal or stability limits
- Records and ranks all successful configurations
- Automatically applies the best performing stable settings
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Please use this tool responsibly. Overclocking and voltage modifications can potentially damage your hardware if not done carefully. Always ensure proper cooling and monitor your device during benchmarking.