Skip to content

Auto-Tuning Capabilities#1152

Closed
KillerInk wants to merge 143 commits intobitaxeorg:masterfrom
KillerInk:master_autoclock
Closed

Auto-Tuning Capabilities#1152
KillerInk wants to merge 143 commits intobitaxeorg:masterfrom
KillerInk:master_autoclock

Conversation

@KillerInk
Copy link
Contributor

What This Does

This PR introduces a new set of features that significantly enhance the auto-tuning capabilities of the ESP-Miner. The auto-tune functionality is crucial for optimizing mining performance by adjusting key parameters such as power limit, fan speed, voltage, and frequency based on real-time conditions.

Auto-Tune Enhancements:

  • Dynamic Power Management: Users can now adjust the power limit to ensure optimal energy usage while maintaining high hashrates.
  • Temperature Control: Fine-tuning fan limits allows for better thermal management, preventing overheating and potential hardware damage.
  • Voltage and Frequency Adjustments: The ability to modify step voltage and frequency settings helps in achieving the best possible performance from ASICs under varying conditions.

Benefits:

  • Optimized Performance: By dynamically adjusting parameters, users can maximize mining efficiency and profitability.
  • Improved Hardware Longevity: Better temperature control and power management contribute to the longevity of the mining hardware.
  • Remote Configuration: The API-driven approach allows for remote adjustments, making it easier to manage multiple miners or integrate with external monitoring systems.

By enhancing the auto-tuning features, this PR aims to provide users with more control over their mining operations, leading to improved performance and potentially higher returns.

@github-actions
Copy link

github-actions bot commented Jul 17, 2025

Test Results

23 tests  ±0   23 ✅ ±0   0s ⏱️ ±0s
 1 suites ±0    0 💤 ±0 
 1 files   ±0    0 ❌ ±0 

Results for commit 0b98d3e. ± Comparison against base commit f843079.

♻️ This comment has been updated with latest results.

@KillerInk
Copy link
Contributor Author

this is related to #1099

@KillerInk KillerInk marked this pull request as draft July 18, 2025 03:47
@KillerInk
Copy link
Contributor Author

have to extend the chart, that it shows the applied voltage, frequency and fanspeed to have somekind of feedback for the user what is is happening.

@duckaxe
Copy link
Collaborator

duckaxe commented Jul 20, 2025

Still draft?

@KillerInk
Copy link
Contributor Author

Yes hope I have tomorrow time to extend the chart and add the missing stuff on esp side to statistic and livedata.
Think that my current chart is a little overdone and contains to many datasets.
Or I keep it as it is and add it as extra menu item where the dashboard, pool, update items are.
But then I still have to cleanup unused datasets.
I'm open to every suggestion

@KillerInk KillerInk marked this pull request as ready for review July 21, 2025 10:06
@KillerInk
Copy link
Contributor Author

Unbenannt-1

@duckaxe
Copy link
Collaborator

duckaxe commented Jul 23, 2025

Maybe it's a good idea to wait for #955 before any changes on the home chart?

@KillerInk
Copy link
Contributor Author

Maybe it is, no hurry. will keep this up to date with master

@KillerInk
Copy link
Contributor Author

well the chart part is more or less obsolete with #955
so i can drop it an keep only the settings part

@KillerInk KillerInk requested review from 0xf0xx0 and mutatrum December 8, 2025 13:17
Copy link
Contributor

@0xf0xx0 0xf0xx0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seems to not pay attention to when auto fan control is enabled, switched to manual at 90% and it started dropping the clock

Image

description: Internal server error

/api/system/autotune:
post:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

minor nit: could the endpoint be PATCH like the axe config endpoint?

Comment on lines 979 to 1017
type: object
properties:
power_limit:
type: number
description: Power limit (in watts)
fan_limit:
type: number
description: Fan speed limit (%)
max_voltage_asic:
type: number
description: Maximum voltage for ASIC chips (volts)
max_frequency_asic:
type: number
description: Maximum frequency for ASIC chips (MHz)
max_temp_asic:
type: number
description: Maximum temperature for ASIC chips (°C)
auto_tune_hashrate:
type: boolean
description: Whether autotuning is enabled to optimize hashrate
overshot_power_limit:
type: number
description: Power limit during overshot conditions (watts)
overshot_fanspeed:
type: number
description: Fan speed limit during overshot conditions (%)
max_temp_vr:
type: number
description: Maximum temperature for VR (°C)
required:
- power_limit
- fan_limit
- max_voltage_asic
- max_frequency_asic
- max_temp_asic
- auto_tune_hashrate
- overshot_power_limit
- overshot_fanspeed
- max_temp_vr
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same nit here, named AutotuneResponse? just Autotune?

Comment on lines +69 to +82
//all after that get not read when looping through the settings,but is still avail due nvs
NVS_CONFIG_COUNT,

NVS_CONFIG_KEY_POWER_LIMIT,
NVS_CONFIG_KEY_FAN_LIMIT,
NVS_CONFIG_KEY_MAX_VOLTAGE_ASIC,
NVS_CONFIG_KEY_MAX_FREQUENCY_ASIC,
NVS_CONFIG_KEY_MAX_TEMP_ASIC,
NVS_CONFIG_KEY_AUTO_TUNE_ENABLE,
NVS_CONFIG_KEY_OVERSHOT_POWER_LIMIT,
NVS_CONFIG_KEY_OVERSHOT_FAN_LIMIT,
NVS_CONFIG_KEY_MAX_TEMP_VR,
NVS_ALL_CONFIG_COUNT

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this feels weird but idk

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Its there that http server dont have to check not used keys for the info

isUsingFallbackStratum: boolean,
poolAddrFamily: number,
frequency: number,
frequencySet: number,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

whats this for?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Its for the settings to show the frequency from the config and not that one used by auto tune.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

grafik without it it looks like this

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

grafik with it like this

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hmm, i think i prefer the furst as its easier to adjust the autotune if it gets confused. i got it into a state where it was holding a high voltage and low clock to reach the target temp instead of doing the opposite.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that still do work. i only show the saved frequency in nvs as it would be expected. when you set the frequency it gets applied.

@KillerInk
Copy link
Contributor Author

seems to not pay attention to when auto fan control is enabled, switched to manual at 90% and it started dropping the clock
Image

yes its the old problem. i gonna workaround inside autotune

… same for target temp when switching back to pid
@KillerInk KillerInk closed this Dec 11, 2025
@mutatrum mutatrum reopened this Dec 11, 2025
@0xf0xx0
Copy link
Contributor

0xf0xx0 commented Dec 27, 2025

10m avg tuning is a lot more stable :D im lovin it

@kakulukia
Copy link
Contributor

Whats currently missing for this branch to be merged?

@mutatrum
Copy link
Collaborator

Whats currently missing for this branch to be merged?

Time to review. It's a really big change and it needs proper attention. You can help by also reviewing the code.

# Conflicts:
#	main/http_server/axe-os/src/app/services/system.service.ts
#	main/http_server/axe-os/src/models/ISystemInfo.ts
#	main/http_server/http_server.c
@KillerInk KillerInk closed this Feb 5, 2026
@KillerInk KillerInk deleted the master_autoclock branch February 5, 2026 10:57
@WantClue
Copy link
Collaborator

WantClue commented Feb 5, 2026

@KillerInk why closed ?

@KillerInk
Copy link
Contributor Author

I'm bored and dont think its desired. Good luck with the project.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request help wanted Extra attention is needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants