Skip to content

We're upgrading our operations to serve you better. Orders ship as usual from Laval, QC. Questions? Contact us

Bitcoin accepted at checkout  |  Ships from Laval, QC, Canada  |  Expert support since 2016

NERDMINER_RESET_5S Info

NerdMiner – Reset Button 5-Second Hold Not Working

NerdMiner v2 reset-button procedure varies per supported board variant. The official `BitMaker-hub/NerdMiner_v2` README documents 'Hold 5 seconds > reset the configurations and reboot your NerdMiner' as the canonical gesture, but does not disambiguate per board. Different boards (LILYGO T-Display S3, LILYGO T-Dongle S3, M5StickC community builds, ESP32-WROOM-32 / Devkit1, ESP32-2432S028R 'Cheap Yellow Display') have different button counts, different GPIO mappings, and different resulting behaviours. Three durations matter: 5-second hold = soft reset (`WiFiManager.resetSettings()` + `ESP.restart()` → `NerdMinerAP` portal at `192.168.4.1`); 10-second hold (community-fork-dependent, NOT in upstream) = deeper factory reset on supported forks; hold-during-power-up = either configuration mode (two-button boards) or USB serial bootloader / `esptool` download mode (bare WROOM `GPIO0`). On boards with no usable physical button, `GPIO0`-to-`GND` paperclip short at runtime triggers the equivalent reset.

Informational — Monitor and address as needed

Affected Models: NerdMiner v2 across every supported variant - LILYGO T-Display S3, LILYGO T-Dongle S3, M5StickC / M5StickC Plus community builds, ESP32-WROOM-32 / ESP32-Devkit1, ESP32-2432S028R 'Cheap Yellow Display' (CYD), and community forks (e.g. `matlen67/NerdMiner_V2_ESP32-ST7735`). Single-button boards: T-Dongle S3, M5StickC community builds, single-button forks. Two-button boards: T-Display S3, CYD ESP32-2432S028R, certain T-Dongle variants. Button-less builds: bare ESP32-WROOM-32 modules and DIY assemblies require `GPIO0`-to-`GND` paperclip workaround.

Symptoms

  • Held the button on a NerdMiner and nothing visible happened - no screen flash, no `RESETTING` message, no reboot
  • Held the button and the miner just kept mining - no settings wipe, no `NerdMinerAP` portal broadcast on next boot
  • Held the button while plugging USB power in and the miner became unresponsive - black screen, USB enumerates as `ESP32 in download mode` rather than `NerdMinerAP`
  • NerdMiner has no visible physical button at all (bare ESP32-WROOM-32 module, custom DIY build) and user needs to factory-reset it
  • User does not know whether their board is single-button or two-button - the official `BitMaker-hub/NerdMiner_v2` README documents both but does not disambiguate
  • User has been told 'hold 5 seconds' but it does not seem to fire on their specific variant
  • User has held for 10+ seconds expecting a 'factory reset' and the miner did something different than expected (or nothing)
  • User holds what looks like the BOOT button but the README's 'configuration mode' path does not trigger
  • User bought a NerdMiner second-hand and needs to wipe the previous owner's `bc1q` Bitcoin address, WiFi credentials, and pool URL
  • Miner reboots when the button is pressed briefly but a long-hold appears to be ignored entirely
  • User is on a community fork (`matlen67/NerdMiner_V2_ESP32-ST7735`, M5StickC build, custom CYD variant) and upstream README's gesture table does not match their unit's behaviour
  • Reset gesture fires successfully but `NerdMinerAP` SSID never appears - signals NVS partial-write corruption masking an otherwise correct gesture

Step-by-Step Fix

1

Identify your NerdMiner board variant before pressing anything. Photograph the silkscreen, count the buttons, note the display size and connector type (USB-C / USB-A / micro-USB / bare pins). LILYGO T-Display S3 has a 1.9" ST7789 TFT and two buttons on the same edge as the USB-C connector. LILYGO T-Dongle S3 has a USB-A male connector, 0.96" ST7735 TFT, and a single side button. M5StickC has a yellow plastic enclosure, two side buttons, and USB-C. ESP32-WROOM-32 / Devkit1 boards have `EN` + `BOOT` buttons but no display. ESP32-2432S028R 'Cheap Yellow Display' (CYD) has a 2.8" ILI9341 TFT and two buttons on the bottom edge flanking the USB. Knowing your variant is the foundational diagnostic step.

2

Single-button reset gesture (T-Dongle S3, M5StickC community builds, single-button forks): hold the only button for `5 seconds` while the miner is running normally. Do NOT power-cycle first - the miner should be booted, display cycling hashrate / BTC price / block height. Press and hold. Count to 5. Release. Display flashes or shows `RESETTING`. Miner reboots. Within 30-60 seconds your phone should see `NerdMinerAP` SSID. Connect with password `MineYourCoins`, browse to `http://192.168.4.1`, re-enter WiFi credentials, `bc1q` SegWit Bitcoin address (NOT `bc1p` Taproot), and pool URL.

3

Two-button reset gesture (T-Display S3 used as two-button, CYD, certain T-Dongle variants): hold the TOP button (the screen-cycle button) for `5 seconds` at runtime. 'Top' means the screen-cycle button - the one that switches between hashrate / BTC price / block height views with a single press. Not the bottom button (which toggles screen on/off). Same outcome as single-button reset. If the gesture does not fire, you may be holding the wrong button - swap to the other and retry.

4

Two-button 'configuration mode' (preserves settings, opens portal for edit): power off completely, unplug USB. Press and hold the TOP button. While still holding, plug USB back in. Keep holding for `5 seconds` after power-up. Firmware boots into config mode WITHOUT wiping stored settings - WiFi password, pool URL, `bc1q` address remain in NVS. `NerdMinerAP` appears so you can edit settings on the fly without re-typing. Useful for changing pools without full re-provisioning. Documented in the upstream README as 'Hold and power up > enter configuration mode and edit current config via Wifi.'

5

Both-buttons hold on CYD / ESP32-2432S028R variants. Several CYD forks map the reset gesture to both buttons held together rather than a single long-press. D-Central's NerdMiner setup guide and `BitMaker-hub/NerdMiner_v2` discussion `#187` confirm this pattern. If a single-button hold did nothing on your CYD, try both buttons together for `5 seconds` at runtime before reaching for the soldering iron or the `esptool` command. Same outcome as the single-button gesture on success.

6

No-button board: short `GPIO0` to `GND` briefly at runtime. Bare ESP32-WROOM-32 modules, custom DIY NerdMiner builds, boards that do not expose a usable physical button. Locate `GPIO0` on the silkscreen (sometimes labelled `IO0`, `BOOT`, `GPIO0`). Locate any `GND` pin. Miner running normally on USB power. Touch a short jumper wire or straightened paperclip between `GPIO0` and `GND` for 2-3 seconds. Release. Miner reboots. Note: brief touch at runtime triggers a reset; held continuously during a power-up or reset transition drops the chip into USB serial bootloader (`esptool` download mode) instead - timing matters.

7

Open a serial console at `115200 baud` over USB to confirm what the firmware is actually doing. PuTTY on Windows, Arduino IDE serial monitor, `screen /dev/ttyUSB0 115200` on macOS / Linux, or `minicom`. Power-cycle and capture the boot log. Healthy reset boot includes `WiFiManager: no saved config` → `starting config portal` → `NerdMinerAP`. Stale-NVS boot shows `WiFiManager: connecting to <stored SSID>` (the gesture did not fire). Crash boot shows `Guru Meditation Error` or `Brownout detected`. Save the log - useful for GitHub issue filing and D-Central support tickets.

8

Verify the button is actually wired to the expected GPIO. On bare boards / DIY builds, the physical button labelled 'BOOT' on your dev kit may or may not map to the GPIO the NerdMiner firmware reads. Cross-reference your specific board's pinout against the firmware's `platformio.ini` build environment. A multimeter in continuity mode between the button and the labelled GPIO pin is 30 seconds of work that saves an hour of 'the button is not working' speculation. If the button is not wired to the polled GPIO, fall back to the `GPIO0`-to-`GND` paperclip gesture.

9

Erase only the NVS partition - preserves firmware, clears stored WiFi config. Put the device into download mode (hold `GPIO0` LOW, tap `EN`/`RST`, release both). Run: `esptool.py --chip esp32 --port COMx erase_region 0x9000 0x6000` (or `--chip esp32s3` for ESP32-S3 boards like T-Display S3 / T-Dongle S3). That 24 kB region is the NVS partition on stock NerdMiner partition tables. Tap `EN`/`RST` to reset into firmware. The firmware boots, sees no stored config in NVS, goes straight to the `WiFiManager` config portal. Less destructive than full `erase_flash`. Verify your fork's partition table first (`esptool.py read_flash 0x8000 0xC00 partitions.bin`) - some forks have moved the NVS offset.

10

Confirm `EN` vs `BOOT` vs `IO0` on dev boards. Most ESP32-WROOM-32 dev kits have two physical buttons labelled `EN` (sometimes `RST`) and `BOOT` (sometimes `IO0`). `EN` is the chip-enable / hardware reset line - tapping it power-cycles the chip. `BOOT` is `GPIO0`. To enter USB download mode: hold `BOOT`, tap `EN`, release `BOOT`. To just reboot: tap `EN`. To trigger the runtime `GPIO0`-based reset: momentarily short `GPIO0` to `GND` without pressing `EN`. Three different gestures with three different outcomes. Get the sequence right or you will waste 20 minutes.

11

Full flash erase via `esptool.py erase_flash` when NVS-only erase does not recover the device or you want a guaranteed-clean baseline. Hold `BOOT` (`GPIO0`) to `GND`, tap `EN`/`RST`, release `BOOT` to enter download mode. Connect USB. Run: `esptool.py --chip esp32 --port COMx --baud 921600 erase_flash` (use `--chip esp32s3` for ESP32-S3 boards). Wait 60-120 seconds. The entire flash is zeroed - NVS, SPIFFS, OTA, app, all gone. Device is now a blank module. You will need to reflash NerdMiner firmware after.

12

Reflash NerdMiner firmware for your specific board variant. Go to `https://github.com/BitMaker-hub/NerdMiner_v2/releases` and pick the binary that matches your board: `NerdMiner_T-Display-S3_v1.x.x.bin`, `NerdMiner_T-Dongle-S3_v1.x.x.bin`, `NerdMiner_ESP32_Devkit_v1.x.x.bin`, `NerdMiner_CYD_2432S028R_v1.x.x.bin`. Flash via `https://nerdminer.io/` Web Flasher (Chrome / Edge / Opera with WebSerial - not Firefox, not Safari) or via `esptool.py write_flash 0x1000 bootloader.bin 0x8000 partitions.bin 0x10000 firmware.bin`. First boot after a clean flash always broadcasts `NerdMinerAP`. The reset button now behaves the way the README describes for your exact board.

13

Match the binary to the board exactly - the wrong binary masquerades as a 'broken reset button.' A T-Display S3 binary on a T-Dongle S3, or a CYD binary on a bare WROOM, produces firmware that reads the wrong GPIOs for buttons. The button you press is not the one the firmware is polling. From the user's perspective: 'I hold the button and nothing happens.' The fix is matching the binary to the silicon and the board layout. Cross-reference against the `platformio.ini` environments in the repo before flashing.

14

Document your board variant and firmware version with a sticker on the back of the unit. When you need to troubleshoot six months from now you will not be guessing whether your CYD is a `JC2432W328` rev 1 or rev 2, or whether your T-Display S3 is the standard ST7789 variant or the AMOLED. This page's diagnostic tree branches on board variant; not knowing yours doubles diagnostic time. One sticker, two minutes, permanent reference.

15

File a GitHub issue if your specific variant's reset gesture is not documented. `BitMaker-hub/NerdMiner_v2/issues` exists precisely so plebs can document 'the 5-second hold does not fire on my new CYD rev.' Include a serial-console boot log, your board variant, your firmware version, and the gesture you tried. NerdMiner is community-maintained open-source; reproducers from the field are how the project gets better. D-Central files reproducers from our bench when we see new variants.

16

When to stop DIY. You have identified the board variant, tried the documented `5-second` hold for your variant, tried both-button hold for CYD, tried hold-during-power-up for two-button config-mode entry, tried `GPIO0`-to-`GND` for button-less boards, full `erase_flash` + reflash of the correct binary, captured a serial-console boot log - and the device still is not responding to reset gestures. You have exhausted the standard playbook. Open a D-Central support ticket with the serial log attached, or drop into the D-Central Discord `#nerd-family` channel. The community has seen most variants by now and someone will recognise yours.

17

D-Central bench process for NerdMiner reset-button issues: intake log review, board-variant identification from silkscreen photos, multimeter continuity test on the physical button to confirm it actuates cleanly, `esptool chip_id` confirmation that the bootloader path is healthy, serial-console boot log capture, NVS dump for forensic review, full `erase_flash` baseline reflash of the correct binary, validation that all documented reset gestures fire correctly post-reflash, 12-24 h stability soak before return. Flat bench-diagnostic fee applied to any repair cost if hardware turns out to be the issue. D-Central stocks and supports the full Nerd family.

18

Ship safely if the NerdMiner heads to D-Central's bench. Anti-static bag, `5 cm` of foam on every side of the outer box. Include a note: specific board variant (a photo of the silkscreen helps), firmware version flashed, exact reset gestures tried and their outcomes, your router's SSID format if WiFi is part of the symptom set. Context saves bench-time and bench-time saves your dollar. Canada-wide turnaround on NerdMiner-class work 3-7 business days. US / international welcomed - D-Central ships worldwide from Canada.

When to Seek Professional Repair

If the steps above do not resolve the issue, or if you are not comfortable performing these repairs yourself, professional service is recommended. Attempting advanced repairs without proper equipment can cause further damage.

Related Error Codes

Still Having Issues?

Our team of Bitcoin Mining Hackers has been repairing ASIC miners since 2016. We have seen it all and fixed it all. Get a professional diagnosis.