From a0ed65c4ce8493c85849552ac77a2d0c397bfcbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20St=C3=BCck?= Date: Mon, 15 Jan 2024 16:15:54 -0500 Subject: [PATCH] Add support for updated Adafruit 2.4 and 3.5 TFT FeatherWings and HUZZAH32 boards Support added for the following displays: - [Adafruit TFT FeatherWing - 2.4" 320x240 Touchscreen For All Feathers - V2](https://www.adafruit.com/product/3315) - [Adafruit TFT FeatherWing - 3.5" 480x320 Touchscreen for Feathers - V2 with TSC2007](https://www.adafruit.com/product/3651) Support added for the following board: - [Adafruit HUZZAH32 ESP32 Feather V2 - 8MB Flash + 2 MB PSRAM - STEMMA QT](https://www.adafruit.com/product/5400) --- .github/workflows/build.yaml | 2 +- .github/workflows/release.yml | 2 +- platformio_override-template.ini | 6 +++ .../esp32/huzzah32-featherwing-24-v2.ini | 31 ++++++++++++++ .../esp32/huzzah32-featherwing-35-v2.ini | 32 +++++++++++++++ .../esp32/huzzah32-v2-featherwing-24-v2.ini | 31 ++++++++++++++ .../esp32/huzzah32-v2-featherwing-35-v2.ini | 31 ++++++++++++++ .../esp32s2/esp32s2-featherwing-24-v2.ini | 40 +++++++++++++++++++ .../esp32s2/esp32s2-featherwing-35-v2.ini | 40 +++++++++++++++++++ user_setups/lcd_config.ini | 23 +++++++++++ 10 files changed, 236 insertions(+), 2 deletions(-) create mode 100644 user_setups/esp32/huzzah32-featherwing-24-v2.ini create mode 100644 user_setups/esp32/huzzah32-featherwing-35-v2.ini create mode 100644 user_setups/esp32/huzzah32-v2-featherwing-24-v2.ini create mode 100644 user_setups/esp32/huzzah32-v2-featherwing-35-v2.ini create mode 100644 user_setups/esp32s2/esp32s2-featherwing-24-v2.ini create mode 100644 user_setups/esp32s2/esp32s2-featherwing-35-v2.ini diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index abcec923..d57b3061 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -21,7 +21,7 @@ jobs: matrix: environment: - out: adafruit - env: "huzzah32-featherwing-24 -e huzzah32-featherwing-35" + env: "huzzah32-featherwing-24 -e huzzah32-featherwing-35 -e huzzah32-featherwing-24-v2 -e huzzah32-featherwing-35-v2 -e huzzah32-v2-featherwing-24-v2 -e huzzah32-v2-featherwing-35-v2" - out: az-touch env: "az-touch-mod-esp32_ili9341_4MB -e az-touch-mod-esp32_ili9341_8MB" - env: d1-mini-esp32_ili9341 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b47c2d78..62ef57b4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -63,7 +63,7 @@ jobs: - name: Run PlatformIO run: pio run -e esp32-touchdown -e freetouchdeck_4MB -e freetouchdeck_8MB - name: Run PlatformIO - run: pio run -e huzzah32-featherwing-24 -e huzzah32-featherwing-35 + run: pio run -e huzzah32-featherwing-24 -e huzzah32-featherwing-35 -e huzzah32-featherwing-24-v2 -e huzzah32-featherwing-35-v2 -e huzzah32-v2-featherwing-24-v2 -e huzzah32-v2-featherwing-35-v2 - name: Run PlatformIO run: pio run -e lanbon_l8 - name: Run PlatformIO diff --git a/platformio_override-template.ini b/platformio_override-template.ini index 8de29970..941fe815 100644 --- a/platformio_override-template.ini +++ b/platformio_override-template.ini @@ -29,6 +29,8 @@ extra_default_envs = ; d1-r32-unoshield_ili9341_adc ; d1-r32-unoshield_ili9486_adc ; d1-r32-waveshare_ili9486 + ; esp32s2-featherwing-24-v2 + ; esp32s2-featherwing-35-v2 ; esp32-2432s028r_4MB ; esp32-3248s035c_4MB ; esp32-3248s035c_4MB_lovyan @@ -44,7 +46,11 @@ extra_default_envs = ; freetouchdeck-s3_8MB ; gs-t3e_16MB ; huzzah32-featherwing-24 + ; huzzah32-featherwing-24-v2 + ; huzzah32-v2-featherwing-24-v2 ; huzzah32-featherwing-35 + ; huzzah32-featherwing-35-v2 + ; huzzah32-v2-featherwing-35-v2 ; lanbon_l8 ; lanbon_l8_eth ; lilygo-lily-pi_ili9481 diff --git a/user_setups/esp32/huzzah32-featherwing-24-v2.ini b/user_setups/esp32/huzzah32-featherwing-24-v2.ini new file mode 100644 index 00000000..8c97b591 --- /dev/null +++ b/user_setups/esp32/huzzah32-featherwing-24-v2.ini @@ -0,0 +1,31 @@ +;***************************************************; +; HUZZAH32 ESP32 with Featherwing TFT 2.4" V2 ; +; - HUZZAH32 esp32 board ; +; - ili9341 TFT Featherwing 2.4" V2 ; +; - TSC2007 touch controller ; +;***************************************************; + +[env:huzzah32-featherwing-24-v2] +extends = arduino_esp32_v2, flash_4mb +board = featheresp32 + +build_flags = + -D HASP_MODEL="Adafruit HUZZAH32 ESP32 Featherwing 2.4 V2" + ${arduino_esp32_v2.build_flags} + ${esp32.no_ps_ram} + +;region -- TFT_eSPI build options ------------------------ + ${lcd.featherwing-24-v2} + -D TFT_MISO=19 + -D TFT_MOSI=18 + -D TFT_SCLK=5 + -D TFT_DC=33 + -D TFT_CS=15 + -D TFT_RST=-1 ; RST + -D TFT_BCKL=21 ; Solder the LITE pad to a PWM enabled pin of the ESP, like GPIO 21 +;endregion + +lib_deps = + ${arduino_esp32_v2.lib_deps} + ${tft_espi.lib_deps} + ${tsc2007.lib_deps} \ No newline at end of file diff --git a/user_setups/esp32/huzzah32-featherwing-35-v2.ini b/user_setups/esp32/huzzah32-featherwing-35-v2.ini new file mode 100644 index 00000000..8b17d1bf --- /dev/null +++ b/user_setups/esp32/huzzah32-featherwing-35-v2.ini @@ -0,0 +1,32 @@ +;***************************************************; +; HUZZAH32 ESP32 with Featherwing TFT 3.5" V2 ; +; - HUZZAH32 esp32 board ; +; - HX8357D TFT Featherwing 3.5" V2 ; +; - TSC2007 touch controller ; +;***************************************************; + +[env:huzzah32-featherwing-35-v2] +extends = arduino_esp32_v2, flash_4mb +board = featheresp32 + +build_flags = + -D HASP_MODEL="Adafruit HUZZAH32 ESP32 Featherwing 3.5 V2" + ${arduino_esp32_v2.build_flags} + ${esp32.no_ps_ram} + + -D LV_INDEV_DEF_READ_PERIOD=30 +;region -- TFT_eSPI build options ------------------------ + ${lcd.featherwing-35-v2} + -D TFT_MISO=19 + -D TFT_MOSI=18 + -D TFT_SCLK=5 + -D TFT_DC=10 + -D TFT_CS=9 + -D TFT_RST=-1 ; RST + -D TFT_BCKL=21 ; Solder the LITE pad to a PWM enabled pin of the ESP, like GPIO 21 +;endregion + +lib_deps = + ${arduino_esp32_v2.lib_deps} + ${tft_espi.lib_deps} + ${tsc2007.lib_deps} diff --git a/user_setups/esp32/huzzah32-v2-featherwing-24-v2.ini b/user_setups/esp32/huzzah32-v2-featherwing-24-v2.ini new file mode 100644 index 00000000..29261680 --- /dev/null +++ b/user_setups/esp32/huzzah32-v2-featherwing-24-v2.ini @@ -0,0 +1,31 @@ +;***************************************************; +; HUZZAH32 V2 ESP32 with Featherwing TFT 2.4" V2 ; +; - HUZZAH32 V2 w/ 2 MB PSRAM board ; +; - ili9341 TFT Featherwing 2.4" V2 ; +; - TSC2007 touch controller ; +;***************************************************; + +[env:huzzah32-featherwing-24-v2] +extends = arduino_esp32_v2, flash_4mb +board = featheresp32 + +build_flags = + -D HASP_MODEL="Adafruit HUZZAH32 V2 ESP32 Featherwing 2.4 V2" + ${arduino_esp32_v2.build_flags} + ${esp32.ps_ram} + +;region -- TFT_eSPI build options ------------------------ + ${lcd.featherwing-24-v2} + -D TFT_MISO=19 + -D TFT_MOSI=18 + -D TFT_SCLK=5 + -D TFT_DC=33 + -D TFT_CS=15 + -D TFT_RST=-1 ; RST + -D TFT_BCKL=21 ; Solder the LITE pad to a PWM enabled pin of the ESP, like GPIO 21 +;endregion + +lib_deps = + ${arduino_esp32_v2.lib_deps} + ${tft_espi.lib_deps} + ${tsc2007.lib_deps} \ No newline at end of file diff --git a/user_setups/esp32/huzzah32-v2-featherwing-35-v2.ini b/user_setups/esp32/huzzah32-v2-featherwing-35-v2.ini new file mode 100644 index 00000000..c2a6b4c2 --- /dev/null +++ b/user_setups/esp32/huzzah32-v2-featherwing-35-v2.ini @@ -0,0 +1,31 @@ +;***************************************************; +; HUZZAH32 V2 ESP32 with Featherwing TFT 3.5" V2 ; +; - HUZZAH32 V2 w/ 2 MB PSRAM board ; +; - HX8357D TFT Featherwing 3.5" V2 ; +; - TSC2007 touch controller ; +;***************************************************; + +[env:huzzah32-v2-featherwing-35] +extends = arduino_esp32_v2, flash_4mb +board = featheresp32 + +build_flags = + -D HASP_MODEL="Adafruit HUZZAH32 V2 ESP32 Featherwing 3.5 V2" + ${arduino_esp32_v2.build_flags} + ${esp32.ps_ram} + -D LV_INDEV_DEF_READ_PERIOD=30 +;region -- TFT_eSPI build options ------------------------ + ${lcd.featherwing-35-v2} + -D TFT_MISO=19 + -D TFT_MOSI=18 + -D TFT_SCLK=5 + -D TFT_DC=10 + -D TFT_CS=9 + -D TFT_RST=-1 ; RST + -D TFT_BCKL=21 ; Solder the LITE pad to a PWM enabled pin of the ESP, like GPIO 21 +;endregion + +lib_deps = + ${arduino_esp32_v2.lib_deps} + ${tft_espi.lib_deps} + ${tsc2007.lib_deps} diff --git a/user_setups/esp32s2/esp32s2-featherwing-24-v2.ini b/user_setups/esp32s2/esp32s2-featherwing-24-v2.ini new file mode 100644 index 00000000..cb102e00 --- /dev/null +++ b/user_setups/esp32s2/esp32s2-featherwing-24-v2.ini @@ -0,0 +1,40 @@ +;***************************************************; +; Adafruit ESP32-S2 with Featherwing TFT 2.4" V2 ; +; - ESP32-S2 w/ 2 MB PSRAM board ; +; - ili9341 TFT Featherwing 2.4" V2 ; +; - TSC2007 touch controller ; +;***************************************************; + +[env:esp32s2-featherwing-24-v2] +extends = esp32s2_4mb_v2 +board = esp32s2 + +build_flags = + ${env.build_flags} + ${esp32s2.build_flags} + ${esp32.ps_ram} + -D HASP_MODEL="Adafruit ESP32-S2 Featherwing 2.4 V2" + -D USE_HSPI_PORT + +;region -- TFT_eSPI build options ------------------------ + ${lcd.featherwing-24-v2} + -D LGFX_USE_V1=1 + -D TFT_MISO=19 + -D TFT_MOSI=18 + -D TFT_SCLK=5 + -D TFT_DC=33 + -D TFT_CS=15 + -D TFT_RST=-1 ; RST + -D TFT_BCKL=21 ; Solder the LITE pad to a PWM enabled pin of the ESP, like GPIO 21 +;endregion + +lib_deps = + ${env.lib_deps} + ${esp32s2.lib_deps} + ${lovyangfx.lib_deps} + ${tsc2007.lib_deps} + +lib_ignore = + ${env.lib_ignore} + ${esp32s2.lib_ignore} + TFT_eSPI diff --git a/user_setups/esp32s2/esp32s2-featherwing-35-v2.ini b/user_setups/esp32s2/esp32s2-featherwing-35-v2.ini new file mode 100644 index 00000000..b781f449 --- /dev/null +++ b/user_setups/esp32s2/esp32s2-featherwing-35-v2.ini @@ -0,0 +1,40 @@ +;***************************************************; +; Adafruit ESP32-S2 with Featherwing TFT 3.5" V2 ; +; - ESP32-S2 w/ 2 MB PSRAM board ; +; - HX8357D TFT Featherwing 3.5" V2 ; +; - TSC2007 touch controller ; +;***************************************************; + +[env:esp32s2-featherwing-24-v2] +extends = esp32s2_4mb_v2 +board = esp32s2 + +build_flags = + ${env.build_flags} + ${esp32s2.build_flags} + ${esp32.ps_ram} + -D HASP_MODEL="Adafruit ESP32-S2 Featherwing 3.5 V2" + -D USE_HSPI_PORT + +;region -- TFT_eSPI build options ------------------------ + ${lcd.featherwing-35-v2} + -D LGFX_USE_V1=1 + -D TFT_MISO=19 + -D TFT_MOSI=18 + -D TFT_SCLK=5 + -D TFT_DC=10 + -D TFT_CS=9 + -D TFT_RST=-1 ; RST + -D TFT_BCKL=21 ; Solder the LITE pad to a PWM enabled pin of the ESP, like GPIO 21 +;endregion + +lib_deps = + ${env.lib_deps} + ${esp32s2.lib_deps} + ${tsc2007.lib_deps} + ${lovyangfx.lib_deps} + +lib_ignore = + ${env.lib_ignore} + ${esp32s2.lib_ignore} + TFT_eSPI diff --git a/user_setups/lcd_config.ini b/user_setups/lcd_config.ini index ce4e272b..8b5df106 100644 --- a/user_setups/lcd_config.ini +++ b/user_setups/lcd_config.ini @@ -122,6 +122,18 @@ featherwing-35 = -D TOUCH_DRIVER=0x0610 ;STMPE610 ;-D SUPPORT_TRANSACTIONS ; Default on ESP32 +featherwing-35-v2 = + -D HX8357D_DRIVER=1 + -D TFT_WIDTH=320 + -D TFT_HEIGHT=480 + -D TFT_ROTATION=0 ; Use default, see TFT_ROTATION values + -D SPI_FREQUENCY=27000000 + -D SPI_TOUCH_FREQUENCY=2500000 + -D SPI_READ_FREQUENCY=20000000 + -D USER_SETUP_LOADED=1 + -D TOUCH_DRIVER=0x2007 ;TSC2007 + ;-D SUPPORT_TRANSACTIONS ; Default on ESP32 + featherwing-24 = -D ILI9341_DRIVER=1 -D TFT_WIDTH=240 @@ -132,4 +144,15 @@ featherwing-24 = -D SPI_READ_FREQUENCY=20000000 -D USER_SETUP_LOADED=1 -D TOUCH_DRIVER=0x0610 ;STMPE610 + ;-D SUPPORT_TRANSACTIONS ; Default on ESP32 + +featherwing-24-v2 = + -D ILI9341_DRIVER=1 + -D TFT_WIDTH=240 + -D TFT_HEIGHT=320 + -D TFT_ROTATION=0 ; Use default, see TFT_ROTATION values + -D SPI_FREQUENCY=27000000 + -D SPI_READ_FREQUENCY=20000000 + -D USER_SETUP_LOADED=1 + -D TOUCH_DRIVER=0x2007 ;TSC2007 ;-D SUPPORT_TRANSACTIONS ; Default on ESP32 \ No newline at end of file