NerdMiner

NerdMiner

NerdMiner is free, open-source (MIT) firmware that turns an ESP32 board such as the LILYGO T-Display S3 into a tiny Bitcoin solo miner with a stats screen. It is a hobby and learning gadget: the chance of finding a block is practically zero.

OS: ESP32 boards (firmware, flashed from a Chromium-based browser)
Version: 1.8.3
🡣: 548
FreeLatest version: 1.8.3Actively developed

NerdMiner is free, open-source firmware that turns a cheap ESP32 board, often one with a small colour screen, into a tiny Bitcoin solo miner that sits on your desk. People search for “nerdminer” because it is a fun build: flash a board from your browser, enter a Wi-Fi network and a BTC address, and watch it hash. It is a hobby and learning device, not an income source.

The honest part first: an ESP32 hashes so slowly compared with the Bitcoin network that its chance of ever finding a block is practically zero. The odds are like a lottery ticket you never pay for, apart from a little USB power. What you get is a working Stratum client you can study, a desk clock with mining stats, and a hands-on feel for how proof-of-work and share difficulty behave.

NerdMiner at a glance

Item Details
Latest version NerdMiner_v2 V1.8.3, released 13 September 2025
Licence / fees Free and open source, MIT licence; no developer fee in the firmware
Platforms ESP32 microcontroller boards; flashed from a Chromium-based browser or built with PlatformIO
Supported hardware LILYGO T-Display S3 (the reference board), T-Display S3 AMOLED, T-Dongle S3, T-QT, T-HMI, ESP32-2432S028R, ESP32-WROOM DevKit, ESP32-S3 and ESP32-C3 dev boards, M5Stack boards, Waveshare ESP32-S3-GEEK and more; Bitcoin (SHA-256) only
Developer BitMaker (BitMaker-hub) and contributors; based on the HAN project
Official website github.com/BitMaker-hub/NerdMiner_v2
Best for Hobbyists, students and Bitcoin fans who want a desk gadget and a hands-on way to learn mining

What it does

  • Implements the Stratum protocol on an ESP32 and mines Bitcoin on a solo pool, using both CPU cores for hashing.
  • Drops stale work as soon as the pool sends a new job, so it does not keep submitting invalid shares.
  • Shows several screens: mining stats (hashrate, shares, best difficulty reached), a clock-style miner screen and a global network stats screen.
  • Uses a Wi-Fi configuration portal on first boot, and on boards with a card slot it can also read settings from a config.json file on an SD card.
  • Handles button actions for changing screens, rotating the display, switching the screen off and resetting the configuration.
  • Ships prebuilt factory and update images for more than 30 board variants in every release.

How miners use it

Build a NerdMiner on a T-Display S3

  1. Get a supported board; the LILYGO T-Display S3 is the original target, and a 3D-printable case is in the repository.
  2. Connect it by USB-C and open the project’s recommended web flasher, or the Espressif web ESPtool, in Chrome, Chromium or Brave.
  3. Choose your board and flash the factory image for a first install.
  4. After a reboot the board opens its own Wi-Fi access point called NerdMinerAP (the default password is in the project README). Connect to it from your phone.
  5. Enter your Wi-Fi network, your BTC address and the pool, then save. Mining does not start without a BTC address.

Choose a pool that sees low-difficulty shares

Regular pools set a minimum share difficulty far above what an ESP32 can reach, so the miner never shows up on their dashboards. The README recommends solo pools that accept very low-difficulty shares, such as public-pool.io and pool.nerdminers.org, and lists standard solo pools that are not compatible. On public-pool.io you can name the worker by adding a suffix to the address:

YOUR_BTC_ADDRESS.desk01

Configure from an SD card

  1. Format a card as FAT32 and create config.json in its root.
  2. Insert the card and hold the reset-configuration button so the board boots without its saved settings and reads the file.
  3. Power down and remove the card. It is not needed for mining.
{
  "SSID": "YOUR_WIFI_NAME",
  "WifiPW": "YOUR_WIFI_PASSWORD",
  "PoolUrl": "pool.example.com",
  "PoolPort": 3333,
  "PoolPassword": "x",
  "BtcWallet": "YOUR_BTC_ADDRESS",
  "Timezone": 2,
  "SaveStats": false
}

Update or reset

To update, flash only the firmware image (the 0x10000 file) for your board instead of the full factory image. To reset, hold the button for 5 seconds on one-button boards, or hold the top button for 5 seconds on two-button boards; the configuration is wiped and the Wi-Fi portal opens again.

Install and first run

You only need a USB data cable, a supported board and a Chromium-based browser; Web Serial does not work in every browser. The project’s troubleshooting notes:

  • Flash at 115200 baud if the upload is unreliable.
  • If the upload stops, put the board into boot mode: unplug it, hold the boot button and plug it back in. On ESP32-WROOM boards, hold BOOT, press RESET and then flash.
  • If Wi-Fi misbehaves after flashing, use “Erase all flash” in ESPtool and flash again.

Advanced users can build the firmware from source with PlatformIO, which the project uses; the partition scheme must be the “huge app” layout. Change the access-point password during setup, and use a receive-only BTC address so no private key ever touches the device.

Limitations

  • It is a lottery device. The odds of an ESP32 finding a Bitcoin block are vanishingly small, so treat any talk of earnings as a joke, not a plan.
  • Bitcoin only. It cannot mine other coins, and it cannot connect to normal pools for steady payouts.
  • Hashrate varies by board and firmware version, and screens or features differ between boards.
  • Releases are irregular. The last tagged release is from September 2025, although the repository received commits in 2026.
  • Some features listed in the README as “in process” (daisy-chaining boards, controlling ASIC chips) are not available.

NerdMiner vs alternatives

The usual comparison is NerdMiner vs Bitaxe. Bitaxe is open-source hardware built around a real Bitcoin ASIC chip, so it hashes many orders of magnitude faster than an ESP32. It is still a solo-lottery device for most owners, though, and it costs more and uses more power. Several other ESP32 firmwares and ready-made “lottery miners” exist and work the same way, so judge them on screen, build quality and open-source status rather than promised returns. For actual Bitcoin mining you need full-size ASIC hardware, usually running firmware such as Braiins OS or LuxOS. If you want to learn mining on a PC instead, XMRig is the standard open-source CPU miner.

FAQ

How does NerdMiner work?

The ESP32 connects to a solo pool over Wi-Fi, receives block templates through Stratum and hashes them with SHA-256. If a hash ever met the network target, the block reward would go to your address.

Can a NerdMiner actually find a Bitcoin block?

In theory yes, in practice almost certainly not. Its hashrate is tiny next to the network, so think of it as an educational gadget.

Where is the NerdMiner firmware download?

Prebuilt images for each supported board are attached to the official NerdMiner_v2 GitHub releases. Most people flash them with the project’s web flasher or the Espressif web ESPtool.

How do I update NerdMiner firmware?

Flash only the firmware image (the 0x10000 file) for your board using the same flashing tool instead of the full factory image.

How do I reset a NerdMiner?

Hold the button for 5 seconds on one-button boards, or the top button on two-button boards. The configuration is erased and the NerdMinerAP setup portal starts again.

Which pools work with NerdMiner?

Use solo pools that accept low-difficulty shares, such as public-pool.io or pool.nerdminers.org. Standard pools do not register its shares.

NerdMiner vs Bitaxe: which should I buy?

A NerdMiner is a cheap desk toy for learning. A Bitaxe is a real ASIC miner with far more hashrate and power use. Both are long-shot solo miners for home users.

Is NerdMiner profitable?

No. Run it for fun and learning; the electricity is small, and so are the odds.

Last checked against official sources: 1 October 2026 (developer website: github.com). Versions and licence terms change — confirm on the developer's site before deploying in production.

Other articles

Submit your application