Skip to content

Commit

Permalink
Merge pull request #373 from BitMaker-hub/master
Browse files Browse the repository at this point in the history
rebase
  • Loading branch information
BitMaker-hub authored May 10, 2024
2 parents c13960a + 8f7b64d commit b9aafd5
Show file tree
Hide file tree
Showing 107 changed files with 20,257 additions and 62 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
.idea/
.pio
.vscode
.vs
Expand Down
Binary file added 3d_files/NerdMinerv2_SecurePins.stl
Binary file not shown.
29 changes: 22 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Original project https://github.com/valerio-vaccaro/HAN

### Project description

**ESP32 implementing Stratum protocol** to mine on solo pool. Pool can be changed but originally works with [public-pool.io][https://web.public-pool.io] (where Nerdminers are supported).
**ESP32 implementing Stratum protocol** to mine on solo pool. Pool can be changed but originally works with [public-pool.io](https://web.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.
Expand Down Expand Up @@ -48,10 +48,19 @@ Every time an stratum job notification is received miner update its current work
- LILYGO T-QT pro ([Aliexpress link\*](https://s.click.aliexpress.com/e/_DBQIr43))
- LILYGO T-Display 1.14 ([Aliexpress link\*](https://s.click.aliexpress.com/e/_DEqGvSJ))
- LILYGO T-Display S3 AMOLED ([Aliexpress link\*](https://s.click.aliexpress.com/e/_DmOIK6j))
- LILYGO T-Display S3 AMOLED Touch ([Board Info](https://www.lilygo.cc/products/t-display-s3-amoled?variant=43532279939253))
- LILYGO T-Dongle S3 ([Aliexpress link\*](https://s.click.aliexpress.com/e/_DmQCPyj))
- ESP32-2432S028R 2,8" ([Aliexpress link\*](https://s.click.aliexpress.com/e/_DdXkvLv) / Dev support: @nitroxgas / ⚡[email protected])
- ESP32-cam ([Board Info](https://lastminuteengineers.com/getting-started-with-esp32-cam/) / Dev support: @elmo128)
- M5-StampS3 ([Aliexpress link\*](https://s.click.aliexpress.com/e/_DevABY3) / Dev support: @gyengus)
- Wemos Lolin S3 Mini ([Board Info](https://docs.platformio.org/en/latest/boards/espressif32/lolin_s3_mini.html))
- Wemos Lolin S2 Mini ([Board Info](https://docs.platformio.org/en/latest/boards/espressif32/lolin_s2_mini.html))
- Weact S3 Mini ([Board Info](https://github.com/WeActStudio/WeActStudio.ESP32S3-MINI))
- Weact ESP32-D0WD-V3 ([Board Info](https://github.com/WeActStudio/WeActStudio.ESP32CoreBoard))
- ESP32-S3 Devkit ([Board Info](https://docs.platformio.org/en/latest/boards/espressif32/esp32-s3-devkitm-1.html))
- ESP32-C3 Devkit ([Board Info](https://docs.platformio.org/en/latest/boards/espressif32/esp32-c3-devkitm-1.html))
- ESP32-C3 Super Mini ([Board Info](https://docs.platformio.org/en/latest/boards/espressif32/seeed_xiao_esp32c3.html))
- Waveshare ESP32-S3-GEEK ([Board Info](https://www.waveshare.com/wiki/ESP32-S3-GEEK))

\*Affiliate links

Expand All @@ -62,7 +71,7 @@ Every time an stratum job notification is received miner update its current work
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
1. Go to NM2 flasher online: https://flasher.bitronics.store/
1. Go to NM2 flasher online: https://flasher.bitronics.store/ (recommend via Google Chrome incognito mode)

#### Standard tool

Expand All @@ -81,7 +90,7 @@ Update NerdMiner firmware following same flashing steps but only using the file

#### Build troubleshooting

1. Online ESPtool works with chrome, chromium, brave
1. Online [ESP Tool](https://espressif.github.io/esptool-js/) 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
1. 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.
Expand All @@ -91,13 +100,16 @@ Update NerdMiner firmware following same flashing steps but only using the file

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
1. Setup your Wifi Network
1. Add your BTCaddress
1. Set up your Wifi Network
1. Add your BTC address
1. 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
Expand All @@ -107,6 +119,7 @@ After programming, you will only need to setup your Wifi and BTC address.

1. Format a SD card using Fat32.
1. 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",
Expand All @@ -117,6 +130,7 @@ After programming, you will only need to setup your Wifi and BTC address.
"Timezone": 2,
"SaveStats": false
}
```

1. Insert the SD card.
1. Hold down the "reset configurations" button as described below to reset the configurations and/or boot without settings in your nvmemory.
Expand All @@ -133,6 +147,7 @@ Recommended low difficulty share pools:
| 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:

Expand Down Expand Up @@ -174,7 +189,7 @@ With the USB-C port to the right:

### Project guidelines

- Current project was addapted to work with PlatformIO
- 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
Expand All @@ -198,7 +213,7 @@ With the USB-C port to the right:
- [x] Add support to TTGO T-display 1.14
- [x] Add support to Amoled

### On process
### In process

- [ ] Create a daisy chain protocol via UART or I2C to support ESP32 hashboards
- [ ] Create new screen like clockMiner but with BTC price
Expand Down
Binary file modified bin/bin ESP32-2432S028R/0x10000_firmware_v1.6.3.bin
Binary file not shown.
Binary file not shown.
Binary file added bin/bin ESP32-C3-devKitmv1/0x1000_bootloader.bin
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added bin/bin ESP32-C3-super-mini/0x10000_firmware.bin
Binary file not shown.
Binary file added bin/bin ESP32-C3-super-mini/0x1000_bootloader.bin
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added bin/bin ESP32-D0WD-V3-weact/0x10000_firmware.bin
Binary file not shown.
Binary file added bin/bin ESP32-D0WD-V3-weact/0x1000_bootloader.bin
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added bin/bin ESP32-S2-mini-wemos/0x10000_firmware.bin
Binary file not shown.
Binary file added bin/bin ESP32-S2-mini-wemos/0x1000_bootloader.bin
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added bin/bin ESP32-S3-devKitv1/0x10000_firmware.bin
Binary file not shown.
Binary file added bin/bin ESP32-S3-devKitv1/0x1000_bootloader.bin
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added bin/bin ESP32-S3-mini-weact/0x10000_firmware.bin
Binary file not shown.
Binary file added bin/bin ESP32-S3-mini-weact/0x1000_bootloader.bin
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added bin/bin ESP32-S3-mini-wemos/0x10000_firmware.bin
Binary file not shown.
Binary file added bin/bin ESP32-S3-mini-wemos/0x1000_bootloader.bin
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added bin/bin LILYGO TDisplay S3/0x10000_firmware.bin
Binary file not shown.
6 changes: 6 additions & 0 deletions bin/bin LILYGO TDisplay S3/burnFirmware.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#GET CURRENT COMPORT IF MORE THAN ONE (NOT RESOLVED)
$PORT = [System.IO.Ports.SerialPort]::getportnames()


#BURN BOOTLOADER, FIRMWARE
python -m esptool -p $PORT -b 460800 --before default_reset --after hard_reset --chip esp32s3 write_flash --flash_mode dio --flash_size detect --flash_freq 40m 0x0000 0x0000_bootloader.bin 0x8000 0x8000_partitions.bin 0xe000 0xe000_boot_app0.bin 0x10000 0x10000_firmware.bin
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added bin/bin Waveshare S3 Geek/0x0000_bootloader.bin
Binary file not shown.
Binary file added bin/bin Waveshare S3 Geek/0x10000_firmware.bin
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified images/bgNerdMinerV2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/bgNerdMinerV2_old.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 6 additions & 1 deletion lib/TFT_eSPI/User_Setup_Select.h
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,9 @@
//#include <User_Setups/Setup208_ESP32_S3_Box_Lite.h> // For the ESP32 S3 Box Lite (may also work with ESP32 S3 Box)

//#include <User_Setups/Setup209_LilyGo_T_Dongle_S3.h> // For the LilyGo T-Dongle S3 based ESP32 with ST7735 80 x 160 TFT
// #include <User_Setups/Setup210_LilyGo_T_Embed_S3.h> // For the LilyGo T-Embed S3 based ESP32S3 with ST7789 170 x 320 TFT
#ifdef LILYGO_S3_T_EMBED
#include <User_Setups/Setup210_LilyGo_T_Embed_S3.h> // For the LilyGo T-Embed S3 based ESP32S3 with ST7789 170 x 320 TFT
#endif
#ifdef NERMINER_T_QT
#include <User_Setups/Setup211_LilyGo_T_QT_Pro_S3.h> // For the LilyGo T-QT Pro S3 based ESP32S3 with GC9A01 128 x 128 TFT
#endif
Expand All @@ -153,6 +155,9 @@
#ifdef ESP32_CAM
#include <User_Setups/Setup212_ESP32Cam_DongleDisplay.h> // For the LilyGo T-Dongle S3 based ESP32 with ST7735 80 x 160 TFT
#endif
#ifdef NERMINER_S3_GEEK
#include <User_Setups/Setup303_WaveShare ESP32S3_GEEK.h> // Setup file for Waveshare Setup303_WaveShare ESP32S3_GEEK with ST7789 135*240 TFT
#endif
//#include <User_Setups/Setup301_BW16_ST7735.h> // Setup file for Bw16-based boards with ST7735 160 x 80 TFT

//#include <User_Setups/SetupX_Template.h> // Template file for a setup
Expand Down
41 changes: 41 additions & 0 deletions lib/TFT_eSPI/User_Setups/Setup303_WaveShare ESP32S3_GEEK.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
// ST7789 135 x 240 display

#define USER_SETUP_ID 303

#define ST7789_DRIVER // Configure all registers

#define TFT_WIDTH 135
#define TFT_HEIGHT 240

#define CGRAM_OFFSET // Library will add offsets required

#define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red

#define TFT_INVERSION_ON

// Generic ESP32 setup
//#define TFT_MISO 19
#define TFT_MOSI 11
#define TFT_SCLK 12
#define TFT_CS 10
#define TFT_DC 8
#define TFT_RST 9
#define TFT_BL 7


#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH
#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters
#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters
#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm
#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:.
#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-.
//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT
#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts

#define SMOOTH_FONT


// #define SPI_FREQUENCY 27000000
#define SPI_FREQUENCY 40000000

// #define SUPPORT_TRANSACTIONS
21 changes: 21 additions & 0 deletions lib/hansolov2/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
SET(SOURCES screens/ui_SplashScreen.c
screens/ui_HomeScreen.c
screens/ui_StatsScreen.c
screens/ui_ClockScreen.c
ui.c
components/ui_comp_hook.c
ui_helpers.c
ui_events.c
images/ui_img_sky_png.c
images/ui_img_1552732429.c
images/ui_img_metal2_png.c
fonts/ui_font_calculator128.c
fonts/ui_font_calculator16.c
fonts/ui_font_calculator24.c
fonts/ui_font_calculator32.c
fonts/ui_font_calculator48.c
fonts/ui_font_star24.c
fonts/ui_font_star32.c
fonts/ui_font_start16.c)

add_library(ui ${SOURCES})
5 changes: 5 additions & 0 deletions lib/hansolov2/components/ui_comp_hook.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
// This file was generated by SquareLine Studio
// SquareLine Studio version: SquareLine Studio 1.4.0
// LVGL version: 8.3.6
// Project name: nostresp

19 changes: 19 additions & 0 deletions lib/hansolov2/filelist.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
screens/ui_SplashScreen.c
screens/ui_HomeScreen.c
screens/ui_StatsScreen.c
screens/ui_ClockScreen.c
ui.c
components/ui_comp_hook.c
ui_helpers.c
ui_events.c
images/ui_img_sky_png.c
images/ui_img_1552732429.c
images/ui_img_metal2_png.c
fonts/ui_font_calculator128.c
fonts/ui_font_calculator16.c
fonts/ui_font_calculator24.c
fonts/ui_font_calculator32.c
fonts/ui_font_calculator48.c
fonts/ui_font_star24.c
fonts/ui_font_star32.c
fonts/ui_font_start16.c
Loading

0 comments on commit b9aafd5

Please sign in to comment.