Skip to content

dustinb/settle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Settle

Settle is yet another Bitaxe tuner. It's goal is to keep the Bitaxe at a target ASIC temperature while at the same time tuning out errors. I have my Bitaxe in the garage where the ambient temperature can change a lot. It's simple in practice, no PID tuning or complex algorithms.

Adjustment & Tuning

The "algorithm" can be described like this

Settle Algorithm

  1. Collect metrics every 10 seconds, keeping some averages for hash rate or error rate.
  2. At the adjustment interval (15m default) decide to increase, decrease, or keep frequency (no adjustment) depending on temp and power usage.
  3. If an adjustment was done we're in tuning mode T1. Core voltage is dropped until expected hash rate is below expected or asic errors is above threshold (0.10). This is so we can have decent efficienty in T2.
  4. After T1 finishes we're in tuning mode T2, error correction. Core voltage is raised until expected hash rate and errors are tuned out. Settling on an efficient voltage.
  5. Repeat

Pre Check

NOTE It's importent before running to copy settings.example.yaml to settings.yaml and set your desired temperature range and maxPower for your power supplies. If you have one of those standard 6A 5V power supplies using the 80% rule it would be 24 watts.

The Bitaxe has good temperature overheat protection but it can't protect from overloading a power supply. Use at your own risk and monitor.

You can override some settings per Bitaxe if needed.

defaults:
  tempLow: 61
  tempHigh: 65
  maxPower: 29
overrides:
  Supra401:
    maxPower: 24

I'm running Settle 24/7 controlling 7 Bitaxe, streaming it live here https://www.youtube.com/watch?v=DPI6yd_cu6A

Running

Install the Go programming language https://go.dev/doc/install.

Copy settings.example.yaml to settings.yaml and update this for your needs.

Run with go run main.go. By default Settle will try and find all Bitaxe. To limit which Bitaxe are tuned pass the host names go run main.go Supra401 Gamma_led1

Building

To build as a binary

go build
./settle

About

Bitaxe temperature tuner

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published