What is a NerdMiner v2, and what can it do?
The NerdMiner v2 is open-source firmware that turns a small ESP32 board, usually the LILYGO T-Display S3 with its built-in screen, into a Bitcoin lottery miner. It hashes on the ESP32's processor, not on a mining chip, so it is very slow: about 78 kH/s on early firmware and 250 to 300 kH/s on newer builds that use the ESP32-S3 SHA hardware. It draws about 1 W from any USB port.
That speed matters for honesty. At 250 kH/s, the chance of a NerdMiner finding a block on its own in a year is about 1 in 72,000,000,000, at the network difficulty of 132.7 T on 2026-10-05. People run one to learn how mining works and for the fun of the screen, not for coins. A Bitaxe Gamma is several million times faster for about three times the price.
How do you flash NerdMiner firmware?
If you bought a ready-made NerdMiner, it is already flashed. Skip to the next section. If you have a bare board, flash it from a browser:
1. Open the web flasher in Chrome or Edge
Go to the NerdMiner web flasher. It uses the Web Serial feature that only Chromium browsers (Chrome, Edge, Brave) support on desktop. Firefox and Safari cannot flash.
2. Pick your board and connect it
Choose the firmware for your exact board, for example the T-Display S3. Connect the board with a USB-C cable that carries data; many cheap cables are charge-only and the board will not appear. Click Connect, pick the serial port and start flashing. It takes about a minute.
If no port appears, try another cable or USB port. Some boards need you to hold the BOOT button while plugging in to enter flashing mode.
How do you connect a NerdMiner to WiFi and a pool?
The NerdMiner has no web dashboard. You configure it once through a WiFi hotspot it creates, called a captive portal.
3. Join the NerdMinerAP hotspot
Power the board. On first boot, or after a reset, it opens a hotspot named NerdMinerAP. Join it with the password MineYourCoins. The setup page should open by itself; if not, go to http://192.168.4.1.
4. Choose your WiFi and fill in the pool
Select your 2.4 GHz WiFi and type its password. Then replace the default pool, which is public-pool.io, with DirectPool:
| Field | What to enter for DirectPool |
|---|---|
| Pool URL | stratum.directpool.io |
| Pool port | 3333 |
| BTC address | bc1qyouraddress.bedroom |
| Pool password | x |
Set your time zone too, so the clock on the screen is right. Save. The board restarts, joins your WiFi and starts hashing. The main screen shows its hashrate, the shares it has sent and the network block height.
Careful: paste the Bitcoin address from your wallet. On DirectPool it must start with bc1 or 3. Do not put stratum+tcp:// in the Pool URL field; use only the host name.
Alternative: a config.json file on an SD card
Boards with an SD slot can read their settings from a file. Format the card as FAT32 and put a config.json file in the root:
{
"SSID": "YourWifiName",
"WifiPW": "YourWifiPassword",
"PoolUrl": "stratum.directpool.io",
"PoolPort": 3333,
"PoolPassword": "x",
"BtcWallet": "bc1qyouraddress.nerd",
"Timezone": 1,
"SaveStats": false
}Insert the card and power the board. The key names come from the NerdMiner README; keep the capital letters exactly as shown.
How do you change the settings later?
Hold the reset-configuration button for 5 seconds while the board is on. On the two-button T-Display S3 this is the top button. The board wipes its saved settings and opens NerdMinerAP again, so you can repeat step 3. A short press of the other button usually switches between screens.
Why does DirectPool take hours to show my NerdMiner?
This is normal, and it follows from the maths. A pool counts your work through shares. Each share at difficulty 1 takes about 4.3 billion hashes on average (2 to the power 32). DirectPool's minimum share difficulty is 1. At 250 kH/s that is one share every 4.8 hours on average; at 78 kH/s, about 15 hours. Shares are random, so the gap can be much shorter or longer.
NerdMiner firmware asks pools for a decimal difficulty below 1. DirectPool accepts that request and rounds it up to its minimum of 1. Meanwhile the NerdMiner screen shows it is connected and working. After the first share, paste your address on the home page to see it.
| Firmware speed | Average time per difficulty-1 share | Shares per week (average) |
|---|---|---|
| 78 kH/s (early) | about 15 hours | about 11 |
| 250 kH/s | about 4.8 hours | about 35 |
| 300 kH/s | about 4 hours | about 42 |
Should a NerdMiner mine solo or on a pool?
Either way, the expected reward is close to zero. On a pool like DirectPool, rewards are split by work done over the 7-day PPLNS window, so a NerdMiner earns a fraction of a satoshi per block. That is far below the 10,000 sat minimum payout, so in practice it will not receive a payout. On a solo pool it keeps the whole block if it wins, but the yearly chance is about 1 in 72,000,000,000.
Many owners choose solo for the lottery feeling, and that is a fair choice. If you want to see your miner's shares counted and follow a real pool's blocks, DirectPool works too. Solo vs pool for small miners compares the two with real numbers.
What goes wrong most often?
- Charge-only USB cable. The board powers on but the flasher sees no port.
- 5 GHz WiFi. The ESP32 only supports 2.4 GHz.
- public-pool.io left in place. Replace both the pool URL and port.
- Waiting for shares after ten minutes. Expect hours, as shown above.
- A weak USB port. If the screen flickers or the board reboots, try a better charger.
For other connection problems, go through the troubleshooting checklist.