Firmware (LuxOS)

LuxOS Features

Preset Profiles

LuxOS comes with built-in profiles that are linear steps of 25MHz and 0.1v both upwards and downwards from the OEM's EEPROM reading (miner nameplate settings). These profiles incorporate board voltage and chip frequencies settings and include options for standard, under-clocking, and over-clocking configurations. We strongly suggest to be careful with overclocking. Heavy overclocking especially in high temperatures and with certain hardware models can increase the likelihood of machine failures and damage.

For example, most jPro's 104T come with default voltage of 13.4v and 545MHz. Therefore, the built-in profiles will be as follows:

  • 13.2v, 495 MHz
  • 13.3v, 520 MHz
  • 13.4v, 545 MHz (DEFAULT)
  • 13.5v, 570 MHz
  • 13.6v, 595 MHz

Not every jPro 104T comes with the same nameplate voltage (13.4v). It's very likely you'll find 104T miners that use 13.2, 13.6 or even 13.8v as default voltage. Therefore, the built-in profiles might be different for each miner, even when it's the same model.

LuxOS auto-generates 16 steps of underclocking profiles and 8 steps of overclocking profiles following the linear steps previously described. Including the default profile, there are 25 built-in profiles in total for each miner. The Default profile represents the factory hashrate output and power consumption for that miner.

Frequency is the parameter that determines the output hashrate of a machine. For example, an S19 jPro at 545MHz will output 104TH/s, but at 525MHz it will output 100TH/s and 505MHz will output 96TH/s. A miner will need a minimum voltage to operate at different frequencies, as a rule of thumb the higher the frequency the more voltage will need to be supplied to a hashboard for a stable operation. The environmental conditions (temperature, humidity, etc), miner chip quality and age, PSU quality, etc, will influence the minimum required voltage to operate at the desired frequency.

LuxOS Preset Profiles

How to change profiles

  1. Go to the 'Preset Profiles' section.
  2. From the dropdown Preset Profiles menu, select your desired profile.
  3. Immediately after the new profile selection, you'll see the miner ramping to the new desired state and the chip HealthChecker will re-evaluate the status of the miner with the new settings.

As a rule of thumb, each profile step represents a change in hashrate of ~5 TH/s. This is an approximation and depends on each miner type chip and quantity of chips per board.

Temperature & Fans

LuxOS provides three user-customizable temperatures that drive different actions in the miner.

Temperatures reported by LuxOS are hashboard temperatures and shall not be confused with chip temperatures. For most S19 series miners, stock and other alternative aftermarket firmware's estimate chip temperatures by adding ~15C to the hashboard temperature sensors readings. Since chip temperatures are estimations, LuxOS shows hashboard temperatures only.

Most miners will have 4 temperature sensors per hashboard, although there are a few exceptions of miners coming with 2 temperature sensors per hashboard. LuxOS makes decisions based on the highest reading across all hashboard temperature sensors.

  • Target Temperature: Used for the fan algorithm. Once the maximum temperature reading reaches the Target Temperature threshold fan speeds will be set to 100% unless the LuxOS fan algorithm is overridden with Manual fans settings.

  • Hot Temperature: Used by ATM (Advanced Thermal Management) to drive steps up and steps down in profiles.

  • Dangerous Temperature: When any of the temperatures in a hashboards reaches this temperature the hashboard will be shutdown to prevent damage.

Temperature SettingDefaultFiber Glass HashboardsAluminium Hashboards
Target Temperature55C55C55C
Hot Temperature65CFor units with ATM enabled and if the user wants to experience less underclocking then increase this setting.To preserve the lifespan of the miner we don't increasing the hot temperature for sustained periods of time.
Dangerous Temperature70CMaximum of 75C, ideally a 5C buffer from your Hot Temperature for ATM to have enough room to cool-down a miner before it shuts down due to high temperatures.Maximum of 72C, ideally a 5C buffer from your Hot Temperature for ATM to have enough room to cool-down a miner before it shuts down due to high temperatures.

Automatic Fan Control

LuxOS provides a fan algorithm that automatically adjusts fan speeds based on the temperature of the miner. The fan algorithm is designed to keep the miner at the target temperature set by the user. LuxOS reads temperatures from the temperatures sensors once every seconds and adjusts fan speeds accordingly.

The following scenarios have a different fan behavior:

  1. If temperatures can't be read from any temperature sensor, the PSU is enabled and at least one hashboard is detected (regardless if it's enabled or disabled), fans will be set to 100% for safety reasons.
  2. If temperatures can't be read from any temperature sensor, the PSU is disabled or no hashboard is detected, fans will be set to 20%.
  3. If the miner is curtailed, fans will be set to 20%.

Manual Fan Control

If users wish to override the automatic fan control, they can set the fans to a specific percentage. In this scenario, LuxOS won't adjust the fan speed dynamically based on temperature. We suggest keeping the fans set to Automatic mode for the best performance and longevity of the miner. If immersion mode is enabled, all fans will be disabled entirely.

Advanced Thermal Management (ATM)

Advanced Thermal Management, is designed to adjust a miner's operating parameters (frequency & voltage) based on environmental conditions and user-defined settings and boundaries.

In high-heat environments, ATM will provide a smooth underclock as temperatures rise to prevent miners from shutting down due to high temperatures. Entering into the evening as heat dissipates ATM will drive the miners back to stock settings (or into overclock if user-configured). ATM does not require integrations, triggers, or human intervention to operate.

Additionally, ATM can be used as a lifespan-extending tool as with the right setting miners can decide to operate their equipment at a lower temperature which translates to lower failures and increased lifetime of the mining equipment.

ATM differentiates from Bitmain's Lower Power Mode as it provides a progressive underclock/overclock of the machine as needed throughout the day. For example, ATM might underclock a miner 3% between 10 AM and 11 AM, then 5% until 12 PM, then 10% until 4 PM then 5% until 6 PM and back to stock settings afterwards. While Bitmain's LPM will result in a 25% underclock from start to end. Additionally, Bitmain's LPM might not be enough to prevent miners from overheating in certain scenarios and LuxOS ATM can underclock as much as needed to keep a miner hashing.

ATM settings

  • Minimum Profile: The minimum profile sets the minimum boundary profile ATM can decrease to. By default the minimum profile is unbounded, meaning ATM will drop to the lowest profile available if required.

    If a relatively high power consumption (voltage & frequency) profile is configured as the minimum boundary ATM might not be capable of preventing the machine from overheating in high heat scenarios.

  • Maximum Profile: The maximum profile sets the top-end boundary profile ATM can increase to. By default, the EEPROM profile (stock settings) is used. Users can increase this setting but acknowledge that miners will draw more power.

    The maximum profile can not be unbounded. A maximum profile needs to be selected for ATM to operate. ATM will increase up to the maximum boundary if the temperature allows it to.

  • Temperature Buffer: This buffer refers to how many degrees C from Hot Temperature are required before increasing a profile.

    For example, if the observed hashboard maximum temperature is 59C, the temperature buffer is 5C and the Hot Temperature is 65C then ATM will increase a profile within its boundaries. However, if the observed maximum temperature is 63C then ATM will not increase a profile as it risks overshooting temperature by reaching the Hot Temperature and having to come back down again.

    Default value is 5C. If you want to recover nameplate hashrate quicker during hot days recommend setting this value closer to 2 or 3C.

  • Evaluate Up Minutes: This parameter determines the frequency in which ATM evaluates to increase a profile. Because heat can take some time to build up we recommend a 5-minute evaluation period. Although more conservative also prevents constant profile changes due to overshooting.

  • Evaluate Down Minutes: This parameter determines the frequency in which ATM evaluates to decrease a profile. We recommend setting it to 1-minute as when the temperature raises fast we want ATM to be able to react quickly to prevent a shutdown of a machine.

NoPIC Shutdown

LuxOS is able to run any miner (PIC & NoPIC) with a hashboard powered off. However, by default, LuxOS will power off NoPIC miners by powering off hashboards and disabling the PSU when a hashboard fails preventing from sending voltage to failing hashboards. This feature can be disabled by the user. To do so, go to the Advanced Settings section and disable the NoPICProtectionMode setting. Alternatively, users can disable this functionality through the API by calling the hashboardoptsset command or with LuxOS Commander (opens in a new tab).


As standard behavior, LuxOS will attempt to recover a hashboard that was powered off due to reaching the dangerous temperature. If the hashboard is still reaching the dangerous temperature after 5 attempts of being powered on, LuxOS will power off the hashboard and will not attempt to further recover it. This behavior can be disabled by the user. To do so, go to the Advanced Settings section and disable the OverTempAutoRecovery setting. Alternatively, users can disable this functionality through the API by calling the hashboardoptsset command or with LuxOS Commander (opens in a new tab). If this feature is disabled, LuxOS will turn off hashboards and disable the PSU when any hashboard reaches the dangerous temperature.

Miner Logs

You can view your ASIC miner's logs from the dashboard. Click on 'Logs' to see the current log, which is also available for export. Past logs can be accessed in the history section.

LuxOS Miner Logs

LuxOS Miner Logs


Note: For better support. download the log file before rebooting the miner. Reboots will clear the current logs when running on NAND.

Hashrate Splitting

A feature provided by LuxOS is hash rate splitting. It provides users the ability to allocate fractions of total hash rate generated by a machine to multiple pools. This feature may be useful for a wide variety of mining operators.

The math is simple enough to support payout configurations as simple or complex as needed. To set up hash rate splitting:

  1. Configure all of the pools and workers that will receive hash rate.
  2. Determine the allocations of hash rate per pool (for simplicity, use whole numbers that add to 100).
  3. Enter these numbers into the quota box of each group.

LuxOS Hashrate Splitting

Luxor Firmware's hashrate fractions are calculated dynamically. If a mining pool becomes unresponsive, the splitting feature automatically adjusts to distribute hash rate to the remaining mining pools accordingly.

Example In Figure 1, the quotas all add up to 100, so the percent of hashrate contributed to all 4 mining pools matches the quotas. Figure 2 shows the updated percentages to account for the removal of Pool 2 as a recipient of hashrate.

LuxOS Hashrate Splitting

Figure 1: All Pools Active

LuxOS Hashrate Splitting

Figure 2: Pool 2 Unresponsive