hashboardctrlset
Sets a hashboard's own controls
hashboardctrlset
Description
Sets the controls of a single hashboard at runtime, on miners that have a voltage regulator on each hashboard. Today
that is the Antminer Z15 Pro; on every other model the command returns error 438.
The parameters are the session_id, followed by the board_id, followed by a comma-separated list of key-value pairs
in the format key=value. The available keys are:
- voltage: the hashboard's core voltage, in volts. It must be within the
HashboardVoltageMinandHashboardVoltageMaxvalues reported by limits (2.00to2.75on the Z15 Pro, inclusive).
The voltage is rounded down to the regulator's 10 mV step, so 2.459 is applied as 2.45. The reply carries the
value actually requested of the regulator; use hashboardctrlget to see it once it has been
applied.
The board must be detected and running. On the Z15 Pro the board IDs are the connector IDs 0 to 3: the miner has
three boards on any three of its four connectors, so the IDs are not always 0, 1 and 2. Use
hashboardctrlget or devs to list them.
The change is live only. It is not written to the profile or the configuration, and autosave does not apply. The board goes back to its profile voltage on a profile change (including one made by ATM), on a board restart and on a reboot. A frequencyset keeps the voltage you set.
On Antminer Equihash ASIC miners the PSU voltage is fixed, so voltageset is rejected there; this command is how you change a hashboard's voltage on those models.
Command
$ echo '{"command": "hashboardctrlset", "parameter":"yJN2nlj1,1,voltage=2.53"}' | nc $MINER_IP 4028 | jqExamples
In this example, we set the voltage of board 1 to 2.53 V:
$ echo '{"command": "hashboardctrlset", "parameter":"yJN2nlj1,1,voltage=2.53"}' | nc $MINER_IP 4028 | jq
{
"HASHBOARDCTRL": [
{
"Board": 1,
"HashboardVoltage": 2.53
}
],
"STATUS": [
{
"Code": 385,
"Description": "LUXminer 2026.9.28.204000-ecdf06e",
"Msg": "Hashboard Control Set",
"STATUS": "S",
"When": 1790628000
}
],
"id": 1
}Parameters
| Parameter | Notes |
|---|---|
session_id | A valid session ID. See Session Management for details. |
board_id | ID of a detected, running board. |
voltage | Hashboard voltage in volts, within HashboardVoltageMin..HashboardVoltageMax. |
Field details
| Field | Notes |
|---|---|
Board | ID of the board that was changed. |
HashboardVoltage | The voltage requested of the regulator, in volts, after rounding down to the 10 mV step. |
Errors
As always, check the STATUS field rather than the Code to decide whether a command succeeded. The most common
reasons a hashboardctrlset call is rejected are:
| Code | Reason |
|---|---|
400 | Missing board_id, or no voltage was sent. |
401 | Invalid session_id; a board_id that does not exist or is not running; or a bad voltage, either not a number or outside the limits. |
406 | A parameter after board_id had no = in it. |
408 | Unknown key. Only voltage is accepted, and keys are case-sensitive. |
410 | The miner is curtailed to idle or sleep. |
416 | ATM is running. |
438 | This miner has no voltage regulator on each hashboard. |