ESP-Miner NerdQAxePlus V3.4 - TNA Edition LAN and OVERCLOCKING READY
ESP-Miner NerdQAxePlus V3.4 - TNA Edition LAN and OVERCLOCKING READY
요약
NerdQAxePlus LAN Edition은 ESP32-S3와 Bitmain ASIC 칩 기반의 오픈소스 비트코인 솔로 채굴기에 WIZnet W5500 하드웨어 이더넷을 통합한 펌웨어 프로젝트입니다. Wi-Fi 단독 운용의 연결 불안정 문제를 유선 이더넷으로 해결하고, 이더넷 장애 시 Wi-Fi로 자동 전환하는 듀얼 네트워크 구조를 구현했습니다. 24/7 무중단 채굴이 요구되는 환경에서 W5500이 네트워크 안정성의 핵심 인프라로 자리잡은 실질적인 사례입니다.
개요 — 홈 채굴기의 아킬레스건, 네트워크 불안정
비트코인 솔로 채굴은 낮은 확률의 보상을 노리는 장기 게임입니다. 채굴기가 멈추거나 풀 연결이 끊기는 순간, 그 시간만큼의 해시 연산은 그대로 손실됩니다. 특히 홈 환경에서 Wi-Fi만으로 운용하는 소형 채굴기는 무선 간섭, 라우터 재시작, 신호 약화 등의 이유로 예기치 않은 연결 단절이 발생하기 쉽습니다.
NerdQAxePlus는 ESP32-S3와 Bitmain의 BM1366 / BM1368 / BM1370 ASIC 칩을 조합한 오픈소스 비트코인 채굴기입니다. 컴팩트한 폼팩터와 웹 기반 운용 환경(AxeOS)으로 메이커 커뮤니티에서 주목받아온 플랫폼이지만, 기존 구조는 Wi-Fi 연결에만 의존하고 있었습니다. 이 프로젝트는 그 한계를 WIZnet W5500 SPI 이더넷 컨트롤러를 통해 해결합니다.
하드웨어 구성 — NerdQAxePlus가 무엇인가

NerdQAxePlus는 BitAxe 생태계에서 파생된 플랫폼으로, 다양한 보드 변형을 지원합니다.
- MCU: ESP32-S3 (Dual-core LX7, 8MB Flash, 8MB PSRAM)
- ASIC 칩: BM1366 / BM1368 / BM1370 (보드 종류에 따라 1~4개 탑재)
- 디스플레이: ST7789 LCD (해시율, 온도, 풀 상태 실시간 표시)
- 전원: 12V DC 입력
- 펌웨어: AxeOS (ESP-IDF v5.3.4 기반, C/C++)
지원 보드 라인업은 다음과 같습니다.
| 보드명 | ASIC 칩 | 칩 수 |
|---|---|---|
| NerdQAxe+ | BM1368 | 4개 |
| NerdQAxe++ | BM1370 | 4개 |
| OctaXe+ / OctaXeGamma | BM1370 | 8개 |
| QX | BM1370 | 4개 |
각 보드는 동일한 펌웨어 코드베이스를 공유하며, 빌드 시 BOARD 환경변수로 타깃을 지정합니다.
아키텍처 — 듀얼 네트워크 + 듀얼 풀 구조
이 구조의 핵심은 네트워크 이중화와 풀 이중화를 동시에 구현했다는 점입니다. W5500이 메인 네트워크 경로를 담당하고, 이더넷 타임아웃 또는 링크 단절이 감지되면 Wi-Fi로 자동 전환합니다. 두 개의 채굴 풀(Primary + Fallback)을 병렬로 운용할 수 있어 특정 풀 장애 시에도 채굴을 중단 없이 이어갑니다.
W5500이 이 시스템에서 하는 일
비트코인 채굴은 Stratum 프로토콜을 통해 풀 서버와 지속적인 TCP 연결을 유지합니다. 새로운 채굴 작업(job)을 수신하고, 유효한 해시를 발견하면 즉시 제출해야 합니다. 이 과정에서 TCP 연결이 끊기거나 지연이 발생하면 채굴 기회를 잃게 됩니다.
W5500은 TCP/IP 스택을 하드웨어로 처리하는 이더넷 컨트롤러입니다. ESP32-S3가 소프트웨어로 네트워크 스택을 처리하는 대신, W5500이 이를 전담함으로써 MCU의 연산 자원이 ASIC 제어와 채굴 로직에 집중될 수 있습니다.
이 프로젝트에서의 W5500 연결 구성은 다음과 같습니다.
| SPI 핀 | GPIO |
|---|---|
| MOSI | GPIO 12 |
| MISO | GPIO 16 |
| SCLK | GPIO 2 |
| CS | GPIO 21 |
| INT | 미연결 (폴링 모드) |
W5500 모듈은 Cat5e/Cat6 이더넷 케이블을 통해 라우터에 직결됩니다. DHCP 자동 할당과 Static IP 수동 설정을 모두 지원하며, 네트워크 모드 전환(이더넷 ↔ Wi-Fi)은 웹 UI의 Settings → Network에서 재부팅 없이 선택할 수 있습니다.
기술 특징 — 안정성과 운용성을 높이는 설계 포인트
이 펌웨어는 단순한 이더넷 추가에 그치지 않고, 프로덕션 환경을 고려한 운용 기능을 폭넓게 갖추고 있습니다.
네트워크 관련
- 런타임 네트워크 모드 전환 (재부팅 후 적용)
- 이더넷 장애 시 Wi-Fi 자동 Failover
- WPA2/WPA3 지원, AP 폴백 모드 (설정 복구용)
채굴 운용
- 듀얼 풀 모드: Primary + Fallback 풀 병렬 운용
- ASIC 주파수(MHz) 및 전압(mV) 개별 조정
- 온도 상한선 설정으로 과열 보호
모니터링
- InfluxDB 연동으로 해시율, 온도, 전력, 지분(Share) 수를 장기 기록
- Grafana 대시보드 템플릿 제공 (저장소 내 monitoring 폴더)
- Discord 웹훅으로 블록 발견, 풀 단절, 온도 경고 등 실시간 알림
보안
- TOTP(2FA) 기반 관리자 인증
- API 액세스 토큰
W5500 활용 구조 — 하드웨어 이더넷이 채굴기에서 갖는 의미
홈 채굴기에 유선 이더넷을 더하는 선택은 단순한 편의 기능이 아닙니다. 24/7 무중단 운용이 전제된 환경에서 네트워크 레이어의 안정성은 수익과 직결됩니다.
Wi-Fi 기반 구조에서 ESP32-S3는 무선 스택과 채굴 로직, ASIC 제어를 동시에 처리해야 합니다. 여기에 W5500을 추가하면 TCP/IP 처리가 하드웨어 오프로딩되어 ESP32의 부하가 분산됩니다. 특히 오버클러킹 상태에서 ASIC 칩의 연산 빈도가 높아질수록, MCU가 네트워크 처리에 소비하는 사이클을 줄이는 것이 전체 시스템 안정성에 유리합니다.
실제 적용 시나리오:
- 소형 홈 채굴 팜: 복수의 NerdQAxePlus를 스위치에 유선 연결 → Wi-Fi 간섭 없이 독립적 네트워크 경로 확보
- 무선 환경이 불안정한 지하/창고 설치: W5500으로 유선 연결, Wi-Fi는 Failover 전용으로 유지
- ASIC 오버클러킹 운용: MCU 부하를 낮춰 오버클러킹 상태에서의 시스템 안정성 향상
- 원격 무인 운용: InfluxDB + Grafana + Discord 알림 연동으로 물리적 접근 없이 상태 감시
비즈니스 가치
사용자 관점에서 이 구조가 제공하는 가치는 명확합니다. 채굴기의 가동률(Uptime)이 곧 기대 수익률이기 때문입니다. Wi-Fi 단절로 인한 수 분, 수 시간의 다운타임을 유선 이더넷으로 최소화하는 것은 직접적인 운용 효율 향상으로 이어집니다.
WIZnet 관점에서는 이 프로젝트가 중요한 레퍼런스입니다. BitAxe 생태계는 전 세계 수천 명의 메이커와 개발자가 참여하는 오픈소스 하드웨어 커뮤니티입니다. 이 생태계에서 W5500이 "안정적인 이더넷 솔루션"으로 채택된다는 것은 단순한 단일 프로젝트를 넘어, 파생 프로젝트와 후속 설계로의 확산 가능성을 의미합니다. ESP32-S3 + W5500 조합은 이미 이 프로젝트가 검증한 SPI 연결 레퍼런스로 활용될 수 있습니다.
한계 및 개선 방향
이 프로젝트는 실용적인 문제를 잘 해결했지만, 구조적으로 개선할 여지도 있습니다.
현재 한계
- INT 핀 미연결 (폴링 모드): W5500의 인터럽트 핀을 사용하지 않고 폴링 방식으로 동작 → 네트워크 이벤트 반응 속도가 인터럽트 방식 대비 느릴 수 있음
- Failover 전환 지연: 이더넷 타임아웃 감지 후 Wi-Fi 세션 재수립까지 Stratum 연결이 일시 단절될 수 있음
- 포크 유지보수 불확실성: 원본 저장소 대비 커밋 수가 적어 장기 업데이트 지속 여부가 불명확
개선 방향
- INT 핀 활성화: GPIO에 인터럽트를 연결하면 네트워크 이벤트를 즉시 감지할 수 있어 Stratum 재연결 속도 개선 가능
- Failover 시간 최소화: 이더넷 링크 감지 주기를 단축하고, Wi-Fi 사전 연결 상태를 유지하는 방식으로 전환 지연 축소 가능
- PoE 모듈 연계: W5500에 PoE 모듈을 결합하면 전원선과 네트워크선을 단일 케이블로 통합 가능 → 설치 복잡도 대폭 감소
FAQ
Q. 기존 NerdQAxePlus 보드에 이 펌웨어를 바로 올릴 수 있나요? A. NerdQAxe+, NerdQAxe++, OctaXe+, OctaXeGamma, QX 보드를 지원합니다. 다만 이더넷 기능을 사용하려면 W5500 SPI 모듈을 별도로 연결해야 합니다. Wi-Fi 전용으로 사용한다면 기존 보드에 추가 하드웨어 없이 플래싱 가능합니다.
Q. W5500 모듈 연결이 어렵지 않나요? A. SPI 4선(MOSI, MISO, SCLK, CS)과 전원(3.3V/GND)만 연결하면 됩니다. GPIO 번호가 문서에 명시되어 있어 점퍼 와이어로 연결하는 수준의 난이도입니다. INT 핀은 현재 사용하지 않으므로 연결하지 않아도 됩니다.
Q. 이더넷과 Wi-Fi를 동시에 사용할 수 있나요? A. 동시 사용이 아닌 Active/Standby 구조입니다. 웹 UI에서 이더넷 모드를 선택하면 이더넷이 주 경로가 되고, 이더넷 장애 시 Wi-Fi로 자동 전환됩니다. 두 네트워크에 동시에 데이터를 전송하는 방식은 아닙니다.
Q. InfluxDB와 Grafana 연동이 복잡한가요? A. 저장소 내 monitoring 폴더에 Docker Compose 기반의 설치 스크립트와 Grafana 대시보드 템플릿이 포함되어 있습니다. 몇 가지 bash 명령으로 로컬 모니터링 환경을 구성할 수 있습니다.
Q. 채굴 풀은 어떻게 설정하나요? A. 웹 UI의 Pool Settings에서 Primary 풀과 Fallback 풀을 각각 설정합니다. Stratum URL, 포트, 비트코인 지갑 주소를 입력하면 됩니다. Public Pool, Solo CKPool, Ocean Mining 등 표준 Stratum 프로토콜을 지원하는 풀이라면 모두 호환됩니다.
프로젝트 GitHub 저장소: → https://github.com/CryptoIceMLH/ESP-Miner-NerdQAxePlusLAN
원본 NerdQAxePlus 저장소: → https://github.com/shufps/ESP-Miner-NerdQAxePlus
Summary
NerdQAxePlus LAN Edition is a firmware project that integrates WIZnet W5500 hardware Ethernet into an open-source Bitcoin solo miner built on the ESP32-S3 and Bitmain ASIC chips. It solves the chronic connectivity instability of Wi-Fi-only operation by introducing wired Ethernet, and implements a dual-network architecture that automatically falls back to Wi-Fi when Ethernet fails. This is a compelling real-world case where W5500 serves as the core network infrastructure in a 24/7 continuous operation environment.
Overview — The Achilles' Heel of Home Miners: Network Instability
Bitcoin solo mining is a long-game strategy built on low-probability rewards. Every moment the miner goes down or loses its pool connection, the hash computation for that period is lost entirely. In home environments, miners running solely on Wi-Fi are especially vulnerable to unexpected disconnections caused by wireless interference, router restarts, and signal degradation.
NerdQAxePlus is an open-source Bitcoin miner combining the ESP32-S3 with Bitmain's BM1366 / BM1368 / BM1370 ASIC chips. The platform has gained traction in the maker community for its compact form factor and browser-based management interface (AxeOS), but the original design was entirely dependent on Wi-Fi. This project addresses that limitation through the WIZnet W5500 SPI Ethernet controller.
Hardware Overview — What Is NerdQAxePlus?

NerdQAxePlus is a platform derived from the BitAxe ecosystem, supporting a range of board variants.
- MCU: ESP32-S3 (Dual-core LX7, 8MB Flash, 8MB PSRAM)
- ASIC Chips: BM1366 / BM1368 / BM1370 (Bitmain), 1–4 chips depending on board
- Display: ST7789 LCD (real-time hashrate, temperature, pool status)
- Power: 12V DC input
- Firmware: AxeOS (ESP-IDF v5.3.4, C/C++)
Supported board lineup:
| Board | ASIC Chip | Chip Count |
|---|---|---|
| NerdQAxe+ | BM1368 | 4 |
| NerdQAxe++ | BM1370 | 4 |
| OctaXe+ / OctaXeGamma | BM1370 | 8 |
| QX | BM1370 | 4 |
All boards share the same firmware codebase. The target board is specified via the BOARD environment variable at build time.
Architecture — Dual Network + Dual Pool Design
The defining feature of this architecture is the simultaneous implementation of network redundancy and pool redundancy. W5500 serves as the primary network path, and when an Ethernet timeout or link failure is detected, the system seamlessly switches to Wi-Fi. Two mining pools (Primary + Fallback) can be operated in parallel, ensuring uninterrupted mining even if one pool goes down.
What W5500 Does in This System
Bitcoin mining maintains a persistent TCP connection to a pool server via the Stratum protocol. New mining jobs must be received continuously, and any valid hash found must be submitted immediately. A dropped or delayed TCP connection means lost mining opportunities.
W5500 is an Ethernet controller that handles the TCP/IP stack entirely in hardware. Rather than having the ESP32-S3 process the network stack in software, W5500 takes over that responsibility — freeing the MCU's compute resources to focus on ASIC control and mining logic.
The W5500 connection configuration in this project:
| SPI Pin | GPIO |
|---|---|
| MOSI | GPIO 12 |
| MISO | GPIO 16 |
| SCLK | GPIO 2 |
| CS | GPIO 21 |
| INT | Not connected (polling mode) |
The W5500 module connects directly to a router via Cat5e/Cat6 Ethernet cable. Both DHCP auto-assignment and static IP configuration are supported. Network mode switching (Ethernet ↔ Wi-Fi) is available from the web UI under Settings → Network, taking effect after reboot.
Technical Features — Design Choices for Stability and Operability
This firmware goes well beyond simply adding Ethernet — it incorporates a broad set of production-grade operational features.
Network
- Runtime network mode switching (applied after reboot)
- Automatic Wi-Fi failover on Ethernet failure
- WPA2/WPA3 support with AP fallback mode for configuration recovery
Mining Operations
- Dual pool mode: parallel operation of Primary + Fallback pools
- Individual ASIC frequency (MHz) and voltage (mV) adjustment
- Temperature ceiling configuration for overheat protection
Monitoring
- InfluxDB integration for long-term logging of hashrate, temperature, power, and share counts
- Grafana dashboard template included (see
monitoringfolder in repository) - Discord webhook alerts for block found, pool disconnection, temperature warnings, and more
Security
- TOTP (2FA) administrator authentication
- API access tokens
Where W5500 Fits — What Hardware Ethernet Means for a Miner
Adding wired Ethernet to a home miner is not merely a convenience feature. In an environment that demands 24/7 uninterrupted operation, network layer stability is directly tied to profitability.
In a Wi-Fi-only setup, the ESP32-S3 must simultaneously handle the wireless stack, mining logic, and ASIC control. Adding W5500 offloads TCP/IP processing to hardware, distributing the MCU's workload. This matters especially under overclocking conditions — as ASIC computation frequency increases, reducing the cycles the MCU spends on network processing directly benefits overall system stability.
Practical deployment scenarios:
- Small home mining farm: Multiple NerdQAxePlus units wired to a switch → independent network paths without Wi-Fi interference
- Basement or storage installations with poor wireless coverage: W5500 provides the primary wired connection; Wi-Fi reserved as failover only
- Overclocked ASIC operation: Lower MCU load contributes to system stability under high-frequency conditions
- Remote unattended operation: InfluxDB + Grafana + Discord alerts enable full status monitoring without physical access
Business Value
From a user perspective, the value proposition is straightforward: miner uptime directly equals expected return. Minimizing downtime caused by Wi-Fi disconnections through wired Ethernet translates directly into improved operational efficiency.
For WIZnet, this project represents an important reference. The BitAxe ecosystem is an open-source hardware community with thousands of makers and developers worldwide. W5500 being adopted as the go-to Ethernet solution within this ecosystem means more than a single project — it signals the potential for organic spread across derivative projects and future designs. The ESP32-S3 + W5500 combination validated here can serve as a proven SPI integration reference for future builds.
Limitations and Improvements
This project solves a real problem effectively, but there are structural areas with room for improvement.
Current Limitations
- INT pin not connected (polling mode): The W5500 interrupt pin is unused; the system relies on polling instead → network event response may be slower compared to interrupt-driven operation
- Failover switchover latency: After Ethernet timeout detection, Stratum connection is briefly interrupted during Wi-Fi session re-establishment
- Fork maintenance uncertainty: Significantly fewer commits than the upstream repository raises questions about long-term update continuity
Improvement Directions
- Enable INT pin: Connecting the interrupt line to a GPIO enables immediate detection of network events, improving Stratum reconnection speed
- Minimize failover delay: Shortening the Ethernet link detection interval and maintaining a pre-connected Wi-Fi standby state can reduce switchover latency
- PoE module integration: Combining W5500 with a PoE module consolidates power and network into a single cable, significantly reducing installation complexity
FAQ
Q. Can I flash this firmware directly onto my existing NerdQAxePlus board? A. NerdQAxe+, NerdQAxe++, OctaXe+, OctaXeGamma, and QX boards are all supported. However, to use the Ethernet feature, a W5500 SPI module must be connected separately. For Wi-Fi-only use, the firmware can be flashed without any additional hardware.
Q. Is connecting the W5500 module complicated? A. Only 4 SPI lines (MOSI, MISO, SCLK, CS) plus power (3.3V/GND) need to be connected. GPIO assignments are clearly documented, making this a straightforward jumper wire connection. The INT pin is not currently used and does not need to be connected.
Q. Can Ethernet and Wi-Fi be used simultaneously? A. The system operates in an Active/Standby configuration, not simultaneous dual-path. When Ethernet mode is selected in the web UI, Ethernet becomes the primary path and Wi-Fi activates automatically on Ethernet failure. Data is not transmitted over both networks at the same time.
Q. Is setting up InfluxDB and Grafana integration difficult? A. The repository's monitoring folder includes Docker Compose-based installation scripts and a Grafana dashboard template. A local monitoring environment can be set up with a few bash commands.
Q. How do I configure mining pools? A. Primary and Fallback pools are configured separately under Pool Settings in the web UI. Enter the Stratum URL, port, and Bitcoin wallet address for each. Any pool supporting the standard Stratum protocol — including Public Pool, Solo CKPool, and Ocean Mining — is compatible.
Project GitHub Repository: → https://github.com/CryptoIceMLH/ESP-Miner-NerdQAxePlusLAN
Original NerdQAxePlus Repository: → https://github.com/shufps/ESP-Miner-NerdQAxePlus
