FirmwareAPI DocumentationLUXminer commands

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 HashboardVoltageMin and HashboardVoltageMax values reported by limits (2.00 to 2.75 on 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 | jq

Examples

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

ParameterNotes
session_idA valid session ID. See Session Management for details.
board_idID of a detected, running board.
voltageHashboard voltage in volts, within HashboardVoltageMin..HashboardVoltageMax.

Field details

FieldNotes
BoardID of the board that was changed.
HashboardVoltageThe 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:

CodeReason
400Missing board_id, or no voltage was sent.
401Invalid 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.
406A parameter after board_id had no = in it.
408Unknown key. Only voltage is accepted, and keys are case-sensitive.
410The miner is curtailed to idle or sleep.
416ATM is running.
438This miner has no voltage regulator on each hashboard.

On this page