Browser updater live · NerdNOS V2.3.1

NerdNOS firmware update right in your browser

Put the BitMiner24 firmware V2.3.1 on your NerdNOS in a few minutes. Nothing to install, no prior knowledge needed: cable into the front USB-C port, click install in the browser, done. Your WiFi and settings stay.

About 135 GH/sat 275 MHz and about 53 °C
Heals itselfchecks every start, restarts the chip when needed
Checked and open sourceMIT licence, every file SHA-256 checked

Have a NerdMiner V2? Go to the NerdMiner updater

New firmware in 4 steps

1
Connect the front USB-C port
The front USB-C port is the update port of the NerdNOS: it is the one your computer talks to the board through. The rear port is for running the NerdNOS from its power supply. Use a USB-C data cable; charge-only cables carry no data.
2
Open Chrome or Edge
The updater runs in Chrome, Edge, Brave or Opera on a computer (Windows, macOS, Linux). You do not need to install anything.
3
Install the firmware
Click Install NerdNOS firmware, pick USB JTAG/serial debug unit in the window and confirm. When asked whether to erase the device, leave the box empty: then WiFi, Bitcoin address and pool stay. Writing takes about 2 minutes.
4
Power supply and go
Unplug the cable at the front and connect the NerdNOS to its power supply through the rear USB-C port: only there do the mining chip and the fan run properly. It joins your WiFi and starts mining. If it comes up in setup mode instead, for example after ticking erase or coming from older factory firmware, set it up in the Hashlink app: first BLE Setup with WiFi and your Bitcoin address, then Network Scan. Without the app: WiFi NerdMinerAP, password MineYourCoins.

Install NerdNOS firmware

Current version 2.3.1 · BitMiner24 firmware for the NerdNOS (ESP32-S3 + BM1397)

Your settings stay

Leave "Erase device" unticked when the browser asks, and WiFi, Bitcoin address and pool stay as they are. Keep your address at hand anyway, in case the NerdNOS comes up in setup mode; setting it up takes about two minutes.

Checked file (SHA-256), delivered by BitMiner24

After the update

  1. Connect the NerdNOS to its power supply through the rear USB-C port (5 V, at least 2.4 A). The mining chip needs it; a computer's USB port is not enough.
  2. The NerdNOS joins your WiFi on its own. If it shows the setup screen instead, set up NerdNOS-XXXX in the Hashlink app with BLE Setup (or through the WiFi NerdMinerAP): your home WiFi and your own Bitcoin address, then Network Scan → SCAN.
  3. In the first 90 seconds the firmware checks that the chip runs evenly and restarts it once if needed. The display then settles at around 135 GH/s; it shows the average of the last ten minutes.
  4. Right after the update the NerdNOS can run at about half its output for up to 15 minutes while the firmware finds the start setting that suits its chip. Leave it plugged in, it recovers by itself.
  5. The dashboard opens in the browser at the IP address the app shows, or at nerdnos-xxxx.local.
NerdNOS not found?
  • Use the front USB-C port and a data cable.
  • Try another USB port on the computer, ideally directly on the computer rather than a hub.
  • Close programs that use the port (Arduino IDE, serial monitors, a second browser tab with the updater).
  • Unplug the cable, plug it back in and click install again.

Your browser cannot reach USB devices

Open this page on a computer in Chrome, Edge, Brave or Opera. Safari, Firefox and phones lack the Web Serial interface the updater needs.

No data cable at hand?

Our USB-C cable carries data and fits the NerdNOS and the NerdMiner V2.

USB cable — €6.99

NerdNOS firmware V2.3.1: clean starts, more hashrate, steady numbers

What the new firmware does, why we built it that way, and the measurements behind it.

The BitMiner24 firmware V2.3.1 is the firmware for the NerdNOS, the Bitcoin solo miner with an ESP32-S3 and a Bitmain BM1397 ASIC, the chip generation of the Antminer S17. It is open source under the MIT licence and builds on the NerdMiner_v2 project. We measured it on a unit of the current batch, counted from the results the chip returns, and compared it with what the maintained firmware for this chip family does (Bitaxe ESP-Miner, NerdQAxe, the cgminer driver for the BM1397).

Four NerdNOS display screens: mining, clock, Bitcoin network and Bitcoin price, captured with firmware V2.1.0
Captured from a running NerdNOS with V2.1.0; V2.3.1 uses the same screens.

What is new in V2.3.1

  • A clean start every time: the chip is switched off and on like pulling the plug, also after a restart over USB, an update or the Hashlink app.
  • Every start is checked: within 90 seconds the firmware measures what the chip delivers and how evenly its core groups work, and restarts it at once if it comes up slow.
  • New in V2.3.1: the NerdNOS reliably shows up in the Hashlink app and as the WiFi network "NerdMinerAP" after power-on. Before, the radio could stay silent after a start, and the unit could then not be set up or did not join the WiFi.
  • Since V2.3.0: the firmware tells the two board variants of the NerdNOS apart and controls each one to suit. It no longer lowers the clock where that costs output, and it remembers the start setting your chip runs cleanly with.
  • Since V2.2.1: the start check judges every chip by what it actually delivers. Fast chips whose cores are split differently, as in earlier batches, keep running undisturbed.
  • About 135 GH/s at 275 MHz instead of 250 MHz, with a clock setting (PLL) in the range the chip itself uses.
  • Steady numbers: display, dashboard and Hashlink app show the average of the last ten minutes, counted from the chip's results.
  • Settings stay during the update: WiFi, Bitcoin address and pool survive the browser update.
  • From V2.1.0: self-healing, supervisor for accepted shares, thermal protection, plain-language status, Hashlink app compatibility.

Why we built in self-healing

Some NerdNOS units stopped after minutes to hours: display and fan kept going, the dashboard said "KEINE NONCES" (no nonces), and only unplugging helped. The cause was in the firmware. Every restart of the mining chip while running, for example after the thermal protection kicked in, went wrong: on a reset the chip falls back to a slow link speed of 115,200 baud, while the ESP32 kept sending at 3.125 MBaud. From then on the two no longer understood each other.

We fixed it in three layers that build on each other:

  1. Every chip restart works. Before each start the chip is held in reset and left without power for a second, the link speed is reset, and reading pauses until the chip answers.
  2. Stall watchdog: if the chip returns no result for a minute while it has work, it is restarted automatically.
  3. Supervisor: a watchdog of its own checks what counts: does the pool accept shares? If not, it first opens a fresh pool connection and then restarts the whole device, exactly like pulling the plug. The pauses in between grow, so a pool outage does not cause a restart loop.

The supervisor waits on purpose while the chip cools down, while WiFi is gone or while the pool refuses your address. A restart would not help there, so the display tells you what to do instead.

Every start is checked

The BM1397 does not come up equally well after every start. In some starts it ran at only a quarter to half of its speed, and it stayed that way until the next start. We looked at where its results come from: the chip's cores fall into three groups, and in these starts one group delivered almost nothing and the next about half, while the core voltage stayed exactly the same. The clock did not reach every core properly after the start.

The firmware handles this on two levels. The clock setting now stays in the range the chip itself uses after a reset, which made these starts much rarer in our measurements. And after every start the firmware measures for about 90 seconds what the chip delivers and how evenly its three core groups work; if it delivers too little while a group lags, it restarts the chip at once. Since V2.2.1 both conditions count together: chips differ in how their cores are split, and a fast chip with an unusual split keeps running. On units from two batches this check caught every slow start and left every healthy one running.

Why 275 MHz

On the NerdNOS the board fixes the chip's core voltage at about 1.18 volts; other BM1397 miners run at 1.4 volts. At this voltage more clock only helps up to a point. We compared three clocks with six cold starts and 25 minutes of mining each, counting the chip's own results:

ClockHashrate, mean of the startsChip temperature
250 MHz117 GH/s51 °C
275 MHz (default)136 GH/s53 °C
300 MHz135 GH/s, a restart needed about every third start55 °C

275 MHz brings about 15 percent more than 250 MHz for 2 °C, and 300 MHz adds nothing on average. Healthy starts also land at slightly different levels, so a NerdNOS delivers between about 120 and 150 GH/s depending on the start, and holds that level while it runs. A unit that cannot hold 275 MHz is stepped down by the firmware on its own.

Thermal protection that thinks along

The temperature is the median of five readings, so a single outlier triggers nothing. Only after three readings above 80 °C, or one at 85 °C, does the firmware switch the chip off. Below 70 °C it starts again at a reduced clock, and after five minutes below 65 °C at full clock. At 275 MHz the NerdNOS sits at around 53 °C, well below all of that.

See at a glance what is going on

The display shows a status at the top right. Whenever it reads something other than MINING, it tells you what to do:

ZU HEISS
Too hot: give the NerdNOS more air. It resumes by itself.
ASIC AUS
Chip silent: check the power supply (5 V, at least 2.4 A) and unplug once.
ADRESSE!
Enter your own Bitcoin address; the pool refuses it or the default is still set.
KEIN POOL
No pool: check the pool address and the internet connection.

In the browser, the NerdNOS dashboard shows hashrate, temperature, clock, accepted shares and the firmware version. Open it at the IP address the Hashlink app shows after the network scan, the one in your router's device list, or at nerdnos-xxxx.local.

NerdNOS dashboard in the browser on desktop and phone: 138.8 GH/s, 52.8 °C, 250 MHz, firmware V2.1.0-BM24
The dashboard of a NerdNOS, captured with V2.1.0, on the computer and on the phone. V2.3.1 adds the chip output counted from its results.

The button on top: reset

The button on top of the NerdNOS is there for resetting. Hold it for 5 seconds and WiFi and settings are cleared; the NerdNOS then restarts in setup mode and you set it up again in the Hashlink app or through the WiFi NerdMinerAP. Handy when you move to a new WiFi or pass the NerdNOS on.

Security and openness

Settings can only be changed from the NerdNOS's own page and from apps on your home network; other websites are turned away, and so is the trick of disguising a foreign website as the device (DNS rebinding). The device never hands out the pool password. We check every firmware file on this page against its SHA-256 before delivery. The firmware is licensed under MIT.

Technical data

ControllerESP32-S3, 16 MB flash, 8 MB PSRAM
Mining chipBitmain BM1397 (Antminer S17 generation)
Clock275 MHz default, 175 MHz under thermal protection
Hashrateabout 135 GH/s (120 to 150 depending on the start)
Core voltageabout 1.18 V, fixed by the board
Chip temperatureabout 53 °C at room temperature
Poolpublic-pool.io, port 21496 (changeable)
ProtocolStratum v1 with version rolling (BIP 310)
Display1.9 inch, 320 × 170 pixels
SetupHashlink app (Bluetooth) or WiFi NerdMinerAP
FirmwareV2.3.1-BM24, MIT licence

Your own block, from your desk

The NerdNOS mines solo on the real Bitcoin network: if it ever finds a block, the whole block reward goes to your address. It runs alongside, and the firmware keeps it running. Shipped from Stuttgart, support in German and English.

Questions about the NerdNOS update

Which USB port do I use for the update?
The front USB-C port. It is connected to the ESP32-S3 and carries data. For mining, connect the NerdNOS to its power supply through the rear USB-C port again afterwards. Front for updating, rear for running.
Will my settings be lost?
Not if you leave "Erase device" unticked when the browser asks: then it writes only the firmware, and WiFi, Bitcoin address and pool stay. With the box ticked the whole memory is cleared, and you set the NerdNOS up again in the Hashlink app or through the WiFi NerdMinerAP, which takes about two minutes.
My NerdNOS is not found. What now?
Use the front port and a data cable, try another USB port directly on the computer and close programs that use the port. Then unplug the cable, plug it back in and click install again.
What does "KEINE NONCES" mean?
The mining chip returns no results. In older firmware versions this could happen after a restart, and only unplugging helped. V2.3.1 switches the chip off and on cleanly on every start and restarts it itself when it goes silent. If it stays silent, check the power supply (5 V, at least 2.4 A).
Why does my NerdNOS restart?

Once and on purpose: after an update, after setting it up in the Hashlink app and after changing a setting, the NerdNOS restarts once. That is normal.

Only the mining chip, a few seconds each: the display and WiFi keep running, the firmware restarts just the chip when it does not run evenly after a start (checked in the first 90 seconds), returns no result for a minute, or stays clearly too slow for five minutes. That is the self-healing at work.

Too hot: above 80 °C the firmware switches the chip off to cool down and starts it again by itself. Give the NerdNOS some free air.

No accepted shares: if the pool accepts nothing for a longer time (at least ten minutes), the firmware first opens a fresh pool connection and then restarts the whole device. The pauses in between grow, so a pool outage does not cause a restart loop.

Over and over, every few minutes: this is almost always the power supply or the cable. Use 5 V with at least 2.4 A and a short cable. On the dashboard, Laufzeit shows the time since the last start; http://<IP>/api/status shows the reason in reset_reason (BROWNOUT means the supply sags) and the last chip start in asic_last_start_reason.

What hashrate does the NerdNOS reach with V2.3.1?
About 135 GH/s at 275 MHz, between about 120 and 150 GH/s depending on how the chip came up; it holds that level while it runs. The display shows the average of the last ten minutes, so the value settles in the first minutes after a start.
Why 275 MHz? It used to be 250.
With the new clock setting the chip starts cleanly at 275 MHz. In six cold starts per clock it delivered 136 GH/s on average at 275 MHz and 117 GH/s at 250 MHz, at 53 and 51 °C. 300 MHz added nothing on average and needed a restart about every third start.
Does the Hashlink app keep working?
Yes. Bluetooth setup and the interface the app uses to find and configure the NerdNOS stay compatible.
Do I need a special power supply for the update?
For writing, the computer's USB port is enough. For mining, the NerdNOS needs a power supply with 5 V and at least 2.4 A; the mining chip does not start from a computer's USB port.

Note

You flash the firmware at your own responsibility. The BitMiner24 firmware for the NerdNOS is a fork of the nerdnos branch of NerdMiner_v2 (© 2024 WantClue), which goes back to NerdMiner_v2 by BitMaker and HAN Miner by Valerio Vaccaro, all under the MIT licence.