NerdNos-Firmware/README.md
BitMaker 9139fa7a18 Code refactoring & upgrades
- Added new button funcion to access config without losing current configuration
- Added code to change screens
- Added socket connection checker to reconnect even if socket is connected but no NOTIFY data is gotten on more than 2 minutes
2023-06-07 10:51:46 +02:00

3.9 KiB

NerdSoloMiner

The NerdSoloMiner v2

This is a free and open source project that let you try to reach a bitcoin block with a small piece of hardware.

The main aim of this project is to let you learn more about minery and to have a beautiful piece of hardware in your desktop.

Original project https://github.com/valerio-vaccaro/HAN

image

Requirements

  • TTGO T-Display S3
  • 3D BOX here

Project description

ESP32 implementing Stratum protocol to mine on solo pool. Pool can be changed but originally works with ckpool.

This project is using ESP32-S3, uses WifiManager to modify miner settings and save them to SPIFF.

This miner is multicore and multithreads, each thread mine a different block template. After 1,000,000 trials the block in refreshed in order to avoid mining on old template.

Current project is still in developement and more features will be added

Build Tutorial

Hardware requirements

  • TTGO T-Display S3 > Buy it on aliexpress or amazon
  • 3D BOX

Flash firmware

Create your own miner using the online tool ESPtool and the binary files that you will find in the src/bin folder. If you want you can compile the entire project using Arduino, PlatformIO or Expressif IDF.

  1. Get a TTGO T-display S3
  2. Download this repository
  3. Go to ESPtool online: https://espressif.github.io/esptool-js/
  4. Load the firmware with the binaries from the src/bin folder.
  5. Plug your board and select each file from src/bin with its address

Build troubleshooting

  1. Online ESPtool works with chrome, chromium, brave
  2. ESPtool recommendations: use 115200bps
  3. Build errors > If during firmware download upload stops, it's recommended to enter the board in boot mode. Unplug cable, hold right bottom button and then plug cable. Try programming
  4. In extreme case you can "Erase all flash" on ESPtool to clean all current configuration before uploading firmware. There has been cases that experimented Wifi failures until this was made.

NerdMiner configuration

After programming, you will only need to setup your Wifi and BTC address.

  1. Connect to NerdMinerAP
    • AP: NerdMinerAP
    • PASS: MineYourCoins
  2. Setup your Wifi Network
  3. Add your BTCaddress

Optional you can select other pool:

Pool URL Port URL
solo.ckpool.org 3333 https://solo.ckpool.org/
btc.zsolo.bid 6057 https://zsolo.bid/en/btc-solo-mining-pool
eu.stratum.slushpool.com 3333 https://braiins.com/pool

Buttons

With the USB-C port to the right:

  • Hold top right button and power up to enter configuration mode and edit current config via Wifi.
  • During normal operation hold 5 seconds top right button to reset the configurations and reboot your NerdMiner.
  • Click the bottom button once to turn the screen off and on again
  • Double click to change the orientation (default is USB-C to the right)

Build video

Ver video aquí

Developers

Project guidelines

  • Current project was addapted to work with PlatformIO
  • Current project works with ESP32-S3 but any ESP32 can be used.
  • Partition squeme should be build as huge app
  • All libraries needed shown on platform.ini

On process

  • Move project to platformIO
  • Bug rectangle on screen when 1milion shares
  • Bug memory leaks
  • Bug Reboots when received JSON contains some null values
  • Implement midstate sha256
  • Bug Wificlient DNS unresolved on Wifi.h
  • Code refactoring
  • Add blockHeight to screen
  • Add clock to show current time
  • Add new screen with global mining stats
  • Add support to control BM1397

Donations/Project contributions

If you would like to contribute and help dev team with this project you can send a donation to the following LN address teamnerdminer@getalby.com

Enjoy