Skip to content

Commit

Permalink
Merge pull request #334 from julio-matarranz/feat/esp32-d0wd-and-s2-mini
Browse files Browse the repository at this point in the history
feat : adding support to lilygo s3 amoled touch 78khs & waveshare ESP32-S3-GEEK dongle 78khs  & weact ESP32-D0WD-V3 57khs  & wemos s2 mini 38khs fixes #202 and disable/enable led on no display board
  • Loading branch information
BitMaker-hub authored Apr 9, 2024
2 parents cb6ab79 + bd0afe0 commit 1a37be7
Show file tree
Hide file tree
Showing 46 changed files with 188 additions and 4 deletions.
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
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 Down
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 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.
3 changes: 3 additions & 0 deletions lib/TFT_eSPI/User_Setup_Select.h
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,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
104 changes: 101 additions & 3 deletions platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -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-S3-mini-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-S3-AMOLED-TOUCH, 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]
Expand Down Expand Up @@ -73,6 +73,35 @@ lib_deps =
lib_ignore =
TFT_eSPI


;--------------------------------------------------------------------

[env:ESP32-S2-mini-wemos]
platform = espressif32
board = lolin_s2_mini
framework = arduino
monitor_filters =
esp32_exception_decoder
time
log2file
monitor_speed = 115200
upload_speed = 115200
board_build.partitions = huge_app.csv
build_flags =
-D BOARD_HAS_PSRAM
-D DEVKITV1=1
-D PIN_BUTTON_1=0
-D LED_PIN=15
;-D DEBUG_MINING=1
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
lib_ignore =
TFT_eSPI

;--------------------------------------------------------------------

[env:ESP32-S3-mini-weact]
Expand Down Expand Up @@ -103,6 +132,35 @@ lib_deps =
https://github.com/FastLED/FastLED
lib_ignore =
TFT_eSPI


;--------------------------------------------------------------------

[env:ESP32-D0WD-V3-weact]
platform = espressif32
board = esp32dev
framework = arduino
monitor_filters =
esp32_exception_decoder
time
log2file
monitor_speed = 115200
upload_speed = 115200
board_build.partitions = huge_app.csv
build_flags =
-D DEVKITV1=1
-D PIN_BUTTON_1=0
-D LED_PIN=22
-D ACTIVE_LED=LOW
-D INACTIVE_LED=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
lib_ignore =
TFT_eSPI
;--------------------------------------------------------------------

[env:ESP32-C3-super-mini]
Expand All @@ -117,7 +175,6 @@ monitor_speed = 115200
upload_speed = 115200
board_build.partitions = huge_app.csv
build_flags =
-D BOARD_HAS_PSRAM
-D ARDUINO_USB_MODE=1
-D ARDUINO_USB_CDC_ON_BOOT=1
-D DEVKITV1=1
Expand Down Expand Up @@ -146,7 +203,6 @@ monitor_speed = 115200
upload_speed = 115200
board_build.partitions = huge_app.csv
build_flags =
-D BOARD_HAS_PSRAM
-D ARDUINO_USB_MODE=1
-D ARDUINO_USB_CDC_ON_BOOT=1
-D ESP32RGB=1
Expand Down Expand Up @@ -320,6 +376,27 @@ framework = arduino
board_build.partitions = huge_app.csv
build_flags =
-DNERMINER_S3_AMOLED
-DTOUCH=0
-DBOARD_HAS_PSRAM
-DARDUINO_USB_CDC_ON_BOOT
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:NerminerV2-S3-AMOLED-TOUCH]
platform = espressif32
board = lilygo-t-amoled
framework = arduino
board_build.partitions = huge_app.csv
build_flags =
-DNERMINER_S3_AMOLED
-DTOUCH=1
-DBOARD_HAS_PSRAM
-DARDUINO_USB_CDC_ON_BOOT
lib_deps =
Expand Down Expand Up @@ -354,6 +431,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
Expand Down
2 changes: 2 additions & 0 deletions src/drivers/devices/device.h
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
3 changes: 3 additions & 0 deletions src/drivers/devices/esp32CAM.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@
#define PIN_BUTTON_1 0
#define LED_PIN 33

#define ACTIVE_LED HIGH
#define INACTIVE_LED LOW

#define NO_DISPLAY

// example how to configure SD card.
Expand Down
8 changes: 8 additions & 0 deletions src/drivers/devices/esp32DevKit.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@
#define PIN_BUTTON_1 0
#endif

#ifndef ACTIVE_LED
#define ACTIVE_LED HIGH
#endif

#ifndef INACTIVE_LED
#define INACTIVE_LED LOW
#endif

#ifndef LED_PIN
#define LED_PIN 2
#endif
Expand Down
7 changes: 7 additions & 0 deletions src/drivers/devices/waveshareS3Geek.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#ifndef _WAVESHARE_S3_GEEK_H
#define _WAVESHARE_S3_GEEK_H

#define PIN_BUTTON_1 0
#define V1_DISPLAY

#endif
4 changes: 4 additions & 0 deletions src/drivers/displays/amoledDisplayDriver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,10 @@ TFT_eSprite background = TFT_eSprite(&tft);

void amoledDisplay_Init(void)
{
#if TOUCH
pinMode(38, OUTPUT);
digitalWrite(38, OUTPUT);
#endif
rm67162_init();
lcd_setRotation(1);

Expand Down
11 changes: 10 additions & 1 deletion src/drivers/displays/noDisplayDriver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
#include "wManager.h"

extern monitor_data mMonitor;
bool ledOn = false;

void noDisplay_Init(void)
{
Expand All @@ -16,6 +17,8 @@ void noDisplay_Init(void)

void noDisplay_AlternateScreenState(void)
{
Serial.println("Switching display state");
ledOn = !ledOn;
}

void noDisplay_AlternateRotation(void)
Expand Down Expand Up @@ -56,11 +59,17 @@ void noDisplay_DoLedStuff(unsigned long frame)
{
unsigned long currentMillis = millis();

if (!ledOn)
{
digitalWrite(LED_PIN, INACTIVE_LED);
return;
}

switch (mMonitor.NerdStatus)
{

case NM_waitingConfig:
digitalWrite(LED_PIN, HIGH); // LED encendido de forma continua
digitalWrite(LED_PIN, ACTIVE_LED); // LED encendido de forma continua
break;

case NM_Connecting:
Expand Down

0 comments on commit 1a37be7

Please sign in to comment.