github shufps/ESP-Miner-NerdQAxePlus v1.0.34.1

4 hours ago

Version 1.0.34 – Summary

The 1.0.34 release introduces OTP protection, one-click firmware updates, multi-language support, and NerdQX and "6 phase" NerdOctaxe-Gamma (aka 6ph-Ocho 🤪) integration — along with numerous fixes and refinements for improved stability.

OTP

The release adds One-Time Password (OTP) security — a much more robust alternative to static web passwords.

The device now supports registering Authy or Google Authenticator via a QR code displayed on its screen, providing a lightweight, local second factor for the Web UI — without requiring TLS. During setup, you simply scan the QR code with your authenticator app. From then on, sensitive actions such as changing the BTC address or key settings must be confirmed using a 6-digit TOTP code.

Unlike fixed “admin passwords,” these codes are derived from a random secret using HMAC-SHA1 and time-based counters. They change every 30 seconds, cannot be reused, and are never exposed in the Web UI. This makes them immune to guessing, sharing, or accidental leaks.

While TOTP is not a full authentication solution for exposed setups (HTTPS with proper credentials is still recommended), it adds strong, pragmatic protection for LAN-only use — a real cryptographic barrier against trivial misuse over plain HTTP.

GitHub One-Click Update

Another major improvement is the one-click firmware update, which lets users easily select and install any available firmware version, including pre-releases. Once started, the update runs as a background task — independent of the HTTP server — for maximum reliability.

Previously, while firmware OTA updates already used a dedicated secondary partition for safety, the web interface (www) partition had to be updated directly from browser uploads. This was fragile: reloads, timeouts, or network hiccups could corrupt the partition and require recovery mode.

The new approach downloads the entire web partition in the background first, then applies the update in one atomic step — eliminating corruption risks almost entirely. As a result, web updates are now faster, safer, and far more robust.

This feature was a collaborative effort between @foXaCe and @shufps.

Language Support

Many thanks to @foXaCe, who contributed full translation support and localization for four different languages!

NerdQX

The release also introduces NerdQX support, which brought extensive internal refactoring. One of the larger changes was a revision of the display state machine and the power manager loop. The latter now operates with a fixed timer interval, improving the PID controller’s accuracy by ensuring a consistent sampling frequency.

NerdOctaxe-Gamma with 6 phases

The release also adds support for the new 6-phase NerdOctaxe-Gamma. Developed by @BitMaker-hub, this enhanced design introduces two extra power phases, resulting in improved thermal efficiency and much higher overclocking potential.

Miscellaneous

1.0.34 includes numerous bug fixes and stability improvements. Version 1.0.33 had to be withdrawn after reports of black screens, Wi-Fi crashes, and other issues — traced back to the ESP-IDF 5.3.3 toolchain. Reverting to ESP-IDF 5.3 resolved these problems, and 1.0.34 restores full stability.

From 1.0.33

That release brought major improvements to hashrate accuracy, monitoring, and stability. Hashrate is now read directly from the ASICs, providing instant precision. Additional enhancements include one-minute metrics, duplicate share tracking, extranonce subscription for better pool compatibility, and Discord block notifications and the BTC price ticker was fixed, and ESP-IDF was updated to 5.3.3.

Changelog

Fixes and Improvements in 1.0.34

  • Fixed wrong bestDiff / bestSessDiff values on Swarm for BitAxes (#351)
  • Added ~12.5 W headroom for NerdQAxe++ to ensure stable operation at 800 MHz / 1250 mV (#347)
  • Fixed LVGL realloc implementation — the previous version was inconsistent and potentially incorrect (#344)
  • Allowed web update and restart without OTP in recovery mode (#341)
  • Revised CORS handling (#335)
  • Revised file handler implementation (#336)
  • Made lwIP use PSRAM (#352)
  • Fixed saving endpoint for Discord alerts — the Web UI used the wrong one after OTP integration (#334)
  • Fixed AP connection logic and automatic recovery after Wi-Fi outages (#332)
  • Fixed static XXXX SSID display on the portal screen (#332)
  • Added OTP with “remember this device for 24 h” session tokens (#317, #318, #319, #363)
  • Added direct GitHub updates with release selection, changelog preview, and pre-release option (#313, #328, thanks to @foXaCe and @shufps)
  • Added NerdQX support (#310)
  • Added full Web UI translation in four languages (#290, @foXaCe)
  • Added ping loss % display on the dashboard (#293, @Aga-UU)
  • Reverted ESP-IDF 5.3.3 to 5.3 to fix Wi-Fi crashes 🙈 (#339)
  • 6 phase NerdOctaxe-Gamma support @BitMaker-hub (#365)
  • quick-link to solomining pool (#362)
  • fan metrics are not pushed to influx (#360)

Changes previously introduced in 1.0.33

  • Uses hardware hash counter registers on BM1366, BM1368, and BM1370 for accurate hashrate reporting (#276, #279, #280, #283, #294)
  • Added hashrate_1m metric to InfluxDB for finer monitoring (#286)
  • Device now counts duplicate shares for improved stability insight (#273)
  • Added extranonce subscribe option for pool compatibility (e.g. Nicehash) (#270)
  • Added Discord webhook alerts when a block is found (#269)
  • Exported found block variable on the info endpoint (#267)
  • Fixed BTC price ticker (and updated ESP-IDF from 5.3 → 5.3.3) (#265)

Don't miss a new ESP-Miner-NerdQAxePlus release

NewReleases is sending notifications on new releases.