diff --git a/README.md b/README.md index 5ec653a..553470b 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,7 @@ Every time an stratum job notification is received miner update its current work - 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 diff --git a/bin/bin Waveshare S3 Geek/0x0000_bootloader.bin b/bin/bin Waveshare S3 Geek/0x0000_bootloader.bin new file mode 100644 index 0000000..27d593a Binary files /dev/null and b/bin/bin Waveshare S3 Geek/0x0000_bootloader.bin differ diff --git a/bin/bin Waveshare S3 Geek/0x10000_firmware.bin b/bin/bin Waveshare S3 Geek/0x10000_firmware.bin new file mode 100644 index 0000000..0727ae5 Binary files /dev/null and b/bin/bin Waveshare S3 Geek/0x10000_firmware.bin differ diff --git a/bin/bin Waveshare S3 Geek/0x8000_partitions.bin b/bin/bin Waveshare S3 Geek/0x8000_partitions.bin new file mode 100644 index 0000000..1954582 Binary files /dev/null and b/bin/bin Waveshare S3 Geek/0x8000_partitions.bin differ diff --git a/bin/bin Waveshare S3 Geek/0xe000_boot_app0.bin b/bin/bin Waveshare S3 Geek/0xe000_boot_app0.bin new file mode 100644 index 0000000..13562ca Binary files /dev/null and b/bin/bin Waveshare S3 Geek/0xe000_boot_app0.bin differ diff --git a/lib/TFT_eSPI/User_Setup_Select.h b/lib/TFT_eSPI/User_Setup_Select.h index a96ff51..f9ca1b7 100644 --- a/lib/TFT_eSPI/User_Setup_Select.h +++ b/lib/TFT_eSPI/User_Setup_Select.h @@ -154,6 +154,9 @@ #ifdef ESP32_CAM #include // For the LilyGo T-Dongle S3 based ESP32 with ST7735 80 x 160 TFT #endif +#ifdef NERMINER_S3_GEEK +#include // Setup file for Waveshare Setup303_WaveShare ESP32S3_GEEK with ST7789 135*240 TFT +#endif //#include // Setup file for Bw16-based boards with ST7735 160 x 80 TFT //#include // Template file for a setup diff --git a/lib/TFT_eSPI/User_Setups/Setup303_WaveShare ESP32S3_GEEK.h b/lib/TFT_eSPI/User_Setups/Setup303_WaveShare ESP32S3_GEEK.h new file mode 100644 index 0000000..399f38c --- /dev/null +++ b/lib/TFT_eSPI/User_Setups/Setup303_WaveShare ESP32S3_GEEK.h @@ -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 diff --git a/platformio.ini b/platformio.ini index d82a21b..e7a63f2 100644 --- a/platformio.ini +++ b/platformio.ini @@ -11,7 +11,7 @@ [platformio] globallib_dir = lib -default_envs = M5Stick-C, esp32cam, ESP32-2432S028R, ESP32_2432S028_2USB, NerminerV2, Lilygo-T-Embed, ESP32-devKitv1, NerminerV2-S3-DONGLE, NerminerV2-S3-AMOLED, NerminerV2-T-QT, NerdminerV2-T-Display_V1, ESP32-2432S028R, M5-StampS3, ESP32-S3-devKitv1, ESP32-S3-mini-wemos, ESP32-S2-mini-wemos, ESP32-S3-mini-weact, ESP32-D0WD-V3-weact, ESP32-C3-devKitmv1, ESP32-C3-super-mini +default_envs = M5Stick-C, esp32cam, ESP32-2432S028R, ESP32_2432S028_2USB, NerminerV2, Lilygo-T-Embed, ESP32-devKitv1, NerminerV2-S3-DONGLE, NerminerV2-S3-GEEK, NerminerV2-S3-AMOLED, NerminerV2-T-QT, NerdminerV2-T-Display_V1, ESP32-2432S028R, M5-StampS3, ESP32-S3-devKitv1, ESP32-S3-mini-wemos, ESP32-S2-mini-wemos, ESP32-S3-mini-weact, ESP32-D0WD-V3-weact, ESP32-C3-devKitmv1, ESP32-C3-super-mini [env:M5Stick-C] @@ -410,6 +410,27 @@ lib_deps = ;-------------------------------------------------------------------- +[env:NerminerV2-S3-GEEK] +platform = espressif32 +board = esp32-s3-devkitc-1 +framework = arduino +board_build.partitions = huge_app.csv +build_flags = + -DNERMINER_S3_GEEK + -DBOARD_HAS_PSRAM + -DARDUINO_USB_CDC_ON_BOOT + -DTFT_BACKLIGHT_ON=HIGH +lib_deps = + https://github.com/takkaO/OpenFontRender + bblanchon/ArduinoJson@^6.21.2 + https://github.com/tzapu/WiFiManager.git#v2.0.16-rc.2 + mathertel/OneButton @ ^2.0.3 + arduino-libraries/NTPClient + ;https://github.com/golden-guy/Arduino_wolfssl.git#v5.5.4 + + +;-------------------------------------------------------------------- + [env:esp32cam] platform = espressif32 ;(ESP32-D0WD-V3) board = esp32cam diff --git a/src/drivers/devices/device.h b/src/drivers/devices/device.h index 2d2feb9..97cebb9 100644 --- a/src/drivers/devices/device.h +++ b/src/drivers/devices/device.h @@ -27,6 +27,8 @@ #include "esp32CAM.h" #elif defined(ESP32RGB) #include "esp32RGB.h" +#elif defined(NERMINER_S3_GEEK) +#include "waveshareS3Geek.h" #else #error "No device defined" diff --git a/src/drivers/devices/waveshareS3Geek.h b/src/drivers/devices/waveshareS3Geek.h new file mode 100644 index 0000000..f9cb225 --- /dev/null +++ b/src/drivers/devices/waveshareS3Geek.h @@ -0,0 +1,7 @@ +#ifndef _WAVESHARE_S3_GEEK_H +#define _WAVESHARE_S3_GEEK_H + +#define PIN_BUTTON_1 0 +#define V1_DISPLAY + +#endif \ No newline at end of file