NMMiner is an optimized BTC mining firmware designed for ESP32-based development boards. With one-click deployment through the NMMiner Flash Tool, it provides an accessible entry point into cryptocurrency mining.
- ESP32 development boards with the following chips:
- ESP32-S3
- ESP32-D0
- ESP32-C3
-
Optimized Performance
- ESP32-D0: Up to 1,012 KH/s
- ESP32-S3: Up to 390 KH/s
- ESP32-C3: Up to 402 KH/s
-
Management Tools
- NMController Client: Windows desktop application (source code)
- Pre-compiled installers (x64 and x86) available in the
toolfolder
- Pre-compiled installers (x64 and x86) available in the
- NMController Web: Cross-platform Python implementation (source code)
- Compatible with Windows and macOS
- NMController Client: Windows desktop application (source code)
The following table shows the supported development boards and their performance metrics:
| Board | Performance | Chip |
|---|---|---|
| NM-TV-154 | 1010.9 KH/s | ESP32-D0 |
| ESP32 DEVKitC 32 | 1009.9 KH/s | ESP32-D0 |
| Heltec WiFi LoRa32 v2 | 1004.5 KH/s | ESP32-D0 |
| ESP32 2432S028R | 1004.3 KH/s | ESP32-D0 |
| ESP32 2432s024 | 1004.1 KH/s | ESP32-D0 |
| TTGO T-Display | 1004.2 KH/s | ESP32-D0 |
| ESP32 3248s035 | 1004.1 KH/s | ESP32-D0 |
| ESP32 CAM | 1004.1 KH/s | ESP32-D0 |
| ELECROW esp32 display 2.4inch | 1004.1 KH/s | ESP32-D0 |
| ELECROW esp32 display 2.8inch | 1004.1 KH/s | ESP32-D0 |
| WT32-SC01 | 857.1 KH/s | ESP32-D0 |
| Seeed XIAO ESP32-C3 | 396.9 KH/s | ESP32-C3 |
| Heltec WiFi Kit32 v3 | 400.9 KH/s | ESP32-S3FN8 |
| Heltec WiFi LoRa32 v3 | 400.7 KH/s | ESP32-S3FN8 |
| Heltec Wireless Stick Lite v3 | 399.3 KH/s | ESP32-S3FN8 |
| Heltec Wireless Stick v3 | 398.2 KH/s | ESP32-S3FN8 |
| NM Bot Chain v1 | 393.8 KH/s | ESP32-S3FN8 |
| Seeed XIAO ESP32-S3 | 393.7 KH/s | ESP32-S3FN8 |
| ESP32-S3 0.42" OLED | 392.1 KH/s | ESP32-S3 |
| LilyGO T-Display S3 AMOLED | 390.1 KH/s | ESP32-S3R8 |
| Heltec Vision Master T190 | 388.4 KH/s | ESP32-S3R8 |
| NM USB Chain v1 | 387.5 KH/s | ESP32-S3FN8 |
| LilyGO T-Dongle S3 | 385.3 KH/s | ESP32-S3R8 |
| LilyGO T-Display S3 | 384.5 KH/s | ESP32-S3R8 |
| Waveshare ESP32 S3 LCD 1.47 | 384.5 KH/s | ESP32-S3R8 |
| Waveshare ESP32 S3 LCD 1.47B | 383.5 KH/s | ESP32-S3R8 |
| Waveshare ESP32 S3 Touch LCD 35 | 380.3 KH/s | ESP32-S3R8 |
| ESP32-S3 Geek | 378.1 KH/s | ESP32-S3 |
| LilyGO T-QT | 361.1 KH/s | ESP32-S3FN8 |
| ESP32-C3 0.42" OLED | 315.1 KH/s | ESP32-C3 |
Boards equipped with only a boot button:
| Button | Action | Function |
|---|---|---|
| Boot | Long press | Enter miner configuration mode |
| Boot | Double click | Switch to next screen page (if display available) |
| Boot | Single click | Wake up screen (if display available) |
Boards with both boot and user buttons:
| Button | Action | Function |
|---|---|---|
| Boot | Long press | Clear all status from NVS (if feature enabled) |
| Boot | Single click | Wake up screen (if display available) |
| Boot | Double click | Wake up screen (if display available) |
| User | Single click | Wake up screen (if display available) |
| User | Double click | Switch to next screen (if display available) |
| User | Long press | Enter miner configuration mode |
-
Automatic WiFi Connection: Upon power-on, the device attempts to connect to the previously configured WiFi network. If connection fails after 15 seconds, it automatically enters configuration mode.
-
Access Point Setup: Search for the free access point named
nmap-2.4g(no password required). -
Configuration Interface:
- Mobile devices: You will be automatically redirected to the configuration page
- PC/Desktop: Navigate to
192.168.4.1in your web browser
- Parameter Configuration: Configure your mining parameters following the on-screen instructions. Note that higher UI refresh values result in increased hash rates, and hash rates also improve when the display is turned off.
-
Accessing Configuration: You can return to the configuration page at any time using the button controls.
-
Saving Settings: After clicking Save, allow 10-15 seconds for the process to complete. Do not manually reset the device; it will restart automatically.
For single button boards:
- Long press the boot button
For dual button boards:
-
Long press the user button
-
Follow the First-Time Configuration steps.
Step 1: Open the NMMiner Flash Tool in Chrome or Edge browser.
Step 2: Select your board model and initiate the firmware update. The tool will automatically:
- Download the latest firmware version from GitHub
- Configure flash parameters for your specific board
Note 1: If you're simply updating existing firmware, the above steps are sufficient. For first-time installations, firmware activation is required.
Note 2: If you lose your license, re-flash your device using the NMMiner Flash Tool to receive a new license automatically.
Step 1: After flashing the firmware, obtain your license following the on-screen instructions.
Step 2: Copy the license string into the license code field and click the activation button. Successful activation will display a confirmation message.
Step 3: For first-time installations, configure basic settings as shown below. Alternatively, you can configure these settings later using the button controls.
Step 4: Your miner is now ready to use!
Due to limited on-chip resources, some high-difficulty mining pools may reject connections from ESP32-based miners. The following pools support low-difficulty stratum connections suitable for this hardware:
stratum+tcp://dgb-stratum.solominer.net:3333- Home page
Both NMController Client and NMController Web provide identical functionality:
- NMController Client: Windows desktop application
- NMController Web: Cross-platform solution for Windows and macOS
The client automatically scans your local network to discover active miners:
Configure individual miners or groups of miners through the NMController interface (requires firmware v1.5.xx or later):
Access the web monitoring interface by navigating to your miner's IP address in a web browser. This interface provides functionality similar to NMController:
We are committed to expanding support for additional Arduino development board models. If you encounter any issues or have suggestions for improvement, please reach out to us.
| Contact Method | Details |
|---|---|
| [email protected] | |
| Telegram | https://t.me/NMMiner |
| Website | NMTech Official Site |
board support:elecrow_esp32_display_24inchandelecrow_esp32_display_28inch.
feature:- New clock style(remove second)
- Merry Christmas surprise(Trigger on Christmas Day, exit via any screen touch), board support NMTV-154, CYD2.4 , CYD2.8 ,CYD3.5
fix:- Block hit counter issue.
remove:- None.
optimize:- Stability Optimization.
board support:- None.
feature:- Date format adjustable by users in clock page.
- 24h and 12h time format adjustableby users in clock page.
fix:- Some potential restart risks.
- Screen dead pixels on the loading page of miner.
remove:- None.
optimize:- Stability Optimization.
- Some known issues.
board support:waveshare-esp32-s3-touch-lcd-35
feature:- Resumes on the last page after a shutdown or crash.
fix:- Some potential restart risks.
remove:- None.
optimize:- Coin price page alignment optimization.
- Screen lights up gradually when you turn on the miner to avoid screen distortion.
board support:- A new screen driver for
esp32-c3-042-oled
- A new screen driver for
feature:- Multi-currency price page on miner screen.
fix:- Oled device display.
- License lost issue on
waveshare-esp32-s3-lcd-147andwaveshare-esp32-s3-lcd-147bboard.
remove:- Market price enable option on config page.
optimize:- Memory usage.
board support:- None.
feature:- A totally new web monitor page for each miner(monitor and config all other miners on this kind of page).
fix:- Primary pool lost and recover logic.
remove:- None.
optimize:- Memory usage.
- ssl connection.
- Price color on clock page, green for raise and red for drop.
board support:Waveshare-esp32-s3-lcd-147(USB-A)andWaveshare-esp32-s3-lcd-147b(USB-C).
feature:- When the primary mining pool active again, miner will switch back to the primary pool within 10s.
fix:- Hit value issue on NM-TV clock page.
- Screen can not wakeup in sleep mode on NM-TV .
remove:- None.
optimize:- Miner page UI for share :
session best/all time bestwhen enable "save status" option. - Miner page UI for share :
session last/session bestwhen disable "save status" option.
- Miner page UI for share :
feature:- None.
fix:- Loading page stuck issue.
remove:- None.
optimize:- Clock page.
- Memory usage.
feature:- None.
fix:- Wifi connection issues.
- Market Price freeze issues.
remove:- Last diff in miner page.
optimize:- UI of clock page on T-display s3 dongle.
feature:- Add NM-TV-154 board support, upto 1010kH/s.
- Auto timezone.
- Dark style of clock page.
fix:- Some wifi connection issues.
- Price display overflow issue.
remove:- Share status save in nvs(only save best diff and block hit conuter).
- Timezone in configuration page.
optimize:- ESP32-D0WDQ6-V3 reversion 3 upto 1010kH/s.
- ESP32-D0WDQ6 reversion 1 upto 857kH/s.
- ESP32-S3 upto 390kH/s.
- ESP32-C3 upto 396kH/s.
- Random delay when connecting to Wi-Fi to avoid being denied access by the router.
feature:- None.
fix:- WPA group key exchange cause wifi disconnect issue.(This kind of issue is more common on
MikroTikandFritz!box.)
- WPA group key exchange cause wifi disconnect issue.(This kind of issue is more common on
remove:- None.
optimize:- ESP32-D0WDQ6-V3 reversion 3 upto 993kH/s.
- ESP32-D0WDQ6 reversion 1 upto 873kH/s.
- The initial share difficulty starts from 0.0005
feature:- New firmware release reminder on miner loading page and miner main page.
- Pool url field on web monitor page.
- Pool url display on miner clock page.
fix:- When the screen is asleep, tapping the screen will wake it up(for CYD 2.4, 2.8, 3.5).
- Log issue for pool switch.
remove:- Temperature of CYD on web monitor page.
optimize:- ESP32D0 upto 483kH/s.
- Clock display to 12-hour format.
- Memory usage.
- Add:
- Screen touch driver to CYD 2.4, 2.8, 3.5 inch board.
- Fixed:
- CYD ili9341 ui issue.
- NTP and swarm issue.
- Improved:
- None.
- Modify:
- Clock page style.
- Time zone allow float value input.
- CYD has no temperature sensor, display real time instead.
- NTP calibration interval 6h.
- Add:
- board 'esp32 2432s024' support.
- board 'esp32 3248s035' support.
- board 'esp32 c3 0.42 oled' support.
- board 'esp32 s3 0.42 oled' support.
- board 'esp32 cam' support.
- board 'wt32 sc01' support.
- board 'lilygo t qt' support.
- Fixed:
- Hashrate issues.
- Improved:
- ESP32 d0 hashrate upto 470kH/s.
- NMController client update to v0.4.1, *.ini file support.
- NM-USB-Chain default page to meter page.
- Add price to clock page.
- Modify:
- Clock page time rolling to static.
- Add:
- Configure NMMiner via the NMController client to make your life easier.
- Fixed:
- Restart issue.
- Improved:
- NMController client update to v0.4.
- Modify:
- None.
- Add:
- esp32-s3-geek support, upto 308kH/s.
- Fixed:
- Local diff infinite issues.
- Improved:
- NMController client update to v0.3.
- Modify:
- None.
- Add:
- None.
- Fixed:
- Freezing issues.
- Improved:
- NMController web server.
- Modify:
- None.
- Add:
- Led enable/disable option.
- Fixed:
- Fallback wallet address save failed issue.
- Improved:
- ESP32d0 upto 412kH/s
- Modify:
- Get DNS from router.
- Known:
- Freezing in some wifi environment.
- Add:
- None.
- Fixed:
- Reboot issue.
- Freezing issue.
- Improved:
- ESP32d0 upto 375kH/s
- ESP32s3 upto 318kH/s
- ESP32c3 upto 308kH/s.
- Modify:
- UDP boardcast from 2s to 5s.
- DNS fixed to 8.8.8.8 and 8.8.4.4
- Add:
- esp32 dev kitc 32 ,upto 340kH/s.
- Fixed:
- Reboot issue.
- Freezing issue.
- Improved:
- ESP32d0 upto 340kH/s, ESP32s3 upto 291kH/s, ESP32c3 upto 284kH/s.
- Modify:
- None.
- Add:
- None.
- Fixed:
- Reboot issue.
- Freezing issue.
- Improved:
- ESP32 d0 upto 224kH/s.
- Modify:
- Remove ssl connection.
- Add:
- Fallback pool option.
- Fixed:
- seeed xiao esp32 c3 configuration mode issue.
- Improved:
- ESP32 s3 upto 255KH/s,ESP32 c3 upto 240KH/s.
- Modify:
- SSL option, enable ssl connection in pool URL as "stratum+ssl://example-pool.com:12345"
- Add:
- None.
- Fixed:
- seeed xiao esp32 c3 configuration mode issue.
- Improved:
- None.
- Modify:
- None.
- Add:
- support: seeed xiao esp32 c3 ,seeed xiao esp32 s3
- Fixed:
- Pool connection time out.
- Block counter issue.
- Improved:
- None.
- Modify:
- None.
- Add:
- support: lilygo-t-display-s3 amoled
- Fixed:
- None.
- Improved:
- UDP broadcast protocol format.
- Modify:
- Configuration mode time out logic.
- Add:
- support: holo-cubic-25mm, upto 117kH/s.
- Fixed:
- UTC issues.
- Block counter flase count.
- QR code issue.
- Restart constantly.
- Improved:
- Sahre accept rate.
- Modify:
- Default Wifi change to 'NMMtech-2.4G'.
- Default DNS get from LAN.
- Add:
- support: TTGO T display, upto 90~92kH/s.
- Feature: Led indicator for nm-bot-chain.
- Feature: Screen brightness adjustment from config page.
- Fixed:
- UTC issues.
- Lilygo T Display s3 and TTGO T Display power supply issues.
- Chip ESP32-D0WDQ6-v1 crashed issues, firmware compatible with ESP32-D0WDQ6-v3.
- Improved:
- None.
- Modify:
- User button long pressed to enter miner configuration for 2 buttons boards.
- Logo 'lottery' to 'miner'.
- Uptime 999 days maximum.
- Add:
- Board support heltec-wifi-lora32-v2, upto 92kH/s.
- Fixed:
- Nm-usb-chain gauge calibration.
- Remove tempurature from CYD board, No tempurature sensor.
- Improved:
- Breath led on Lilygo T dongle s3.
- Modify:
- None.
- Baord support
- Heltec Vision Master T190
- Heltec WiFi Lora32 v2
- Heltec WiFi Lora32 v3
- Heltec Wireless Stick v3
- Heltec Wireless Stick Lite v3
- Heltec Wifi Kit32 v3
- NM Bot Chain v1
- NM USB Chain v1
- CYD(ESP32-2432S028R) with ILI9341 and ST7789 TFT driver.
- Lilygo T Display-s3
- Lilygo T Dongle-s3
- Add:
- Board support CYD(ESP32-2432S028R) with ILI9341 and ST7789 TFT driver, upto 92kH/s.
- Fixed:
- Restart issues.
- Shortage of lvgl heap.
- Improved:
- None.
- Modify:
- Remove firmware version in stratum protocol.
- Update NMControler, Added column sorting.
- Baord support
- Heltec Vision Master T190
- Heltec WiFi lora 32 v2
- Heltec WiFi lora 32 v3
- Heltec wireless stick v3
- Heltec wireless stick lite v3
- Heltec Wifi kit 32 v3
- NM-Bot-Chain-V1
- NM-USB-Chain-V1(Coming soon to sale)
- CYD(ESP32-2432S028R) with ILI9341 and ST7789 TFT driver.
- Lilygo-T-Display-s3
- Lilygo-T-Dongle-s3
- Add:
- Board support Lilygo T Dongle s3
- BTC market price(Disable default, enable this feature on config page)
- Fixed:
- Miner reboot constantly.
- Improved:
- UI
- Baord support
- Heltec Vision Master T190
- Heltec WiFi lora 32 v3
- Heltec wireless stick v3
- Heltec wireless stick lite v3
- Heltec Wifi kit 32 v3
- Lilygo-T-Display-s3
- Lilygo-T-Dongle-s3
- NM-Bot-Chain-V1(Coming soon to sale)
- NM-USB-Chain-V1(Coming soon to sale)
- Add:
- Board support NM Bot Chain V1
- Board support NM USB Chain V1
- Screen orientation option in configuration page.
- Fixed:
- Valid block worng display, hashrate fall in worng state occasionally.
- Improved:
- UI
- Baord support
- Heltec Vision Master T190
- Heltec WiFi lora 32 v3
- Heltec wireless stick v3
- Heltec wireless stick lite v3
- Heltec Wifi kit 32 v3
- All_usbcdc_screenless_esp32s3fn8
- Lilygo-T-Display-s3
- NM-Bot-Chain-V1(Coming soon to sale)
- NM-USB-Chain-V1(Coming soon to sale)
- Add:
- Board support Heltec Wireless Stick V3.
- Fixed:
- None.
- Improved:
- The initiation order.
- Baord support
- Add:
- Board support Lilygo-T-Display s3.
- Fixed:
- Readme and structure of tool folder.
- Improved:
- Loading screen.
- Baord support
- Add:
- Web ESP-Tool.
- Support chip, esp32fn8.
- Fixed:
- None
- Improved:
- None.
- Baord support
- Add:
- License.
- Fixed:
- None
- Improved:
- Automatically enter configuration mode.
- Baord support
- Add:
- None
- Fixed:
- Readme.md
- Improved:
- None
- Baord support
- Add:
- Tool, NMController, Something like a LAN centralized monitoring client, Windows 10 or higher require.
- Firmware, mining status broadcast to LAN.
- Fixed:
- None
- Improved:
- None
- Baord support
- Add:
- None
- Fixed:
- License disappear issue when return to configuration page.
- Improved:
- None
- Baord support
- Add:
- None
- Fixed:
- Device would occasionally restart frequently when connecting to WiFi at startup.
- Improved:
- None
- Baord support
- Add:
- Web Monitor, makes it easy to monitor your machine without any special client tools. You only need a phone or computer's browser.
- Heltec WiFi lora 32 v3 firmware
- Fixed:
- Some issues from WiFi.
- Improved:
- Memory management.
- Almost reaching 120KH/s when USB CDC disable.
- Baord support
- Next
- Some screenless board support.
- Features:
- BTC solo miner base on esp32s3 series
- Up to 118kH/s
- ssl connection support
- Screen auto off in 60s
- Real time clock
- Configuration on websever, it's easy enough to build your first BTC Miner.
- WiFi signal strength on screen.
- Fixed:
- Memory leak issues.
- Stratum nBits sector parse issues.
- Modify:
- None
- Baord support
- Features:
- BTC solo miner base on esp32s3 series
- Up to 118kH/s
- ssl connection support
- Screen auto off in 60s
- Real time clock
- Configuration on websever, it's easy enough to build your first BTC Miner.
- WiFi signal strength on screen.
- Fixed:
- Mining status clean issues.
- Modify:
- None
- Baord support
- Features:
- BTC solo miner base on esp32s3 series
- Up to 118kH/s
- ssl connection support
- Screen auto off in 60s
- Real time clock
- Configuration on websever, it's easy enough to build your first BTC Miner.
- WiFi signal strength on screen.
- Fixed:
- Configuration of user BTC address not effective issue.
- Modify:
- Contact us, telegram group add.
- Modify firmware update tools, make it easy to update firmware.
- Baord support
- Features:
- BTC solo miner base on esp32s3 series
- Up to 118kH/s
- ssl connection support
- Screen auto off in 60s
- Real time clock
- Configuration on websever, it's easy enough to build your first BTC Miner.
- WiFi signal strength on screen.
- Fixed:
- Some ssl issues.
- Modify:
- Add some log on loading screen.
- Hashrate upto 118K when screen off.
- Baord support
- Features:
- BTC solo miner base on esp32s3 series
- Up to 117kH/s
- ssl connection support
- Screen auto off in 60s
- Real time clock
- Configuration on websever, it's easy enough to build your first BTC Miner.
- WiFi Signal Strength add.
- Fixed:
- Some issues after full chip erase.
- Modify:
- None
- Baord support
- Features:
- BTC solo miner base on esp32s3 series
- Up to 117kH/s
- ssl connection support
- Screen auto off in 60s
- Real time clock
- Configuration on websever, it's easy enough to build your first BTC Miner.
- WiFi Signal Strength add.
- Fixed:
- Fixed default WiFi parameters issues.
- Fixed parameter of 'screen off time out'.
- Modify:
- Some nvs handles, not compatible with v0.1.52.
- Baord support
- Features:
- BTC solo miner base on esp32s3 series
- Up to 117kH/s
- ssl connection support
- Screen auto off in 60s, can be setted from the Configuration Page
- Real-time clock
- Configuration on webserver, it's easy enough to build your first BTC Miner.
- Fixed:
- First push
- Modify:
- None
- Board support































