diff --git a/firmware/dev/ESP32-S3-Pocket-Dongle_factory.bin b/firmware/dev/ESP32-S3-Pocket-Dongle_factory.bin new file mode 100644 index 00000000..21b8defe Binary files /dev/null and b/firmware/dev/ESP32-S3-Pocket-Dongle_factory.bin differ diff --git a/firmware/dev/ESP32-S3-Pocket-Dongle_firmware.bin b/firmware/dev/ESP32-S3-Pocket-Dongle_firmware.bin new file mode 100644 index 00000000..d912dbe9 Binary files /dev/null and b/firmware/dev/ESP32-S3-Pocket-Dongle_firmware.bin differ diff --git a/lib/TFT_eSPI/User_Setup_Select.h b/lib/TFT_eSPI/User_Setup_Select.h index 2e5c8b96..90a8e1ef 100644 --- a/lib/TFT_eSPI/User_Setup_Select.h +++ b/lib/TFT_eSPI/User_Setup_Select.h @@ -158,6 +158,9 @@ #ifdef NERDMINER_S3_DONGLE #include // For the LilyGo T-Dongle S3 based ESP32 with ST7735 80 x 160 TFT #endif +#ifdef ESP32-S3-Pocket-Dongle +#include // for AliExpress ESP32-S3 Development Board Pocket-Dongle-S3 N16R8 0.96' +#endif #ifdef ESP32_CAM #include // For the LilyGo T-Dongle S3 based ESP32 with ST7735 80 x 160 TFT #endif diff --git a/lib/TFT_eSPI/User_Setups/Setup305_ESP32-S3-Pocket-Dongle.h b/lib/TFT_eSPI/User_Setups/Setup305_ESP32-S3-Pocket-Dongle.h new file mode 100644 index 00000000..7370f717 --- /dev/null +++ b/lib/TFT_eSPI/User_Setups/Setup305_ESP32-S3-Pocket-Dongle.h @@ -0,0 +1,47 @@ +// Config Variant for AliExpress ESP32-S3 Development Board Pocket-Dongle-S3 N16R8 w ESP32 and ST7735 80 x 160 display +#define USER_SETUP_ID 305 +#define ST7735_DRIVER // Configure all registers + +#define TFT_WIDTH 80 +#define TFT_HEIGHT 160 + + +#define ST7735_GREENTAB160x80 // For 160 x 80 display (BGR, inverted, 26 offset) + + + +#define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red + +#define TFT_INVERSION_ON + +// Generic ESP32 setup +#define TFT_MISO -1 +#define TFT_MOSI 11 +#define TFT_SCLK 10 +#define TFT_CS 12 +#define TFT_DC 13 +#define TFT_RST 14// Connect reset to ensure display initialises +#define TFT_BL -1 + + + +#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 SPI_READ_FREQUENCY 20000000 + +#define SPI_TOUCH_FREQUENCY 2500000 + +// #define SUPPORT_TRANSACTIONS \ No newline at end of file diff --git a/platformio.ini b/platformio.ini index 6fff6673..706f2c26 100644 --- a/platformio.ini +++ b/platformio.ini @@ -11,7 +11,9 @@ [platformio] globallib_dir = lib -default_envs = LilygoT3V1, NerdminerV2, NerdminerV2-T-HMI, wt32-sc01, wt32-sc01-plus, han_m5stack, M5Stick-C, M5Stick-C-Plus2, M5Stick-CPlus, esp32cam, ESP32-2432S028R, ESP32_2432S028_2USB, ESP32-2432S024, Lilygo-T-Embed, M5-Cardputer-Adv, ESP32-devKitv1, NerdminerV2-S3-DONGLE, NerdminerV2-S3-GEEK, NerdminerV2-S3-AMOLED, NerdminerV2-S3-AMOLED-TOUCH, NerdminerV2-T-QT, NerdminerV2-T-Display_V1, TTGO-T-Display, M5-StampS3, ESP32-S3-devKitv1, ESP32-S3-mini-wemos, ESP32-S2-mini-wemos, ESP32-S3-mini-weact, ESP32-D0WD-V3-weact, ESP32-C3-super-mini, ESP32-C3-devKitmv1, ESP32-C3-042-OLED, ESP32-S3-042-OLED, ESP32-C3-spotpear, esp32-s3-devkitc1-n32r8 +default_envs = LilygoT3V1, NerdminerV2, NerdminerV2-T-HMI, wt32-sc01, wt32-sc01-plus, han_m5stack, M5Stick-C, M5Stick-C-Plus2, M5Stick-CPlus, esp32cam, ESP32-2432S028R, ESP32_2432S028_2USB, ESP32-2432S024, Lilygo-T-Embed, M5-Cardputer-Adv, ESP32-devKitv1, NerdminerV2-S3-DONGLE, ESP32-S3-Pocket-Dongle, NerdminerV2-S3-GEEK, NerdminerV2-S3-AMOLED, NerdminerV2-S3-AMOLED-TOUCH, NerdminerV2-T-QT, NerdminerV2-T-Display_V1, TTGO-T-Display, M5-StampS3, ESP32-S3-devKitv1, ESP32-S3-mini-wemos, ESP32-S2-mini-wemos, ESP32-S3-mini-weact, ESP32-D0WD-V3-weact, ESP32-C3-super-mini, ESP32-C3-devKitmv1, ESP32-C3-042-OLED, ESP32-S3-042-OLED, ESP32-C3-spotpear, esp32-s3-devkitc1-n32r8 + +;default_envs = ESP32-S3-Pocket-Dongle ; Global configuration for all environments [env] @@ -813,6 +815,36 @@ lib_ignore = ;-------------------------------------------------------------------- +[env:ESP32-S3-Pocket-Dongle] +platform = espressif32@6.6.0 +board = esp32-s3-devkitc-1 +framework = arduino +extra_scripts = + pre:auto_firmware_version.py + post:post_build_merge.py +board_build.arduino.memory_type = qio_opi ; FIX 1: Force PlatformIO to use OPI layout for memory +board_upload.flash_size = 16MB ; FIX 2: Use the full 16MB Flash capacity of your hardware +board_build.partitions = huge_app.csv +build_flags = + -DNERDMINER_S3_DONGLE + -DBOARD_HAS_PSRAM + -DBOARD_HAS_PSRAM=1 + -mfix-esp32-psram-cache-issue ; FIX 3: Ensure the core Arduino framework instantiates the OPI PSRAM + -DARDUINO_USB_CDC_ON_BOOT + -DTFT_BACKLIGHT_ON=HIGH + -DTFT_BL=38 +lib_deps = + https://github.com/takkaO/OpenFontRender#v1.2 + bblanchon/ArduinoJson@^6.21.5 + https://github.com/tzapu/WiFiManager.git#v2.0.17 + mathertel/oneButton@^2.6.1 + arduino-libraries/NTPClient@^3.2.1 + fastled/FastLED@3.7.8 +lib_ignore = + HANSOLOminerv2 + +;-------------------------------------------------------------------- + [env:NerdminerV2-S3-GEEK] platform = espressif32@6.6.0 board = esp32-s3-devkitc-1