# 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](images/NerdMinerv2.jpg) ## Requirements - TTGO T-Display S3 - 3D BOX [here](3d_files/) ### 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 1. Download this repository 1. Go to ESPtool online: https://espressif.github.io/esptool-js/ 1. Load the firmware with the binaries from the src/bin folder. 1. Plug your board and select each file from src/bin with its address #### Build troubleshooting 1. Online ESPtool works with chrome, chromium, brave 1. ESPtool recommendations: use 115200bps 1. 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 ### NerdMiner configuration After programming, you will only need to setup your Wifi and BTC address. 1. Connect to NerdMinerAP - AP: NerdMinerAP - PASS: MineYourCoins 1. Setup your Wifi Network 1. 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 | **If you need to reboot your currentConfig**, hold right top button during 5 seconds and config will be deleted. #### Build video [![Ver video aquí](https://img.youtube.com/vi/POUT2R_opDs/0.jpg)](https://youtu.be/POUT2R_opDs) ## 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 - [x] Move project to platformIO - [x] Bug rectangle on screen when 1milion shares - [x] Bug memory leaks - [x] Bug Reboots when received JSON contains some null values - [x] Implement midstate sha256 - [x] 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