Skip to content

v1.0.35

Latest

Choose a tag to compare

@shufps shufps released this 28 Nov 16:47
df3babb

Summary

Dual Pool

The firmware now supports true Dual Pool mining, allowing the device to mine on two pools in parallel. Jobs from both pools are interleaved at the default job-switching interval (500 ms on BM1370 devices), without disconnecting or alternating Stratum sessions. Each pool receives a continuous stream of work and reports its assigned hashrate accurately. Dual Pool is supported on all Nerd*Axes — including the smallest NerdAxe with a single BM1366.

image

Under the hood, jobs from both Stratum connections are multiplexed into a single ASIC job stream using a Bresenham-based load-balancing algorithm. Returned nonces are routed back exclusively to the pool that provided the corresponding job.

The pool ratio can be configured in 1% increments. For example, an 80%/20% split allocates 80% of the hashrate to Pool 1 and 20% to Pool 2.

Note: At extremely low ratios (e.g., 99%/1%), a pool may attempt to reduce its difficulty below the ASIC’s minimum supported hardware difficulty. Mining continues to function correctly and all shares remain valid, but the pool’s hashrate estimate may become inaccurate. When this occurs, the UI marks the affected pool with an orange badge and a tooltip indicating that the ratio is too low.

Stratum Settings Reload

When you change and save Stratum settings — such as host, port, username, password, or the Dual Pool balance — the miner now reloads the configuration immediately and reconnects to the pools on the spot.
A reboot is no longer required.

Graphs switched to Chip Hashrate

In v1.0.34.1, the main hashrate display (top left, above “Expected Hashrate”) was already updated to use the more accurate Chip Hashrate. However, the graph still showed the older Stratum-share-based estimation.
This has now been unified: the graphs also use Chip Hashrate.

Because the new measurement stabilizes much faster, a 1-minute graph has been added as well.

Soft Power-Off

Holding both buttons for 5 seconds triggers a Soft Power-Off.
The miner disables the ASIC voltage regulator and suspends all running tasks, allowing you to safely shut down the device before disconnecting it from power.

HTTP Server Improvements

The ESP32 HTTP server now reliably terminates all HTTP connections on its own, preventing lingering or half-open sockets and avoiding socket exhaustion.
This should finally resolve the long-standing Web-UI unavailability issues that were reported repeatedly over the past several months.

PRs:

  • handle file not found errors properly (prevents weird error with first page load empty after update) #415
  • revised websocket handling. Fixes corrupted http API response when switching from the log view to e.g. dashboard #414
  • switch bestDiff and bestSessionDiff to number on the API #410
  • wait for display animations to be finished before new page changes are possible (fixes fw crash on multiple presses of the page switch button) #409
  • toggle pool information on pool settings page on the display in dual pool mode #406
  • revised alerting for the VREG #348
  • don't print chip temps when all are 0 #373
  • force closing http connections from esp32 http server side #374
  • fix language caching #375
  • fixed inconsistent use of fanspeed field #378
  • added soft-power off (press both buttons for 5s) #376
  • use hashrate from chip registers instead of estimated stratum shares #384
  • Added 1m graph #384
  • switched to free running counters for better accuray #384
  • save visibility of graphs in the browser store #384
  • optimized PSRAM usage (reduced by approx 2.5MB) #384
  • refactored code (for example ping_task.cpp/h that is now c++ object and instantiated two times, for each pool conection once) #384
  • finished integrating dual pool feature into the web UI #384
  • allow empty wifi password and open wifi auth #397
  • reload stratum config and reconnect if it changed without reboot #398
  • fixed fallbackStratumPassword that was saved as ***** #398
  • swarm supports dual pool too now #397
  • removed fan auto polarity detection and disabled invertPolarity config flag once via config migration (and fixed default invert polarity flag for nerdaxes and fixed emc2101 init code) #403
  • fix display autoscreen-off #405