From 004dc51f7c58a130555a55ae184fafa8e61fa960 Mon Sep 17 00:00:00 2001 From: Frank <91616163+softhack007@users.noreply.github.com> Date: Wed, 21 Sep 2022 14:31:15 +0200 Subject: [PATCH 1/4] basic PIO environment for ESP32-S3 and -S2 from AC WLED 0_14 branch --- platformio.ini | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/platformio.ini b/platformio.ini index 9df10889..b5f3ecd4 100644 --- a/platformio.ini +++ b/platformio.ini @@ -252,6 +252,23 @@ lib_deps = makuna/NeoPixelBus @ 2.6.9 https://github.com/pbolduc/AsyncTCP.git @ 1.2.0 +[esp32s3] +;; generic definitions for all ESP32-S3 boards +build_flags = -g + -DESP32 + -DARDUINO_ARCH_ESP32 + -DARDUINO_ARCH_ESP32S3 + -DCONFIG_IDF_TARGET_ESP32S3 + -D CONFIG_ASYNC_TCP_USE_WDT=0 + -DCO + +lib_deps = + ${env.lib_deps} + ;; currently we need the latest NeoPixelBus dev version, because it contains important bugfixes for -S3 + https://github.com/Makuna/NeoPixelBus.git#master @ 2.7.0 + https://github.com/pbolduc/AsyncTCP.git @ 1.2.0 + + # ------------------------------------------------------------------------------ # WLED BUILDS # ------------------------------------------------------------------------------ @@ -375,6 +392,20 @@ upload_speed = 460800 build_unflags = ${common.build_unflags} lib_deps = ${esp32c3.lib_deps} +[env:esp32s3dev_8MB] +;; ESP32-S3-DevKitC-1 development board, with 8MB FLASH, no PSRAM +board = esp32-s3-devkitc-1 +platform = espressif32@5.1.1 +platform_packages = platformio/framework-arduinoespressif32@3.20004.220825 +upload_speed = 921600 +build_unflags = ${common.build_unflags} +build_flags = ${common.build_flags} ${esp32s3.build_flags} -D CONFIG_LITTLEFS_FOR_IDF_3_2 -D WLED_WATCHDOG_TIMEOUT=0 -D ARDUINO_USB_MODE=1 -D ARDUINO_USB_CDC_ON_BOOT=0 -D ARDUINO_USB_MSC_ON_BOOT=0 +lib_deps = ${esp32s3.lib_deps} +board_build.partitions = tools/WLED_ESP32_8MB.csv +board_build.f_flash = 80000000L +board_build.flash_mode = qio +monitor_filters = esp32_exception_decoder + [env:esp8285_4CH_MagicHome] board = esp8285 platform = ${common.platform_wled_default} @@ -437,6 +468,29 @@ build_unflags = ${common.build_unflags} build_flags = ${common.build_flags_esp8266} -D LEDPIN=12 -D IRPIN=-1 -D RLYPIN=2 lib_deps = ${esp8266.lib_deps} +[env:lolin_s2_mini] +platform = espressif32@5.1.1 +board = lolin_s2_mini +board_build.partitions = tools/WLED_ESP32_4MB_1MB_FS.csv +build_unflags = ${common.build_unflags} +build_flags = ${common.build_flags} ${esp32s2.build_flags} #-D WLED_RELEASE_NAME=LolinS2 + -DBOARD_HAS_PSRAM + -D ARDUINO_USB_CDC_ON_BOOT + -D WLED_USE_PSRAM + -D WLED_WATCHDOG_TIMEOUT=0 + -D CONFIG_ASYNC_TCP_USE_WDT=0 + -D LEDPIN=16 + -D BTNPIN=18 + -D RLYPIN=9 + -D IRPIN=7 + -D HW_PIN_SCL=35 + -D HW_PIN_SDA=33 + -D HW_PIN_CLOCKSPI=7 + -D HW_PIN_DATASPI=11 + -D HW_PIN_MISOSPI=9 +; -D STATUSLED=15 +lib_deps = ${esp32s2.lib_deps} + # ------------------------------------------------------------------------------ # custom board configurations # ------------------------------------------------------------------------------ From d5dcc644f4a548bcc4c163334fc9b3a2cd80fa33 Mon Sep 17 00:00:00 2001 From: Frank <91616163+softhack007@users.noreply.github.com> Date: Wed, 21 Sep 2022 17:18:52 +0200 Subject: [PATCH 2/4] added `mdev` PIO env for V4 Framwork - ESP32 with PSRAM - ESP32-S3 --- platformio.ini | 102 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 100 insertions(+), 2 deletions(-) diff --git a/platformio.ini b/platformio.ini index b5f3ecd4..9cb08f13 100644 --- a/platformio.ini +++ b/platformio.ini @@ -12,7 +12,7 @@ ; default_envs = travis_esp8266, travis_esp32 # Release binaries -default_envs = nodemcuv2, esp8266_2m, esp01_1m_full, esp32dev, esp32_eth, esp32s2_saola, esp32c3 +default_envs = nodemcuv2, esp8266_2m, esp01_1m_full, esp32dev, esp32_eth, esp32s2_saola, esp32c3dev, esp32s3dev_8MB # Build everything ; default_envs = esp32dev, esp8285_4CH_MagicHome, codm-controller-0.6-rev2, codm-controller-0.6, esp32s2_saola, d1_mini_5CH_Shojo_PCB, d1_mini, sp501e, travis_esp8266, travis_esp32, nodemcuv2, esp32_eth, anavi_miracle_controller, esp07, esp01_1m_full, m5atom, h803wf, d1_mini_ota, heltec_wifi_kit_8, esp8285_H801, d1_mini_debug, wemos_shield_esp32, elekstube_ips @@ -32,6 +32,8 @@ default_envs = nodemcuv2, esp8266_2m, esp01_1m_full, esp32dev, esp32_eth, esp32s ; default_envs = esp8285_4CH_MagicHome ; default_envs = esp8285_H801 ; default_envs = d1_mini_5CH_Shojo_PCB +; default_envs = esp32mdev_PSRAM +; default_envs = esp32s3-mdev ; default_envs = wemos_shield_esp32 ; default_envs = m5atom ; default_envs = esp32_eth @@ -226,6 +228,16 @@ lib_deps = makuna/NeoPixelBus @ 2.6.9 https://github.com/pbolduc/AsyncTCP.git @ 1.2.0 +build_flagsV4 = -g + -DARDUINO_ARCH_ESP32 + -DCONFIG_LITTLEFS_FOR_IDF_3_2 + -D CONFIG_ASYNC_TCP_USE_WDT=0 +lib_depsV4 = + ${env.lib_deps} + ;makuna/NeoPixelBus @ 2.6.9 + https://github.com/Makuna/NeoPixelBus.git#master @ 2.7.0 ;; NPB 2.6.9 tends to crash whith IDF V4.4.3 -> use latest NeoPixelBus dev version instead + https://github.com/pbolduc/AsyncTCP.git @ 1.2.0 + [esp32s2] build_flags = -g -DARDUINO_ARCH_ESP32 @@ -382,11 +394,13 @@ upload_speed = 460800 build_unflags = ${common.build_unflags} lib_deps = ${esp32s2.lib_deps} -[env:esp32c3] +[env:esp32c3dev] board = esp32-c3-devkitm-1 platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.2.2/platform-tasmota-espressif32-2.0.2.zip platform_packages = framework = arduino +build_flags = ${common.build_flags} ${esp32c3.build_flags} + -D CONFIG_LITTLEFS_FOR_IDF_3_2 -D WLED_WATCHDOG_TIMEOUT=0 board_build.partitions = tools/WLED_ESP32_4MB_1MB_FS.csv upload_speed = 460800 build_unflags = ${common.build_unflags} @@ -397,6 +411,7 @@ lib_deps = ${esp32c3.lib_deps} board = esp32-s3-devkitc-1 platform = espressif32@5.1.1 platform_packages = platformio/framework-arduinoespressif32@3.20004.220825 +framework = arduino upload_speed = 921600 build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} ${esp32s3.build_flags} -D CONFIG_LITTLEFS_FOR_IDF_3_2 -D WLED_WATCHDOG_TIMEOUT=0 -D ARDUINO_USB_MODE=1 -D ARDUINO_USB_CDC_ON_BOOT=0 -D ARDUINO_USB_MSC_ON_BOOT=0 @@ -491,6 +506,89 @@ build_flags = ${common.build_flags} ${esp32s2.build_flags} #-D WLED_RELEASE_NAME ; -D STATUSLED=15 lib_deps = ${esp32s2.lib_deps} + +# ------------------------------------------------------------------------------ +# MoonModules configs for IDF V4.4.x +# ------------------------------------------------------------------------------ + +;; experiemtal environment for boards with PSRAM. +;; Warning: the build-in LittleFS seems to be "slightly different" from Lorol LittleFS. +;; When upgrading to the new framework, it might be necessary to first do a chip erase (make sure you have a backup of cfg.json and presets.json) +;; also SpiffsEditor (Async Webserver) has known problems in IDF4.4.x +[env:esp32mdev_PSRAM] +board = lolin_d32_pro +;board = esp32cam +; platform = ${esp32.platform} +; platform_packages = ${esp32.platform_packages} +platform = espressif32@5.1.1 +platform_packages = platformio/framework-arduinoespressif32@3.20004.220825 +framework = arduino + +upload_speed = 460800 ; or 921600 +build_unflags = ${common.build_unflags} +;build_flags = ${common.build_flags} ${esp32.build_flags} +build_flags = ${common.build_flags} ${esp32.build_flagsV4} + -D WLED_RELEASE_NAME=ESP32 -D WLED_WATCHDOG_TIMEOUT=0 #-D WLED_DISABLE_BLYNK #-D WLED_DISABLE_BROWNOUT_DET + -D WLED_USE_PSRAM + -D ABL_MILLIAMPS_DEFAULT=1500 ; 850 not enough for 1024 leds + -D UWLED_USE_MY_CONFIG + -D USERMOD_CUSTOMEFFECTS + -D USERMOD_AUDIOREACTIVE + -D UM_AUDIOREACTIVE_USE_NEW_FFT + ; -D WLED_DEBUG + ; -D SR_DEBUG + +;lib_deps = ${esp32.lib_deps} +lib_deps = ${esp32.lib_depsV4} + https://github.com/kosme/arduinoFFT#develop @ 1.9.2 + +monitor_filters = esp32_exception_decoder +board_build.partitions = ${esp32.default_partitions} +board_build.f_flash = 80000000L +board_build.flash_mode = dio + +[env:esp32S3mdev] +board = esp32-c3-devkitm-1 +platform = espressif32@5.1.1 +platform_packages = platformio/framework-arduinoespressif32@3.20004.220825 +framework = arduino + +upload_speed = 460800 ; or 921600 +build_unflags = ${common.build_unflags} +build_flags = ${common.build_flags} ${esp32s3.build_flags} -D WLED_RELEASE_NAME=ESP32S3 #-D WLED_DISABLE_BLYNK #-D WLED_DISABLE_BROWNOUT_DET + -D ARDUINO_USB_MODE=1 -D ARDUINO_USB_CDC_ON_BOOT=0 -D ARDUINO_USB_MSC_ON_BOOT=0 + -D WLED_WATCHDOG_TIMEOUT=0 + -D ABL_MILLIAMPS_DEFAULT=1500 ; 850 not enough for 1024 leds + -D LEDPIN=4 + -D STATUSLED=39 + -D BTNPIN=-1 + -D RLYPIN=-1 + -D IRPIN=-1 + -D HW_PIN_SDA=40 + -D HW_PIN_SCL=41 + -D UWLED_USE_MY_CONFIG + -D USERMOD_CUSTOMEFFECTS + ;; for audioreactive usermod + -D USERMOD_AUDIOREACTIVE + -D UM_AUDIOREACTIVE_USE_NEW_FFT + -D AUDIOPIN=-1 + -D I2S_SDPIN=16 + -D I2S_CKPIN=17 + -D I2S_WSPIN=47 + -D ES7243_SDAPIN=8 + -D ES7243_SCLPIN=18 + +lib_deps = ${esp32s3.lib_deps} + ;; for audioreactive usermod + https://github.com/kosme/arduinoFFT#develop @ 1.9.2 + +board_build.partitions = tools/WLED_ESP32_8MB.csv +; board_build.flash_mode = dio +board_build.flash_mode = qio +board_build.f_flash = 80000000L +; board_build.f_flash = 120000000L +monitor_filters = esp32_exception_decoder + # ------------------------------------------------------------------------------ # custom board configurations # ------------------------------------------------------------------------------ From 9f65b625a64ec5dea657dda67291db72877a17b8 Mon Sep 17 00:00:00 2001 From: Frank Date: Wed, 21 Sep 2022 18:45:54 +0200 Subject: [PATCH 3/4] typo --- platformio.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platformio.ini b/platformio.ini index 9cb08f13..b9ded1f0 100644 --- a/platformio.ini +++ b/platformio.ini @@ -548,7 +548,7 @@ board_build.f_flash = 80000000L board_build.flash_mode = dio [env:esp32S3mdev] -board = esp32-c3-devkitm-1 +board = esp32-s3-devkitc-1 platform = espressif32@5.1.1 platform_packages = platformio/framework-arduinoespressif32@3.20004.220825 framework = arduino From 2e634c20fada746b4ebd1f7e777f1962d4509cec Mon Sep 17 00:00:00 2001 From: Frank <91616163+softhack007@users.noreply.github.com> Date: Mon, 26 Sep 2022 14:50:31 +0200 Subject: [PATCH 4/4] update - ESPAsyncWebServer 2.0.6 (fixes crashes) - added platformV4 and platformV4_packages - all new MCUs use same platform --- platformio.ini | 39 +++++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/platformio.ini b/platformio.ini index b9ded1f0..957225d3 100644 --- a/platformio.ini +++ b/platformio.ini @@ -165,7 +165,7 @@ lib_compat_mode = strict lib_deps = fastled/FastLED @ 3.5.0 IRremoteESP8266 @ 2.8.2 - https://github.com/Aircoookie/ESPAsyncWebServer.git @ ~2.0.5 + https://github.com/Aircoookie/ESPAsyncWebServer.git @ ~2.0.6 #For use of the TTGO T-Display ESP32 Module with integrated TFT display uncomment the following line #TFT_eSPI #For use SSD1306 OLED display uncomment following @@ -228,13 +228,21 @@ lib_deps = makuna/NeoPixelBus @ 2.6.9 https://github.com/pbolduc/AsyncTCP.git @ 1.2.0 +;; ** For compiling with latest Frameworks (IDF4.4.x and arduino-esp32 v2.0.x) ** +;;; standard platform +platformV4 = espressif32@ ~5.1.1 +platformV4_packages = platformio/framework-arduinoespressif32@ ~3.20004.220825 +;;; tasmota platform +;platformV4 = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.5.1/platform-espressif32-2.0.5.1.zip +;platformV4_packages = +;;; V4.4.x build flags (without LOROL_LITTLEFS) build_flagsV4 = -g -DARDUINO_ARCH_ESP32 -DCONFIG_LITTLEFS_FOR_IDF_3_2 -D CONFIG_ASYNC_TCP_USE_WDT=0 +;;; V4.4.x libraries (without LOROL_LITTLEFS; with newer NeoPixelBus) lib_depsV4 = ${env.lib_deps} - ;makuna/NeoPixelBus @ 2.6.9 https://github.com/Makuna/NeoPixelBus.git#master @ 2.7.0 ;; NPB 2.6.9 tends to crash whith IDF V4.4.3 -> use latest NeoPixelBus dev version instead https://github.com/pbolduc/AsyncTCP.git @ 1.2.0 @@ -385,9 +393,10 @@ board_build.partitions = ${esp32.default_partitions} [env:esp32s2_saola] board = esp32-s2-saola-1 -platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.2.2/platform-tasmota-espressif32-2.0.2.zip -platform_packages = -framework = arduino +;platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.2.2/platform-tasmota-espressif32-2.0.2.zip +;platform_packages = +platform = ${esp32.platformV4} +platform_packages = ${esp32.platformV4_packages} board_build.partitions = tools/WLED_ESP32_4MB_1MB_FS.csv board_build.flash_mode = qio upload_speed = 460800 @@ -396,9 +405,10 @@ lib_deps = ${esp32s2.lib_deps} [env:esp32c3dev] board = esp32-c3-devkitm-1 -platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.2.2/platform-tasmota-espressif32-2.0.2.zip -platform_packages = -framework = arduino +;platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.2.2/platform-tasmota-espressif32-2.0.2.zip +;platform_packages = +platform = ${esp32.platformV4} +platform_packages = ${esp32.platformV4_packages} build_flags = ${common.build_flags} ${esp32c3.build_flags} -D CONFIG_LITTLEFS_FOR_IDF_3_2 -D WLED_WATCHDOG_TIMEOUT=0 board_build.partitions = tools/WLED_ESP32_4MB_1MB_FS.csv @@ -411,7 +421,6 @@ lib_deps = ${esp32c3.lib_deps} board = esp32-s3-devkitc-1 platform = espressif32@5.1.1 platform_packages = platformio/framework-arduinoespressif32@3.20004.220825 -framework = arduino upload_speed = 921600 build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} ${esp32s3.build_flags} -D CONFIG_LITTLEFS_FOR_IDF_3_2 -D WLED_WATCHDOG_TIMEOUT=0 -D ARDUINO_USB_MODE=1 -D ARDUINO_USB_CDC_ON_BOOT=0 -D ARDUINO_USB_MSC_ON_BOOT=0 @@ -520,9 +529,8 @@ board = lolin_d32_pro ;board = esp32cam ; platform = ${esp32.platform} ; platform_packages = ${esp32.platform_packages} -platform = espressif32@5.1.1 -platform_packages = platformio/framework-arduinoespressif32@3.20004.220825 -framework = arduino +platform = ${esp32.platformV4} +platform_packages = ${esp32.platformV4_packages} upload_speed = 460800 ; or 921600 build_unflags = ${common.build_unflags} @@ -549,9 +557,8 @@ board_build.flash_mode = dio [env:esp32S3mdev] board = esp32-s3-devkitc-1 -platform = espressif32@5.1.1 -platform_packages = platformio/framework-arduinoespressif32@3.20004.220825 -framework = arduino +platform = ${esp32.platformV4} +platform_packages = ${esp32.platformV4_packages} upload_speed = 460800 ; or 921600 build_unflags = ${common.build_unflags} @@ -566,7 +573,7 @@ build_flags = ${common.build_flags} ${esp32s3.build_flags} -D WLED_RELEASE_NAME -D IRPIN=-1 -D HW_PIN_SDA=40 -D HW_PIN_SCL=41 - -D UWLED_USE_MY_CONFIG + -D WLED_USE_MY_CONFIG -D USERMOD_CUSTOMEFFECTS ;; for audioreactive usermod -D USERMOD_AUDIOREACTIVE