Giter Site home page Giter Site logo

nerdminer_v2's Introduction

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 or any supported boards (check Build tutorial 👇)
  • 3D BOX here

Project description

ESP32 implementing Stratum protocol to mine on solo pool. Pool can be changed but originally works with public-pool.io (where Nerdminers are supported).

This project was initialy developed using ESP32-S3, but currently support other boards. It uses WifiManager to modify miner settings and save them to SPIFF. The microMiner comes with several screens to monitor it's working procedure and also to show you network mining stats. Currently includes:

  • NerdMiner Screen > Mining data of Nerdminer
  • ClockMiner Screen > Fashion style clock miner
  • GlobalStats Screen > Global minery stats and relevant data

This miner is multicore and multithreads, both cores are used to mine and several threads are used to implementing stratum work and wifi stuff. Every time an stratum job notification is received miner update its current work to not create stale shares.

IMPORTANT Miner is not seen by all standard pools due to its low share difficulty. You can check miner work remotely using specific pools specified down or seeing logs via UART.

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

Build Tutorial

Hardware requirements

  • LILYGO T-Display S3 (original one) or any other supported boards
  • 3D BOX here

Current Supported Boards

*Affiliate links

Flash firmware

microMiners Flashtool [Recommended]

Easyiest way to flash firmware. Build your own miner using the folowing firwmare flash tool:

  1. Get a TTGO T-display S3 or any other supported board
  2. Go to NM2 flasher online: https://flasher.bitronics.store/ (recommend via Google Chrome incognito mode)

Standard tool

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

  1. Get a TTGO T-display S3 or any supported board
  2. Download this repository
  3. Go to ESPtool online: https://espressif.github.io/esptool-js/
  4. Load the firmware with the binary from one of the sub-folders of bin corresponding to your board.
  5. Plug your board and select each file from the sub-folder (.bin files).

Update firmware

Update NerdMiner firmware following same flashing steps but only using the file 0x10000_firmware.bin.

Build troubleshooting

  1. Online ESP Tool 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.
  5. In case of ESP32-WROOM Boards, could be necessary to put your board on boot mode. Hold boot button, press reset button and then program.

NerdMiner configuration

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

Note: when BTC address of your selected wallet is not provided, mining will not be started.

Wifi Accesspoint

  1. Connect to NerdMinerAP

    • AP: NerdMinerAP
    • PASS: MineYourCoins
  2. Set up your Wifi Network

  3. Add your BTC address

  4. Change the password if needed

    • If you are using public-pool.io and you want to set a custom name to your worker you can append a string with format .yourworkername to the address

SD card (if available)

  1. Format a SD card using Fat32.
  2. Create a file named "config.json" in your card's root, containing the the following structure. Adjust the settings to your needs:
{  
  "SSID": "myWifiSSID",  
  "WifiPW": "myWifiPassword",  
  "PoolUrl": "public-pool.io",  
  "PoolPort": 21496,
  "PoolPassword": "x",
  "BtcWallet": "walletID",  
  "Timezone": 2,  
  "SaveStats": false  
}
  1. Insert the SD card.
  2. Hold down the "reset configurations" button as described below to reset the configurations and/or boot without settings in your nvmemory.
  3. Power down to remove the SD card. It is not needed for mining.

Pool selection

Recommended low difficulty share pools:

Pool URL Port Web URL Status
public-pool.io 21496 https://web.public-pool.io Open Source Solo Bitcoin Mining Pool supporting open source miners
nerdminers.org https://nerdminers.org Team domain for future pool - Currently pointing to public-pool.io
pool.nerdminer.io 3333 https://nerdminer.io Mantained by CHMEX
pool.vkbit.com 3333 https://vkbit.com/ Mantained by djerfy - public-pool fork
pool.pyblock.xyz 3333 https://pool.pyblock.xyz/ Mantained by curly60e
pool.sethforprivacy.com 3333 https://pool.sethforprivacy.com/ Mantained by @sethforprivacy - public-pool fork

Other standard pools not compatible with low difficulty share:

Pool URL Port Web 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

One button devices:

  • One click > change screen.
  • Double click > change screen orientation.
  • Tripple click > turn the screen off and on again.
  • Hold 5 seconds > reset the configurations and reboot your NerdMiner.

Two button devices:

With the USB-C port to the right:

TOP BUTTON

  • One click > change screen.
  • Hold 5 seconds > top right button to reset the configurations and reboot your NerdMiner.
  • Hold and power up > enter configuration mode and edit current config via Wifi. You could change your settings or verify them.

BOTTOM BUTTON

  • One Click > turn the screen off and on again
  • Double click > change orientation (default is USB-C to the right)

Build video

Ver video aquí

Developers

Project guidelines

  • Current project was adapted to work with PlatformIO
  • Current project works with ESP32-S3 and ESP32-wroom.
  • Partition squeme should be build as huge app
  • All libraries needed shown on platform.ini

Job done

  • 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 pool support for low difficulty miners
  • Add best difficulty on miner screen
  • Add suport to standard ESP32 dev-kit / ESP32-WROOM
  • Code changes to support adding multiple boards
  • Add support to TTGO T-display 1.14
  • Add support to Amoled

In process

  • Create a daisy chain protocol via UART or I2C to support ESP32 hashboards
  • Create new screen like clockMiner but with BTC price
  • Add support to control BM1397
  • Add password field in web configuration form

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 ⚡[email protected]⚡ or using one of the affiliate links above.

If you want to order a fully assembled Nerdminer you can contribute to my job at 🛒bitronics.store🛒

Enjoy

nerdminer_v2's People

Contributors

alcar21 avatar alexandresanlim avatar arcsin3x avatar bitmaker-hub avatar cosmicpsyop avatar cybersensei1 avatar d44rkm00n avatar drego85 avatar dwightmulcahy avatar elmo128 avatar flomete avatar giovantenne avatar golden-guy avatar gyengus avatar julio-matarranz avatar metalnow avatar nitroxgas avatar paelzer avatar romanmashta avatar sany3001 avatar sethforprivacy avatar toto99303 avatar valerio-vaccaro avatar xphade avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nerdminer_v2's Issues

Not hashing

Hi! the templates keep running up, but there the shares and hashes keep at 0. Tried different power sources, usb cables and system resets. The receive address is correct. Have run it all day, but the hashing is still at 0. Anything else I could test?

Hash rate si blocca

L hash rate del nerd miner si blocca dopo un po' di ore e rimane a 0...va spento e riacceso perché riparta

Testing Results Thread: Release v1.4

I have upgraded all 3 of my nerdminers to release v1.4. (firmware bin only, as that was the only file updated).

I have one miner pointed to each of the following pools:

  • CK pool
  • braiins pool
  • zSolo pool

All three pools / miners were relatively stable prior to the upgrade. They would reset maybe every 24hrs +/-.

Now I am seeing the braiins Nerdminer rebooting itself every 8-10mins approx.

The other two miners appear to work fine so far. I will continue to run them to check stability.

New Feature : PWM Fan controlled by CPU Temperature

Love this project, and my little contribution is following

I've just quick and dirty created little PCB to be able to fit into T-Display-S3 as is

@BitMaker-hub Once I got it, I'll do a PR to implement this in code (and show CPU Temp on display), but if you want to add this feature before, of course you can :-)

image

image

ad87bb8e1f811437ca4ae511ca73391c

These boards are untested but should works without any issue

R1 10K 0805
D1 1N4148
Q1 BSS138 SOT-23

You can order 3 boards (RAW PCB) for less than $2 shipping included at OSHPARK

Have fun

Rotation screen 180°

Hello somebody know how to make 180° screen rotation to use connection link on the left ?

Question about user id

Hey everyone, just a small question, can I use multiple devices with same user id (btc address) on the same pool? For example a NerdMiner and my old laptop, can they both use same btc address?

battery ?

hi,
since the ESP allows it. i plugged a battery on it.
IMG20230425141618
i used one like the one on the photo on another ESP for another project ( the very good PoS ).

the idea is sometimes, for show or demo purposes or for fun on a desk to have the miner working without any wire. looks nicer and .. mysterious !
not for a long time but an hour or 2 would be nice.

the ESP is 3,7v so it could work on the 3.4v ... and it .. almot does.
when unplugged with the battery in it it goes on mining allright i think. but the screen stays black. you recover it when plugging again and see that the process is still on and running. ( looks like it anyway)

so it is close.
what is it missing ? some mA ? or is there a hardware safety measure ?
Could some code arrange that ? : test if battery on and make it work at a "slower" hashrate for example ?
or add a little electronic ? ( i saw an addon with a resistor to be able to tune the vent speed...)

It looks to me like a nice possible upgrade
i go from afar but i am quite willing to help work on it if you and/or other people think it is interesting.

but you haven't proposed or spoken about it, i suppose there is a good reason for that...

this is more a proposal with an issue than a real issue though. let me know if this should be posted elsewhere

Chmeulblu

Not an issue a question

Not an issue, but a question. Don't know where else to place it:

Can someone explain this that is in the readme? What does it mean it is not seen by the mining pools?

IMPORTANT Miner is not seen by pools due to its low share difficulty. You can check miner work seeing logs via UART or mainly setting up your own pool with a low difficulty rate as 1e-9

Can someone explain if there will come a mining pool just for nerdminers and why that would be better?

Installation help

hey how does one flash the firmware, or compile first and then flash the firmware I guess. Is there a blogpost or tutorial beyond "Load the firmware with the binaries from the src/bin folder.
Plug your board and select each file from src/bin with its address"
Cause thats where I am stuck. How do I load the firmware from either the src folder or bin folder. Or from both folders?

NerdMiner crashes

Hi

My NerdMiner crashes quite often. The longest runtime I have seen so far was a bit more than an hour. But it could also happen after a few minutes. This is what I see on the serial console.

Receiving: {"jsonrpc":"2.0","method":"mining.set_difficulty","params":[8000.0],"id":null}
  Receiving: {"jsonrpc":"2.0","method":"mining.notify","params":["00001cba","0f3ec3e037547d1b020e7d9bc424f67c05be412f030478220000000000000000","01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff140303230c04120b7a6400","01380000000001462c4825000000001976a91479d1987f15f5dbd6a3a0c53e4b1303fcee5fe4ef88ac00000000",["3022ea0180125737b2669149658ac05f8388948e2e4c935892fda6e2280f5204","3db41e03f608274c8088b7c63791c7ac20b9b29d84f9a2869387fb8cb46e3289","ce6c8f871c41b959e70bbd0d4188c9133bdcb78a414473c1335e6fa47b71d53b","2d89862b2b7ce5265ab6b32652dfdf33cf2075b2907e0eac538a35f68b4e074a","f022727e3313d13681a38a382553b17d17f42c4611e84597f2b8eb89fdb1f8db","85f658a477ca4708459dad82bd4de86d91e48720eecbecf049642417a4339eaf","e1d8acad8289e94c155d24e78bd70c36fe92edd1c7a02960949d4ba1ef0563c6"],"20000000","18055051","647a0b12",false],"id":null}
  Receiving: {"jsonrpc":"2.0","method":"mining.notify","params":["00001cbb","0f3ec3e037547d1b020e7d9bc424f67c05be412f030478220000000000000000","01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff140303230c041c0b7a6400","01380000000001462c4825000000001976a91479d1987f15f5dbd6a3a0c53e4b1303fcee5fe4ef88ac00000000",["3022ea0180125737b2669149658ac05f8388948e2e4c935892fda6e2280f5204","3db41e03f608274c8088b7c63791c7ac20b9b29d84f9a2869387fb8cb46e3289","ce6c8f871c41b959e70bbd0d4188c9133bdcb78a414473c1335e6fa47b71d53b","2d89862b2b7ce5265ab6b32652dfdf33cf2075b2907e0eac538a35f68b4e074a","f022727e3313d13681a38a382553b17d17f42c4611e84597f2b8eb89fdb1f8db","85f658a477ca4708459dad82bd4de86d91e48720eecbecf049642417a4339eaf","e1d8acad8289e94c155d24e78bd70c36fe92edd1c7a02960949d4ba1ef0563c6"],"20000000","18055051","647a0b1c",false],"id":null}
Guru Meditation Error: Core  1 panic'ed (Unhandled debug exception).
Debug exception reason: BREAK instr
Core  1 register dump:
PC      : 0x403743c0  PS      : 0x00060436  A0      : 0x00000000  A1      : 0x3fcebef0
A2      : 0x3fc9cb7c  A3      : 0x00000000  A4      : 0x00000000  A5      : 0x00000000
A6      : 0x00000000  A7      : 0x00000000  A8      : 0x82028748  A9      : 0x00000003
A10     : 0x3fca6a08  A11     : 0x00060023  A12     : 0x00000003  A13     : 0x82028748
A14     : 0x3fcebea0  A15     : 0x57f3eb07  SAR     : 0x13a2f05e  EXCCAUSE: 0x00000001
EXCVADDR: 0xffffffe0  LBEG    : 0x00000000  LEND    : 0x00000000  LCOUNT  : 0x00000000

Backtrace: 0x403743bd:0x3fcebef0

ELF file SHA256: 6d4e665f53b1e0e3

Rebooting...```

Any idea what is causing that?

Regards

Blank screen after flash

Disconnected and reconnected to power, but screen is blank and lights are not blinking. Is it issue with power cable ?

Error: MD5 of file does not match data in flash!

After flashing starts, first file is flashed properly, next one failed.

Chip is ESP32-S3
Features: Wi-Fi,BLE
Crystal is 40MHz
MAC: 34:85:18:71:80:a8
Uploading stub...
Running stub...
Stub running...
Changing baudrate to 115200
Changed
Not changing the image
Compressed 147588 bytes to 26696...
Writing at 0x0... (50%)
Writing at 0x166d9... (100%)
Wrote 147588 bytes (26696 compressed) at 0x0 in 1.277 seconds.
Hash of data verified.
Leaving...
Compressed 140774 bytes to 25349...
Writing at 0x8000... (50%)
Writing at 0x1e6ed... (100%)
Wrote 140774 bytes (25349 compressed) at 0x8000 in 1.701 seconds.
File md5: d5991faf1385fa4a96c5f69fc5ea498b
Flash md5: 1cc2316456f823552af84c8a89a96b05
Error: MD5 of file does not match data in flash!

No hash rate update on pool statistic

Hello,

I just started running nerd miner, it is a great project.
I have try get BTC address from my trezor and put in a config. firstly i run with ckpool for 2 hours and when I check on the address https://solo.ckpool.org/users/MYBTCADDRESS and it show the page not found then I decided to reset the config and try with zsolo pool and it was run for 10 hours but still no hash rate show up on the page https://zsolo.bid/en/user/btc?address=MYBTCADDRESS

image

Not sure this is normal or a bug on the miner.

move to platform.io

platform.io will automatically download env and needed libraries, consider to move project on platform.io

Not showing on Pool Sites

I tried ckpool and zsolo and it doesn't show it's hasing but it does show it's working on the screen at 20+KH/s

I reloaded the new bin files today as well.

Error: CryptoJS is not defined

Hello,

When trying to flash the firmware, I am getting the message: "Error: CryptoJS is not defined" and the firmware is not flashed.

Any thoughts on how to solve this?

Suggestion: Add debug screen

Would be nice if there is a debug screen we can access using button press so that if anything isn't working correctly we can check it for notifications/cause. This way we can report errors easier.

The debug screen would only keep the most recent 5 notifications and all older notifications will be pruned/removed. This would prevent log bloat/overfill.

Error during flashing ESP32S3

Hello !

Thank you for this amanzing little miner and all your work.

I have a problem : when I load the firmware with the binaries from the src/bin folder, i have the following error :

image

This is weird because the miner seems to work perfectly.

How can I verify if there are something wrong ?

Does the miner really work?

I have a own BTC Node and setup a pool on it with the mining diff 0.00001.

The Nerdminer is not able to find share with this diff. I find that a bit strange.
Now I tried a CPU miner on my PC that has only one thread (11-18 KH/s) and I find 5-10 shares per second with it. My NerdMiner has 21 KH/s.

Unable to change SSID from confiiguration webapp after initial configuration

I apologize as I am a bit new to this platform and still working through some of the tooling involved, but I am pausing here to make a report that might help others with testing. I have successfully connected to a pool and started mining using pool solo.ckpool.org. Great work NerdMiner_V2 team.

I ran into this issue trying to determine what was going on when there was no handshake happening with the upstream pool and needed to change the configuration.

  • For a configured NerdMiner, disabling the specified access point helps put the NerdMiner into NerdMinerAP configuration mode after some time. I read else where holding the top button 5 seconds might do the trick, but disabling the access point helped in my situation when button access was an issue.

  • Connect to the webapp at http://192.168.4.1 and change the ssid and password values and submit. NOTE: While the ssid and password are the only values offered from the webapp and the webapp is the only presentation relevant to this issue, for fun I did try variations using curl to get at the configuration values i.e.

curl --location --request POST 'http://192.168.4.1/wifisave' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 's=myssid' \
--data-urlencode 'p=myssidPassWord' \
--data-urlencode 'Poolurl=btc.zsolo.bid ' \
--data-urlencode 'Poolport=6057' \
--data-urlencode 'btcAddress=bcxyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz6d'
  • The result is the ssid is not changed and the NerdMiner connects to the previously configured ssid.

  • The only way I found to change the mining configuration is erase the flash AND reflash the firmware.

I hooked up the serial console and here is what I observed when using the NerdMinerAP configuration mode and attempting to change the ssid from the webapp a couple times:


Type [C-a] [C-h] to see available commands
Terminal ready
Mounting File System...
mounted file system
reading config file
Opened configuration file
{
  "poolString": "eu.stratum.slushpool.com",
  "portNumber": 3333,
  "btcString": "bcxyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz6d"
}
AllDone: 
*wm:*wm:AutoConnect: FAILED for  51005 ms
*wm:StartAP with SSID:  NerdMinerAP
*wm:AP IP address: 192.168.4.1
Entered Configuration Mode
Config SSID: NerdMinerAP
Config IP Address: 192.168.4.1
*wm:Starting Web Portal 
Failed to connect and hit timeout

Initiating tasks...
[MONITOR] started


[WORKER] Started. Running (0) on core 1
### [Total Heap / Free heap]: 348752 / 236580 
Starting (0) successful!
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.000 KH/s
[Error] - current status: 6
[ 59613][E][WebServer.cpp:649] _handleRequest(): request handler not found
[ 59695][E][WebServer.cpp:649] _handleRequest(): request handler not found
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.000 KH/s
[ 60788][E][WebServer.cpp:649] _handleRequest(): request handler not found
[ 60812][E][WebServer.cpp:649] _handleRequest(): request handler not found
[ 60899][E][Parsing.cpp:548] _parseForm(): Error: line: -----------hello world-----------
[ 62890][E][WebServer.cpp:649] _handleRequest(): request handler not found
[ 62913][E][WebServer.cpp:649] _handleRequest(): request handler not found
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.000 KH/s
[ 67006][E][WebServer.cpp:649] _handleRequest(): request handler not found
[ 67028][E][WebServer.cpp:649] _handleRequest(): request handler not found
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.000 KH/s
[ 75117][E][WebServer.cpp:649] _handleRequest(): request handler not found
[ 75141][E][WebServer.cpp:649] _handleRequest(): request handler not found
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.000 KH/s
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.000 KH/s
*wm:3 networks found
*wm:[ERROR] WiFiManagerParameter is out of scope 
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.000 KH/s
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.000 KH/s
[ 91236][E][WebServer.cpp:649] _handleRequest(): request handler not found
[ 91258][E][WebServer.cpp:649] _handleRequest(): request handler not found
*wm:[ERROR] scan waiting 
*wm:. 
*wm:. 
*wm:. 
*wm:. 
*wm:. 
*wm:. 
*wm:. 
*wm:. 
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.000 KH/s
*wm:. 
*wm:. 
*wm:. 
*wm:. 
*wm:. 
*wm:. 
*wm:. 
*wm:. 
*wm:. 
*wm:. 
*wm:. 
*wm:. 
*wm:. 
*wm:. 
*wm:. 
*wm:-2 networks found
*wm:[ERROR] WiFiManagerParameter is out of scope 
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.000 KH/s
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.000 KH/s
*wm:3 networks found
*wm:[ERROR] WiFiManagerParameter is out of scope 
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.000 KH/s
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.000 KH/s
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.000 KH/s
[123372][E][WebServer.cpp:649] _handleRequest(): request handler not found
[123396][E][WebServer.cpp:649] _handleRequest(): request handler not found
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.000 KH/s
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.000 KH/s
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.000 KH/s
*wm:3 networks found
*wm:[ERROR] WiFiManagerParameter is out of scope 
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.000 KH/s
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.000 KH/s
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.000 KH/s
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.000 KH/s
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.000 KH/s
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.000 KH/s
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.000 KH/s
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.000 KH/s
Guru Meditation Error: Core  1 panic'ed (StoreProhibited). Exception was unhandled.

Core  1 register dump:
PC      : 0x42027c43  PS      : 0x00060830  A0      : 0x8201dda4  A1      : 0x3fcebba0  
A2      : 0x3fcebbdc  A3      : 0x00000006  A4      : 0x3fca6a09  A5      : 0x00000000  
A6      : 0x00000000  A7      : 0x3fc9c5e4  A8      : 0x82027c40  A9      : 0x3fcebb80  
A10     : 0x00000000  A11     : 0x3fcebc1c  A12     : 0x00000080  A13     : 0x3fcebbdc  
A14     : 0x0000000e  A15     : 0xff000000  SAR     : 0x00000018  EXCCAUSE: 0x0000001d  
EXCVADDR: 0x00000006  LBEG    : 0x400556d5  LEND    : 0x400556e5  LCOUNT  : 0xffffffff  


Backtrace: 0x42027c40:0x3fcebba0 0x4201dda1:0x3fcebbc0 0x420201c1:0x3fcebc50 0x420a3f9d:0x3fcebcc0 0x420080ea:0x3fcebce0 0x42091429:0x3fcebd00 0x42091506:0x3fcebd40 0x420916b9:0x3fcebdb0 0x4201ee22:0x3fcebe00 0x4201f023:0x3fcebe60 0x42006182:0x3fcebe80 0x42002e7d:0x3fcebea0 0x42028dbd:0x3fcebef0




ELF file SHA256: 4a4711d6d90b581d

Rebooting...
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0xc (RTC_SW_CPU_RST),boot:0xb (SPI_FAST_FLASH_BOOT)
Saved PC:0x420a5bc2
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x44c
load:0x403c9700,len:0xbe4
load:0x403cc700,len:0x2a38
entry 0x403c98d4
[   394][E][esp32-hal-misc.c:143] disableCore1WDT(): Failed to remove Core 1 IDLE task from WDT
NerdMiner v2 starting......
[   395][E][esp32-hal-gpio.c:102] __pinMode(): Invalid pin selected
E (121) gpio: gpio_set_level(226): GPIO output gpio_num error
[   403][E][esp32-hal-gpio.c:102] __pinMode(): Invalid pin selected
E (133) gpio: gpio_set_level(226): GPIO output gpio_num error
Mounting File System...
mounted file system
reading config file
Opened configuration file
{
  "poolString": "eu.stratum.slushpool.com",
  "portNumber": 3333,
  "btcString": "bcxyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz6d"
}Parsing JSON
AllDone: 
*wm:AutoConnect 
*wm:Connecting to SAVED AP: cosmicpsyop
*wm:AutoConnect: FAILED for  50605 ms
*wm:StartAP with SSID:  NerdMinerAP
*wm:AP IP address: 192.168.4.1
Entered Configuration Mode
Config SSID: NerdMinerAP
Config IP Address: 192.168.4.1
*wm:Starting Web Portal 
Failed to connect and hit timeout

Initiating tasks...
[MONITOR] started


[WORKER] Started. Running (0) on core 1
### [Total Heap / Free heap]: 348744 / 236616 
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.000 KH/s
Starting (0) successful!
[Error] - current status: 6
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.000 KH/s
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.000 KH/s
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.000 KH/s
Guru Meditation Error: Core  1 panic'ed (StoreProhibited). Exception was unhandled.

Core  1 register dump:
PC      : 0x42027c43  PS      : 0x00060030  A0      : 0x8201dda4  A1      : 0x3fcebc30  
A2      : 0x3fcebc6c  A3      : 0x00000006  A4      : 0x3fca6ab9  A5      : 0x00000000  
A6      : 0x00000000  A7      : 0x3fc9c5e4  A8      : 0x82027c40  A9      : 0x3fcebc10  
A10     : 0x00000000  A11     : 0x3fcebcac  A12     : 0x00000080  A13     : 0x3fcebc6c  
A14     : 0x0000000e  A15     : 0xff000000  SAR     : 0x00000018  EXCCAUSE: 0x0000001d  
EXCVADDR: 0x00000006  LBEG    : 0x400556d5  LEND    : 0x400556e5  LCOUNT  : 0xffffffff  


Backtrace: 0x42027c40:0x3fcebc30 0x4201dda1:0x3fcebc50 0x420201c1:0x3fcebce0 0x420a3f9d:0x3fcebd50 0x420080ea:0x3fcebd70 0x42091429:0x3fcebd90 0x42091506:0x3fcebdd0 0x420916b9:0x3fcebe40 0x4201ee22:0x3fcebe90 0x4201f023:0x3fcebef0 0x42006182:0x3fcebf10 0x42002e7d:0x3fcebf30 0x42028dbd:0x3fcebf80




ELF file SHA256: 4a4711d6d90b581d

Rebooting...

Support for other ESP32-S3 boards

I do own one ESP32-S3 Box and one WT32-SC01 Plus. Both boards are S3 compatible, but do have other display resolutions. It would be nice, to support also other boards for this.

If wanted, I could create PRs for that.

lost WLAN connection after same hours

Hi, after about 2-4 hours, the miner is currently leaving my WLAN. No new blocks are then requested and the hash rate goes to zero. Everything else seems to continue to work. At the moment I can't see why it should be. Version is the latest 1.4
Edit: now i have a uptime from 13h, I hope he lasts a while longer.

Buttons without function

the miner works so far. If USB-C is on the right, the top button is totally reset. It works. I couldn't understand the function of turning the display with a double click and display off. Version 1.4

Suggestion: Uptime

Is it possible to change the Uptime in "days - hours - minutes" if it reaches above 24h or in general?

Zsolo pool doesn't works

My 3 devices did go to zero 9 hours ago (zsolo and port 6056).
I tried to reset or reboot my router with no luck. Change to ckpool fix the problem.
I see that in zsolo web there isn't mention to the very low hash port (dissapear) and only normal diff (>500)
Using 6057 doesn't works anymore.
Back to ckpool before nerdpool will go online. ;)

Console : btc.zsolo.biz
Resolved DNS got: 0.0.0.0
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.00 KH/s
>>> [i] Miner: newJob>false / inRun>false) - Client: connected>false / subscribed>false / wificonnected>true
[WORKER] ==> Mining subscribe
Sending : {"id": 1, "meth>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.00 KH/s
>>> [i] Miner: newJob>false / inRun>false) - Client: connected>false / subscribed>false / wificonnected>true
>>> Completed 0 share(s), 0 Khashes, avg. hashrate 0.00 KH/s
>>> [i] Miner: newJob>false / inRun>false) - Client: connected>false / subscribed>false / wificonnected>true
Client not connected, trying to connect...

Completed 0 share(s), 0 Khashes, avg.

Turn off display

Instead of having the display always on, it would be nice if there was an option to have it off by default and switch it on for some seconds when a button is pressed.

Zero Hash Rate

After running for a few hours, the hash rate goes to zero. That issues usually takes 24 hours to happen.

Completed setup but not hashing

I was able to configure the miner but once it went through the setup, the main screen just shows the count for how long the device has been on. All other items being tracked on the screen are at zero.

Wifi failure

Hi! Cool project!
When I connect to wifi it reboots multiple time and it connects succesfully to the wifi but ends up disconnected and back in AP mode. When I login wifimanager says authentication failure.

Tried to find solutions in wifimanager github but no real success for a solution, although connection issues seem to be prevalent in wifimanager:
tzapu/WiFiManager#1067

Password incorrect (fixed)

I had a device that I flashed successfully, but when I tried connecting to the access point it would not connect and show a 'password incorrect' message on my phone. Also the QR did not work. Tried flashing multiple times but the problem persisted. 3 other devices did not have this issue at all.

The solution was to do an "Erase flash" first in the ESP Tool flasher, and then load the firmware again. After that the issue was fixed. Putting it here for others, as a pull request for one line in the readme seemed a bit of overkill. ;)

cheers,
Yafsec

Idea: Adding OTA updates. (low-prio)

I've seen a few people on twitter and telegram, some of whom have 4+ nerdminers.
Wouldn't an OTA feature be useful specifically for these people?

Question: Is it possible to connect to lincoin.com mining pool?

@econoalchemist has a pool:

[Taken from recent Spotify pod256 pod cast description]

Pick any Lincoin URL:

a)  stratum+tcp://NA.lincoin.com:3333

b)  stratum+tcp://EU.lincoin.com:3333

c) stratum+tcp://LatAm.lincoin.com:3333

d) stratum+tcp://CIS.lincoin.com:3333

e) stratum+tcp://Asia.lincoin.com:3333

f) stratum+tcp://OC.lincoin.com:3333

g) stratum+tcp://Africa.lincoin.com:3333

Then use "pod256.YourAlias" as the worker name.

I tried to use 'NA.lincoin.com' and port '3333' but 'shares' counter on NerdMinder does not increase. hash rate stays at 0.00.

Is any special setup required in order to connect to a mining pool or does the mining pool need to support a specific connection?

Buttons not working

Using firmware '0x10000_firmware.bin', the only button option that works for me is:
Hold 5 seconds > top right button to reset the configurations and reboot your NerdMiner.

Device: LilyGO TTGO T-Display-S3 ESP32-S3 - met 1.9 inch TFT Display

TOP BUTTON

  • One click > change screen.
  • Hold 5 seconds > top right button to reset the configurations and reboot your NerdMiner.
  • Hold and power up > enter configuration mode and edit current config via Wifi. You could change your settings or verify them.

BOTTOM BUTTON

  • One Click > turn the screen off and on again
  • Double click > change orientation (default is USB-C to the right)

Battery use - need specials specs ?

HI,
i see there is another firmware that deals with Battery. thanks.
i tried it right away and get the same behavior as before however :

If a battery is plugged in and you disconnect the USB power source to use the miner on the go ...the screen goes black.
when you plug it in again to an usb power source, after some time, you see that it has gone on mining during the "black out" . time, shares, Millions hashes .. have continued and gone up. Great.
so it is working and may be that shouldn't be an issue ?

Is my 3.7 v 1000mAh battery too weak somehow ? it fits the 3.4v ESP need ...
can you recommend some or post the one you used that obviously works fine including the display and can fit within the miner's box ?

Thanks.

NerdMiner crashes

Hi

My NerdMiner crashes quite often. The longest runtime I have seen so far was a bit more than an hour. But it could also happen after a few minutes. This is what I see on the serial console.

Receiving: {"jsonrpc":"2.0","method":"mining.set_difficulty","params":[8000.0],"id":null}
  Receiving: {"jsonrpc":"2.0","method":"mining.notify","params":["00001cba","0f3ec3e037547d1b020e7d9bc424f67c05be412f030478220000000000000000","01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff140303230c04120b7a6400","01380000000001462c4825000000001976a91479d1987f15f5dbd6a3a0c53e4b1303fcee5fe4ef88ac00000000",["3022ea0180125737b2669149658ac05f8388948e2e4c935892fda6e2280f5204","3db41e03f608274c8088b7c63791c7ac20b9b29d84f9a2869387fb8cb46e3289","ce6c8f871c41b959e70bbd0d4188c9133bdcb78a414473c1335e6fa47b71d53b","2d89862b2b7ce5265ab6b32652dfdf33cf2075b2907e0eac538a35f68b4e074a","f022727e3313d13681a38a382553b17d17f42c4611e84597f2b8eb89fdb1f8db","85f658a477ca4708459dad82bd4de86d91e48720eecbecf049642417a4339eaf","e1d8acad8289e94c155d24e78bd70c36fe92edd1c7a02960949d4ba1ef0563c6"],"20000000","18055051","647a0b12",false],"id":null}
  Receiving: {"jsonrpc":"2.0","method":"mining.notify","params":["00001cbb","0f3ec3e037547d1b020e7d9bc424f67c05be412f030478220000000000000000","01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff140303230c041c0b7a6400","01380000000001462c4825000000001976a91479d1987f15f5dbd6a3a0c53e4b1303fcee5fe4ef88ac00000000",["3022ea0180125737b2669149658ac05f8388948e2e4c935892fda6e2280f5204","3db41e03f608274c8088b7c63791c7ac20b9b29d84f9a2869387fb8cb46e3289","ce6c8f871c41b959e70bbd0d4188c9133bdcb78a414473c1335e6fa47b71d53b","2d89862b2b7ce5265ab6b32652dfdf33cf2075b2907e0eac538a35f68b4e074a","f022727e3313d13681a38a382553b17d17f42c4611e84597f2b8eb89fdb1f8db","85f658a477ca4708459dad82bd4de86d91e48720eecbecf049642417a4339eaf","e1d8acad8289e94c155d24e78bd70c36fe92edd1c7a02960949d4ba1ef0563c6"],"20000000","18055051","647a0b1c",false],"id":null}
Guru Meditation Error: Core  1 panic'ed (Unhandled debug exception).
Debug exception reason: BREAK instr
Core  1 register dump:
PC      : 0x403743c0  PS      : 0x00060436  A0      : 0x00000000  A1      : 0x3fcebef0
A2      : 0x3fc9cb7c  A3      : 0x00000000  A4      : 0x00000000  A5      : 0x00000000
A6      : 0x00000000  A7      : 0x00000000  A8      : 0x82028748  A9      : 0x00000003
A10     : 0x3fca6a08  A11     : 0x00060023  A12     : 0x00000003  A13     : 0x82028748
A14     : 0x3fcebea0  A15     : 0x57f3eb07  SAR     : 0x13a2f05e  EXCCAUSE: 0x00000001
EXCVADDR: 0xffffffe0  LBEG    : 0x00000000  LEND    : 0x00000000  LCOUNT  : 0x00000000

Backtrace: 0x403743bd:0x3fcebef0

ELF file SHA256: 6d4e665f53b1e0e3

Rebooting...```

Any idea what is causing that?

Regards

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.