NerdNos-Firmware/README.md

89 lines
3.4 KiB
Markdown
Raw Normal View History

2023-03-20 01:43:08 +01:00
# 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.
2023-03-20 01:43:08 +01:00
Original project https://github.com/valerio-vaccaro/HAN
![image](images/NerdMinerv2.jpg)
2023-03-20 01:43:08 +01:00
## Requirements
- TTGO T-Display S3
2023-04-07 00:48:10 +02:00
- 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.
2023-03-20 01:43:08 +01:00
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.
2023-03-20 01:43:08 +01:00
***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.
2023-03-20 01:43:08 +01:00
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
2023-03-20 01:43:08 +01:00
#### 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.
2023-03-20 01:43:08 +01:00
1. Connect to NerdMinerAP
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
2023-03-21 00:20:32 +01:00
[![Ver video aquí](https://img.youtube.com/vi/POUT2R_opDs/0.jpg)](https://youtu.be/POUT2R_opDs)
2023-04-07 00:43:20 +02:00
## 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
2023-05-01 22:29:05 +02:00
- [x] Implement midstate sha256
2023-05-06 00:46:16 +02:00
- [x] Bug Wificlient DNS unresolved on Wifi.h
2023-05-01 22:29:05 +02:00
- [ ] Code refactoring
- [ ] Add blockHeight to screen
2023-05-01 22:29:05 +02:00
- [ ] Add clock to show current time
- [ ] Add new screen with global mining stats
- [ ] Add support to control BM1397
2023-05-06 00:46:16 +02:00
### 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