786 lines
31 KiB
INI
786 lines
31 KiB
INI
; PlatformIO Project Configuration File
|
|
; Please visit documentation: https://docs.platformio.org/page/projectconf.html
|
|
|
|
[platformio]
|
|
# ------------------------------------------------------------------------------
|
|
# ENVIRONMENTS
|
|
#
|
|
# Please uncomment one of the lines below to select your board(s)
|
|
# (use `platformio_override.ini` when building for your own board; see `platformio_override.ini.sample` for an example)
|
|
# ------------------------------------------------------------------------------
|
|
|
|
# CI binaries
|
|
; default_envs = nodemcuv2, esp8266_2m, esp01_1m_full, esp32dev, esp32_eth # ESP32 variant builds are temporarily excluded from CI due to toolchain issues on the GitHub Actions Linux environment
|
|
default_envs = nodemcuv2, esp8266_2m, esp01_1m_full, esp32dev, esp32_eth, lolin_s2_mini, esp32c3dev, esp32s3dev_8MB
|
|
|
|
# Release binaries
|
|
; default_envs = nodemcuv2, esp8266_2m, esp01_1m_full, esp32dev, esp32_eth, lolin_s2_mini, 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, 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
|
|
|
|
# Single binaries (uncomment your board)
|
|
; default_envs = elekstube_ips
|
|
; default_envs = nodemcuv2
|
|
; default_envs = esp8266_2m
|
|
; default_envs = esp01_1m_full
|
|
; default_envs = esp07
|
|
; default_envs = d1_mini
|
|
; default_envs = heltec_wifi_kit_8
|
|
; default_envs = h803wf
|
|
; default_envs = d1_mini_debug
|
|
; default_envs = d1_mini_ota
|
|
; default_envs = esp32dev
|
|
; default_envs = esp8285_4CH_MagicHome
|
|
; default_envs = esp8285_H801
|
|
; default_envs = d1_mini_5CH_Shojo_PCB
|
|
; default_envs = wemos_shield_esp32
|
|
; default_envs = m5atom
|
|
; default_envs = esp32_eth
|
|
; default_envs = esp32dev_qio80
|
|
; default_envs = esp32_eth_ota1mapp
|
|
; default_envs = esp32s2_saola
|
|
; default_envs = esp32c3dev
|
|
; default_envs = lolin_s2_mini
|
|
|
|
src_dir = ./wled00
|
|
data_dir = ./wled00/data
|
|
build_cache_dir = ~/.buildcache
|
|
extra_configs =
|
|
platformio_override.ini
|
|
|
|
[common]
|
|
# ------------------------------------------------------------------------------
|
|
# PLATFORM:
|
|
# !! DO NOT confuse platformio's ESP8266 development platform with Arduino core for ESP8266
|
|
#
|
|
# arduino core 2.6.3 = platformIO 2.3.2
|
|
# arduino core 2.7.0 = platformIO 2.5.0
|
|
# ------------------------------------------------------------------------------
|
|
arduino_core_2_6_3 = espressif8266@2.3.3
|
|
arduino_core_2_7_4 = espressif8266@2.6.2
|
|
arduino_core_3_0_0 = espressif8266@3.0.0
|
|
arduino_core_3_2_0 = espressif8266@3.2.0
|
|
arduino_core_4_1_0 = espressif8266@4.1.0
|
|
arduino_core_3_1_2 = espressif8266@4.2.0
|
|
|
|
# Development platforms
|
|
arduino_core_develop = https://github.com/platformio/platform-espressif8266#develop
|
|
arduino_core_git = https://github.com/platformio/platform-espressif8266#feature/stage
|
|
|
|
# Platform to use for ESP8266
|
|
platform_wled_default = ${common.arduino_core_3_1_2}
|
|
# We use 2.7.4.7 for all, includes PWM flicker fix and Wstring optimization
|
|
#platform_packages = tasmota/framework-arduinoespressif8266 @ 3.20704.7
|
|
platform_packages = platformio/framework-arduinoespressif8266
|
|
platformio/toolchain-xtensa @ ~2.100300.220621 #2.40802.200502
|
|
platformio/tool-esptool #@ ~1.413.0
|
|
platformio/tool-esptoolpy #@ ~1.30000.0
|
|
|
|
## previous platform for 8266, in case of problems with the new one
|
|
## you'll need makuna/NeoPixelBus@ 2.6.9 for arduino_core_3_2_0, which does not support Ucs890x
|
|
;; platform_wled_default = ${common.arduino_core_3_2_0}
|
|
;; platform_packages = tasmota/framework-arduinoespressif8266 @ 3.20704.7
|
|
;; platformio/toolchain-xtensa @ ~2.40802.200502
|
|
;; platformio/tool-esptool @ ~1.413.0
|
|
;; platformio/tool-esptoolpy @ ~1.30000.0
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# FLAGS: DEBUG
|
|
#
|
|
# ------------------------------------------------------------------------------
|
|
debug_flags = -D DEBUG=1 -D WLED_DEBUG -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_TLS_MEM
|
|
#if needed (for memleaks etc) also add; -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h"
|
|
#-DDEBUG_ESP_CORE is not working right now
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# FLAGS: ldscript (available ldscripts at https://github.com/esp8266/Arduino/tree/master/tools/sdk/ld)
|
|
# ldscript_2m1m (2048 KB) = 1019 KB sketch, 4 KB eeprom, 1004 KB spiffs, 16 KB reserved
|
|
# ldscript_4m1m (4096 KB) = 1019 KB sketch, 4 KB eeprom, 1002 KB spiffs, 16 KB reserved, 2048 KB empty/ota?
|
|
#
|
|
# Available lwIP variants (macros):
|
|
# -DPIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH = v1.4 Higher Bandwidth (default)
|
|
# -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY = v2 Lower Memory
|
|
# -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH = v2 Higher Bandwidth
|
|
# -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH
|
|
#
|
|
# BearSSL performance:
|
|
# When building with -DSECURE_CLIENT=SECURE_CLIENT_BEARSSL, please add `board_build.f_cpu = 160000000` to the environment configuration
|
|
#
|
|
# BearSSL ciphers:
|
|
# When building on core >= 2.5, you can add the build flag -DBEARSSL_SSL_BASIC in order to build BearSSL with a limited set of ciphers:
|
|
# TLS_RSA_WITH_AES_128_CBC_SHA256 / AES128-SHA256
|
|
# TLS_RSA_WITH_AES_256_CBC_SHA256 / AES256-SHA256
|
|
# TLS_RSA_WITH_AES_128_CBC_SHA / AES128-SHA
|
|
# TLS_RSA_WITH_AES_256_CBC_SHA / AES256-SHA
|
|
# This reduces the OTA size with ~45KB, so it's especially useful on low memory boards (512k/1m).
|
|
# ------------------------------------------------------------------------------
|
|
build_flags =
|
|
-Wno-attributes
|
|
-DMQTT_MAX_PACKET_SIZE=1024
|
|
-DSECURE_CLIENT=SECURE_CLIENT_BEARSSL
|
|
-DBEARSSL_SSL_BASIC
|
|
-D CORE_DEBUG_LEVEL=0
|
|
-D NDEBUG
|
|
-Wno-attributes ;; silence warnings about unknown attribute 'maybe_unused' in NeoPixelBus
|
|
#build_flags for the IRremoteESP8266 library (enabled decoders have to appear here)
|
|
-D _IR_ENABLE_DEFAULT_=false
|
|
-D DECODE_HASH=true
|
|
-D DECODE_NEC=true
|
|
-D DECODE_SONY=true
|
|
-D DECODE_SAMSUNG=true
|
|
-D DECODE_LG=true
|
|
;-Dregister= # remove warnings in C++17 due to use of deprecated register keyword by the FastLED library ;; warning: this breaks framework code on ESP32-C3 and ESP32-S2
|
|
-DWLED_USE_MY_CONFIG
|
|
; -D USERMOD_SENSORSTOMQTT
|
|
#For ADS1115 sensor uncomment following
|
|
; -D USERMOD_ADS1115
|
|
|
|
build_unflags =
|
|
|
|
build_flags_esp8266 = ${common.build_flags} ${esp8266.build_flags}
|
|
build_flags_esp32 = ${common.build_flags} ${esp32.build_flags}
|
|
build_flags_esp32_V4= ${common.build_flags} ${esp32_idf_V4.build_flags}
|
|
|
|
ldscript_1m128k = eagle.flash.1m128.ld
|
|
ldscript_2m512k = eagle.flash.2m512.ld
|
|
ldscript_2m1m = eagle.flash.2m1m.ld
|
|
ldscript_4m1m = eagle.flash.4m1m.ld
|
|
|
|
[scripts_defaults]
|
|
extra_scripts =
|
|
pre:pio-scripts/set_version.py
|
|
post:pio-scripts/output_bins.py
|
|
post:pio-scripts/strip-floats.py
|
|
pre:pio-scripts/user_config_copy.py
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# COMMON SETTINGS:
|
|
# ------------------------------------------------------------------------------
|
|
[env]
|
|
framework = arduino
|
|
board_build.flash_mode = dout
|
|
monitor_speed = 115200
|
|
# slow upload speed (comment this out with a ';' when building for development use)
|
|
upload_speed = 115200
|
|
# fast upload speed (remove ';' when building for development use)
|
|
; upload_speed = 921600
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# LIBRARIES: required dependencies
|
|
# Please note that we don't always use the latest version of a library.
|
|
#
|
|
# The following libraries have been included (and some of them changed) in the source:
|
|
# ArduinoJson@5.13.5, E131@1.0.0(changed), Time@1.5, Timezone@1.2.1
|
|
# ------------------------------------------------------------------------------
|
|
lib_compat_mode = strict
|
|
lib_deps =
|
|
fastled/FastLED @ 3.5.0
|
|
IRremoteESP8266 @ 2.8.2
|
|
makuna/NeoPixelBus @ 2.7.5
|
|
https://github.com/Aircoookie/ESPAsyncWebServer.git @ ~2.0.7
|
|
#For use of the TTGO T-Display ESP32 Module with integrated TFT display uncomment the following line
|
|
#TFT_eSPI
|
|
#For compatible OLED display uncomment following
|
|
#U8g2 #@ ~2.33.15
|
|
#For Dallas sensor uncomment following
|
|
#OneWire @ ~2.3.7
|
|
#For BME280 sensor uncomment following
|
|
#BME280 @ ~3.0.0
|
|
; adafruit/Adafruit BMP280 Library @ 2.1.0
|
|
; adafruit/Adafruit CCS811 Library @ 1.0.4
|
|
; adafruit/Adafruit Si7021 Library @ 1.4.0
|
|
#For ADS1115 sensor uncomment following
|
|
; adafruit/Adafruit BusIO @ 1.13.2
|
|
; adafruit/Adafruit ADS1X15 @ 2.4.0
|
|
|
|
extra_scripts = ${scripts_defaults.extra_scripts}
|
|
|
|
[esp8266]
|
|
build_flags =
|
|
-DESP8266
|
|
-DFP_IN_IROM
|
|
;-Wno-deprecated-declarations
|
|
-Wno-register ;; leaves some warnings when compiling C files: command-line option '-Wno-register' is valid for C++/ObjC++ but not for C
|
|
;-Dregister= # remove warnings in C++17 due to use of deprecated register keyword by the FastLED library ;; warning: this can be dangerous
|
|
-Wno-misleading-indentation
|
|
; NONOSDK22x_190703 = 2.2.2-dev(38a443e)
|
|
-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703
|
|
; lwIP 2 - Higher Bandwidth no Features
|
|
; -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH
|
|
; lwIP 1.4 - Higher Bandwidth (Aircoookie has)
|
|
-DPIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH
|
|
; VTABLES in Flash
|
|
-DVTABLES_IN_FLASH
|
|
; restrict to minimal mime-types
|
|
-DMIMETYPE_MINIMAL
|
|
|
|
lib_deps =
|
|
#https://github.com/lorol/LITTLEFS.git
|
|
ESPAsyncTCP @ 1.2.2
|
|
ESPAsyncUDP
|
|
${env.lib_deps}
|
|
|
|
[esp32]
|
|
#platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.2.3/platform-espressif32-2.0.2.3.zip
|
|
platform = espressif32@3.5.0
|
|
|
|
platform_packages = framework-arduinoespressif32 @ https://github.com/Aircoookie/arduino-esp32.git#1.0.6.4
|
|
|
|
build_flags = -g
|
|
-DARDUINO_ARCH_ESP32
|
|
#-DCONFIG_LITTLEFS_FOR_IDF_3_2
|
|
-D CONFIG_ASYNC_TCP_USE_WDT=0
|
|
#use LITTLEFS library by lorol in ESP32 core 1.x.x instead of built-in in 2.x.x
|
|
-D LOROL_LITTLEFS
|
|
; -DARDUINO_USB_CDC_ON_BOOT=0 ;; this flag is mandatory for "classic ESP32" when building with arduino-esp32 >=2.0.3
|
|
|
|
default_partitions = tools/WLED_ESP32_4MB_1MB_FS.csv
|
|
|
|
lib_deps =
|
|
https://github.com/lorol/LITTLEFS.git
|
|
https://github.com/pbolduc/AsyncTCP.git @ 1.2.0
|
|
bitbank2/AnimatedGIF@^1.4.7
|
|
pixelmatix/GifDecoder@^1.1.0
|
|
${env.lib_deps}
|
|
|
|
|
|
[esp32_idf_V4]
|
|
;; experimental build environment for ESP32 using ESP-IDF 4.4.x / arduino-esp32 v2.0.5
|
|
;; very similar to the normal ESP32 flags, but omitting Lorol LittleFS, as littlefs is included in the new framework already.
|
|
;;
|
|
;; please note that you can NOT update existing ESP32 installs with a "V4" build. Also updating by OTA will not work properly.
|
|
;; You need to completely erase your device (esptool erase_flash) first, then install the "V4" build from VSCode+platformio.
|
|
platform = espressif32@5.2.0
|
|
platform_packages =
|
|
toolchain-riscv32-esp @ 8.4.0+2021r2-patch5 ; required for platform version < 5.3.0, remove this line when upgrading to platform >=5.3.0
|
|
build_flags = -g
|
|
-Wshadow=compatible-local ;; emit warning in case a local variable "shadows" another local one
|
|
-DARDUINO_ARCH_ESP32 -DESP32
|
|
#-DCONFIG_LITTLEFS_FOR_IDF_3_2
|
|
-D CONFIG_ASYNC_TCP_USE_WDT=0
|
|
-DARDUINO_USB_CDC_ON_BOOT=0 ;; this flag is mandatory for "classic ESP32" when building with arduino-esp32 >=2.0.3
|
|
default_partitions = tools/WLED_ESP32_4MB_1MB_FS.csv
|
|
lib_deps =
|
|
https://github.com/pbolduc/AsyncTCP.git @ 1.2.0
|
|
${env.lib_deps}
|
|
|
|
[esp32s2]
|
|
;; generic definitions for all ESP32-S2 boards
|
|
platform = espressif32@5.2.0
|
|
platform_packages =
|
|
toolchain-riscv32-esp @ 8.4.0+2021r2-patch5 ; required for platform version < 5.3.0, remove this line when upgrading to platform >=5.3.0
|
|
build_flags = -g
|
|
-DARDUINO_ARCH_ESP32
|
|
-DARDUINO_ARCH_ESP32S2
|
|
-DCONFIG_IDF_TARGET_ESP32S2=1
|
|
-D CONFIG_ASYNC_TCP_USE_WDT=0
|
|
-DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=0
|
|
-DCO
|
|
-DARDUINO_USB_MODE=0 ;; this flag is mandatory for ESP32-S2 !
|
|
;; please make sure that the following flags are properly set (to 0 or 1) by your board.json, or included in your custom platformio_override.ini entry:
|
|
;; ARDUINO_USB_CDC_ON_BOOT
|
|
|
|
lib_deps =
|
|
https://github.com/pbolduc/AsyncTCP.git @ 1.2.0
|
|
${env.lib_deps}
|
|
|
|
[esp32c3]
|
|
;; generic definitions for all ESP32-C3 boards
|
|
platform = espressif32@5.2.0
|
|
platform_packages =
|
|
toolchain-riscv32-esp @ 8.4.0+2021r2-patch5 ; required for platform version < 5.3.0, remove this line when upgrading to platform >=5.3.0
|
|
build_flags = -g
|
|
-DARDUINO_ARCH_ESP32
|
|
-DARDUINO_ARCH_ESP32C3
|
|
-DCONFIG_IDF_TARGET_ESP32C3=1
|
|
-D CONFIG_ASYNC_TCP_USE_WDT=0
|
|
-DCO
|
|
-DARDUINO_USB_MODE=1 ;; this flag is mandatory for ESP32-C3
|
|
;; please make sure that the following flags are properly set (to 0 or 1) by your board.json, or included in your custom platformio_override.ini entry:
|
|
;; ARDUINO_USB_CDC_ON_BOOT
|
|
|
|
lib_deps =
|
|
https://github.com/pbolduc/AsyncTCP.git @ 1.2.0
|
|
${env.lib_deps}
|
|
|
|
[esp32s3]
|
|
;; generic definitions for all ESP32-S3 boards
|
|
platform = espressif32@5.2.0
|
|
platform_packages =
|
|
toolchain-riscv32-esp @ 8.4.0+2021r2-patch5 ; required for platform version < 5.3.0, remove this line when upgrading to platform >=5.3.0
|
|
build_flags = -g
|
|
-DESP32
|
|
-DARDUINO_ARCH_ESP32
|
|
-DARDUINO_ARCH_ESP32S3
|
|
-DCONFIG_IDF_TARGET_ESP32S3=1
|
|
-D CONFIG_ASYNC_TCP_USE_WDT=0
|
|
-DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_DFU_ON_BOOT=0
|
|
-DCO
|
|
;; please make sure that the following flags are properly set (to 0 or 1) by your board.json, or included in your custom platformio_override.ini entry:
|
|
;; ARDUINO_USB_MODE, ARDUINO_USB_CDC_ON_BOOT
|
|
|
|
lib_deps =
|
|
https://github.com/pbolduc/AsyncTCP.git @ 1.2.0
|
|
${env.lib_deps}
|
|
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# WLED BUILDS
|
|
# ------------------------------------------------------------------------------
|
|
|
|
[env:nodemcuv2]
|
|
board = nodemcuv2
|
|
platform = ${common.platform_wled_default}
|
|
platform_packages = ${common.platform_packages}
|
|
board_build.ldscript = ${common.ldscript_4m1m}
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp8266} -D WLED_RELEASE_NAME=ESP8266 #-DWLED_DISABLE_2D
|
|
lib_deps = ${esp8266.lib_deps}
|
|
monitor_filters = esp8266_exception_decoder
|
|
|
|
[env:esp8266_2m]
|
|
board = esp_wroom_02
|
|
platform = ${common.platform_wled_default}
|
|
platform_packages = ${common.platform_packages}
|
|
board_build.ldscript = ${common.ldscript_2m512k}
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp8266} -D WLED_RELEASE_NAME=ESP02
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
[env:esp01_1m_full]
|
|
board = esp01_1m
|
|
platform = ${common.platform_wled_default}
|
|
platform_packages = ${common.platform_packages}
|
|
board_build.ldscript = ${common.ldscript_1m128k}
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp8266} -D WLED_RELEASE_NAME=ESP01 -D WLED_DISABLE_OTA
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
[env:esp07]
|
|
board = esp07
|
|
platform = ${common.platform_wled_default}
|
|
platform_packages = ${common.platform_packages}
|
|
board_build.ldscript = ${common.ldscript_4m1m}
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp8266}
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
[env:d1_mini]
|
|
board = d1_mini
|
|
platform = ${common.platform_wled_default}
|
|
platform_packages = ${common.platform_packages}
|
|
upload_speed = 921600
|
|
board_build.ldscript = ${common.ldscript_4m1m}
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp8266}
|
|
lib_deps = ${esp8266.lib_deps}
|
|
monitor_filters = esp8266_exception_decoder
|
|
|
|
[env:heltec_wifi_kit_8]
|
|
board = d1_mini
|
|
platform = ${common.platform_wled_default}
|
|
platform_packages = ${common.platform_packages}
|
|
board_build.ldscript = ${common.ldscript_4m1m}
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp8266}
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
[env:h803wf]
|
|
board = d1_mini
|
|
platform = ${common.platform_wled_default}
|
|
platform_packages = ${common.platform_packages}
|
|
board_build.ldscript = ${common.ldscript_4m1m}
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp8266} -D LEDPIN=1 -D WLED_DISABLE_INFRARED
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
[env:esp32dev]
|
|
board = esp32dev
|
|
platform = ${esp32.platform}
|
|
platform_packages = ${esp32.platform_packages}
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp32} -D WLED_RELEASE_NAME=ESP32 #-D WLED_DISABLE_BROWNOUT_DET
|
|
lib_deps = ${esp32.lib_deps}
|
|
monitor_filters = esp32_exception_decoder
|
|
board_build.partitions = ${esp32.default_partitions}
|
|
|
|
[env:esp32dev_qio80]
|
|
board = esp32dev
|
|
platform = ${esp32.platform}
|
|
platform_packages = ${esp32.platform_packages}
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp32} -D WLED_RELEASE_NAME=ESP32_qio80 #-D WLED_DISABLE_BROWNOUT_DET
|
|
lib_deps = ${esp32.lib_deps}
|
|
monitor_filters = esp32_exception_decoder
|
|
board_build.partitions = ${esp32.default_partitions}
|
|
board_build.f_flash = 80000000L
|
|
board_build.flash_mode = qio
|
|
|
|
[env:esp32dev_V4_dio80]
|
|
;; experimental ESP32 env using ESP-IDF V4.4.x
|
|
;; Warning: this build environment is not stable!!
|
|
;; please erase your device before installing.
|
|
board = esp32dev
|
|
platform = ${esp32_idf_V4.platform}
|
|
platform_packages = ${esp32_idf_V4.platform_packages}
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags} ${esp32_idf_V4.build_flags} -D WLED_RELEASE_NAME=ESP32_V4_qio80 #-D WLED_DISABLE_BROWNOUT_DET
|
|
lib_deps = ${esp32_idf_V4.lib_deps}
|
|
monitor_filters = esp32_exception_decoder
|
|
board_build.partitions = ${esp32_idf_V4.default_partitions}
|
|
board_build.f_flash = 80000000L
|
|
board_build.flash_mode = dio
|
|
|
|
[env:esp32_eth]
|
|
board = esp32-poe
|
|
platform = ${esp32.platform}
|
|
platform_packages = ${esp32.platform_packages}
|
|
upload_speed = 921600
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp32} -D WLED_RELEASE_NAME=ESP32_Ethernet -D RLYPIN=-1 -D WLED_USE_ETHERNET -D BTNPIN=-1
|
|
lib_deps = ${esp32.lib_deps}
|
|
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
|
|
board_build.partitions = tools/WLED_ESP32_4MB_1MB_FS.csv
|
|
board_build.flash_mode = qio
|
|
upload_speed = 460800
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags} ${esp32s2.build_flags} #-D WLED_RELEASE_NAME=S2_saola
|
|
-DARDUINO_USB_CDC_ON_BOOT=1
|
|
lib_deps = ${esp32s2.lib_deps}
|
|
|
|
[env:esp32c3dev]
|
|
extends = esp32c3
|
|
platform = ${esp32c3.platform}
|
|
platform_packages = ${esp32c3.platform_packages}
|
|
framework = arduino
|
|
board = esp32-c3-devkitm-1
|
|
board_build.partitions = tools/WLED_ESP32_4MB_1MB_FS.csv
|
|
build_flags = ${common.build_flags} ${esp32c3.build_flags} #-D WLED_RELEASE_NAME=ESP32-C3
|
|
-D WLED_WATCHDOG_TIMEOUT=0
|
|
-DARDUINO_USB_CDC_ON_BOOT=1 ;; for virtual CDC USB
|
|
;-DARDUINO_USB_CDC_ON_BOOT=0 ;; for serial-to-USB chip
|
|
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 (flash_mode: qio)
|
|
board = esp32-s3-devkitc-1
|
|
platform = ${esp32s3.platform}
|
|
platform_packages = ${esp32s3.platform_packages}
|
|
upload_speed = 921600 ; or 460800
|
|
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_CDC_ON_BOOT=0 ;; -D ARDUINO_USB_MODE=1 ;; for boards with serial-to-USB chip
|
|
;-D ARDUINO_USB_CDC_ON_BOOT=1 ;; -D ARDUINO_USB_MODE=0 ;; for boards with USB-OTG connector only (USBCDC or "TinyUSB")
|
|
;-D WLED_DEBUG
|
|
lib_deps = ${esp32s3.lib_deps}
|
|
board_build.partitions = tools/WLED_ESP32_8MB.csv
|
|
board_build.f_flash = 80000000L
|
|
board_build.flash_mode = qio
|
|
; board_build.flash_mode = dio ;; try this if you have problems at startup
|
|
monitor_filters = esp32_exception_decoder
|
|
|
|
[env:esp32s3dev_8MB_PSRAM]
|
|
;; ESP32-TinyS3 development board, with 8MB FLASH and 8MB PSRAM (memory_type: qio_opi, qio_qspi, or opi_opi)
|
|
;board = um_tinys3 ; -> needs workaround from https://github.com/Aircoookie/WLED/pull/2905#issuecomment-1328049860
|
|
;board = esp32s3box ; -> error: 'esp32_adc2gpio' was not declared in this scope
|
|
board = esp32-s3-devkitc-1 ; -> compiles, but does not support PSRAM
|
|
platform = ${esp32s3.platform}
|
|
platform_packages = ${esp32s3.platform_packages}
|
|
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_CDC_ON_BOOT=0 ;; -D ARDUINO_USB_MODE=1 ;; for boards with serial-to-USB chip
|
|
-D ARDUINO_USB_CDC_ON_BOOT=1 ;; -D ARDUINO_USB_MODE=0 ;; for boards with USB-OTG connector only (USBCDC or "TinyUSB")
|
|
; -D WLED_RELEASE_NAME=ESP32-S3_PSRAM
|
|
-D WLED_USE_PSRAM -DBOARD_HAS_PSRAM ; tells WLED that PSRAM shall be used
|
|
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}
|
|
platform_packages = ${common.platform_packages}
|
|
board_build.ldscript = ${common.ldscript_1m128k}
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp8266} -D WLED_DISABLE_OTA
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
[env:esp8285_H801]
|
|
board = esp8285
|
|
platform = ${common.platform_wled_default}
|
|
platform_packages = ${common.platform_packages}
|
|
board_build.ldscript = ${common.ldscript_1m128k}
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp8266} -D WLED_DISABLE_OTA
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
[env:d1_mini_5CH_Shojo_PCB]
|
|
board = d1_mini
|
|
platform = ${common.platform_wled_default}
|
|
platform_packages = ${common.platform_packages}
|
|
board_build.ldscript = ${common.ldscript_4m1m}
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp8266} -D WLED_USE_SHOJO_PCB
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# DEVELOPMENT BOARDS
|
|
# ------------------------------------------------------------------------------
|
|
|
|
[env:d1_mini_debug]
|
|
board = d1_mini
|
|
build_type = debug
|
|
platform = ${common.platform_wled_default}
|
|
platform_packages = ${common.platform_packages}
|
|
board_build.ldscript = ${common.ldscript_4m1m}
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp8266} ${common.debug_flags}
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
[env:d1_mini_ota]
|
|
board = d1_mini
|
|
upload_protocol = espota
|
|
# exchange for your WLED IP
|
|
upload_port = "10.10.1.27"
|
|
platform = ${common.platform_wled_default}
|
|
platform_packages = ${common.platform_packages}
|
|
board_build.ldscript = ${common.ldscript_4m1m}
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp8266}
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
[env:anavi_miracle_controller]
|
|
board = d1_mini
|
|
platform = ${common.platform_wled_default}
|
|
platform_packages = ${common.platform_packages}
|
|
board_build.ldscript = ${common.ldscript_4m1m}
|
|
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 = ${esp32s2.platform}
|
|
platform_packages = ${esp32s2.platform_packages}
|
|
board = lolin_s2_mini
|
|
board_build.partitions = tools/WLED_ESP32_4MB_1MB_FS.csv
|
|
build_unflags = ${common.build_unflags} #-DARDUINO_USB_CDC_ON_BOOT=1
|
|
build_flags = ${common.build_flags} ${esp32s2.build_flags} #-D WLED_RELEASE_NAME=LolinS2
|
|
-DBOARD_HAS_PSRAM
|
|
-DARDUINO_USB_CDC_ON_BOOT=1 # try disabling and enabling unflag above in case of board-specific issues, will disable Serial
|
|
-DARDUINO_USB_MSC_ON_BOOT=0
|
|
-DARDUINO_USB_DFU_ON_BOOT=0
|
|
-DLOLIN_WIFI_FIX ; seems to work much better with this
|
|
-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
|
|
# ------------------------------------------------------------------------------
|
|
|
|
[env:esp32c3dev_2MB]
|
|
;; for ESP32-C3 boards with 2MB flash (instead of 4MB).
|
|
;; this board need a specific partition file. OTA not possible.
|
|
extends = esp32c3
|
|
platform = ${esp32c3.platform}
|
|
platform_packages = ${esp32c3.platform_packages}
|
|
board = esp32-c3-devkitm-1
|
|
build_flags = ${common.build_flags} ${esp32c3.build_flags} #-D WLED_RELEASE_NAME=ESP32-C3
|
|
-D WLED_WATCHDOG_TIMEOUT=0
|
|
-D WLED_DISABLE_OTA
|
|
; -DARDUINO_USB_CDC_ON_BOOT=1 ;; for virtual CDC USB
|
|
-DARDUINO_USB_CDC_ON_BOOT=0 ;; for serial-to-USB chip
|
|
build_unflags = ${common.build_unflags}
|
|
upload_speed = 115200
|
|
lib_deps = ${esp32c3.lib_deps}
|
|
board_build.partitions = tools/WLED_ESP32_2MB_noOTA.csv
|
|
board_build.flash_mode = dio
|
|
|
|
[env:wemos_shield_esp32]
|
|
board = esp32dev
|
|
platform = ${esp32.platform}
|
|
platform_packages = ${esp32.platform_packages}
|
|
upload_speed = 460800
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp32}
|
|
-D LEDPIN=16
|
|
-D RLYPIN=19
|
|
-D BTNPIN=17
|
|
-D IRPIN=18
|
|
-D UWLED_USE_MY_CONFIG
|
|
-D USERMOD_DALLASTEMPERATURE
|
|
-D USERMOD_FOUR_LINE_DISPLAY
|
|
-D TEMPERATURE_PIN=23
|
|
-D USE_ALT_DISPlAY ; new versions of USERMOD_FOUR_LINE_DISPLAY and USERMOD_ROTARY_ENCODER_UI
|
|
-D USERMOD_AUDIOREACTIVE
|
|
lib_deps = ${esp32.lib_deps}
|
|
OneWire@~2.3.5
|
|
olikraus/U8g2 @ ^2.28.8
|
|
https://github.com/blazoncek/arduinoFFT.git
|
|
board_build.partitions = ${esp32.default_partitions}
|
|
|
|
[env:m5atom]
|
|
board = esp32dev
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp32} -D LEDPIN=27 -D BTNPIN=39
|
|
lib_deps = ${esp32.lib_deps}
|
|
platform = ${esp32.platform}
|
|
platform_packages = ${esp32.platform_packages}
|
|
board_build.partitions = ${esp32.default_partitions}
|
|
|
|
[env:sp501e]
|
|
board = esp_wroom_02
|
|
platform = ${common.platform_wled_default}
|
|
board_build.ldscript = ${common.ldscript_2m512k}
|
|
build_flags = ${common.build_flags_esp8266} -D LEDPIN=3 -D BTNPIN=1
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
[env:sp511e]
|
|
board = esp_wroom_02
|
|
platform = ${common.platform_wled_default}
|
|
board_build.ldscript = ${common.ldscript_2m512k}
|
|
build_flags = ${common.build_flags_esp8266} -D LEDPIN=3 -D BTNPIN=2 -D IRPIN=5 -D WLED_MAX_BUTTONS=3
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
[env:Athom_RGBCW] ;7w and 5w(GU10) bulbs
|
|
board = esp8285
|
|
platform = ${common.platform_wled_default}
|
|
platform_packages = ${common.platform_packages}
|
|
board_build.ldscript = ${common.ldscript_2m512k}
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp8266} -D WLED_RELEASE_NAME=ESP8266 -D BTNPIN=-1 -D RLYPIN=-1 -D DATA_PINS=4,12,14,13,5
|
|
-D DEFAULT_LED_TYPE=TYPE_ANALOG_5CH -D WLED_DISABLE_INFRARED -D WLED_MAX_CCT_BLEND=0
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
|
|
[env:Athom_15w_RGBCW] ;15w bulb
|
|
board = esp8285
|
|
platform = ${common.platform_wled_default}
|
|
platform_packages = ${common.platform_packages}
|
|
board_build.ldscript = ${common.ldscript_2m512k}
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp8266} -D WLED_RELEASE_NAME=ESP8266 -D BTNPIN=-1 -D RLYPIN=-1 -D DATA_PINS=4,12,14,5,13
|
|
-D DEFAULT_LED_TYPE=TYPE_ANALOG_5CH -D WLED_DISABLE_INFRARED -D WLED_MAX_CCT_BLEND=0 -D WLED_USE_IC_CCT
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
|
|
[env:Athom_3Pin_Controller] ;small controller with only data
|
|
board = esp8285
|
|
platform = ${common.platform_wled_default}
|
|
platform_packages = ${common.platform_packages}
|
|
board_build.ldscript = ${common.ldscript_2m512k}
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp8266} -D WLED_RELEASE_NAME=ESP8266 -D BTNPIN=0 -D RLYPIN=-1 -D LEDPIN=1 -D WLED_DISABLE_INFRARED
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
|
|
[env:Athom_4Pin_Controller] ; With clock and data interface
|
|
board = esp8285
|
|
platform = ${common.platform_wled_default}
|
|
platform_packages = ${common.platform_packages}
|
|
board_build.ldscript = ${common.ldscript_2m512k}
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp8266} -D WLED_RELEASE_NAME=ESP8266 -D BTNPIN=0 -D RLYPIN=12 -D LEDPIN=1 -D WLED_DISABLE_INFRARED
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
|
|
[env:Athom_5Pin_Controller] ;Analog light strip controller
|
|
board = esp8285
|
|
platform = ${common.platform_wled_default}
|
|
platform_packages = ${common.platform_packages}
|
|
board_build.ldscript = ${common.ldscript_2m512k}
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp8266} -D WLED_RELEASE_NAME=ESP8266 -D BTNPIN=0 -D RLYPIN=-1 DATA_PINS=4,12,14,13 -D WLED_DISABLE_INFRARED
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
|
|
[env:MY9291]
|
|
board = esp01_1m
|
|
platform = ${common.platform_wled_default}
|
|
platform_packages = ${common.platform_packages}
|
|
board_build.ldscript = ${common.ldscript_1m128k}
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp8266} -D WLED_RELEASE_NAME=ESP01 -D WLED_DISABLE_OTA -D USERMOD_MY9291
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# codm pixel controller board configurations
|
|
# codm-controller-0_6 can also be used for the TYWE3S controller
|
|
# ------------------------------------------------------------------------------
|
|
|
|
[env:codm-controller-0_6]
|
|
board = esp_wroom_02
|
|
platform = ${common.platform_wled_default}
|
|
platform_packages = ${common.platform_packages}
|
|
board_build.ldscript = ${common.ldscript_2m512k}
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp8266}
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
[env:codm-controller-0_6-rev2]
|
|
board = esp_wroom_02
|
|
platform = ${common.platform_wled_default}
|
|
platform_packages = ${common.platform_packages}
|
|
board_build.ldscript = ${common.ldscript_4m1m}
|
|
build_unflags = ${common.build_unflags}
|
|
build_flags = ${common.build_flags_esp8266}
|
|
lib_deps = ${esp8266.lib_deps}
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# EleksTube-IPS
|
|
# ------------------------------------------------------------------------------
|
|
[env:elekstube_ips]
|
|
board = esp32dev
|
|
platform = ${esp32.platform}
|
|
platform_packages = ${esp32.platform_packages}
|
|
upload_speed = 921600
|
|
build_flags = ${common.build_flags_esp32} -D WLED_DISABLE_BROWNOUT_DET -D WLED_DISABLE_INFRARED
|
|
-D USERMOD_RTC
|
|
-D USERMOD_ELEKSTUBE_IPS
|
|
-D LEDPIN=12
|
|
-D RLYPIN=27
|
|
-D BTNPIN=34
|
|
-D DEFAULT_LED_COUNT=6
|
|
# Display config
|
|
-D ST7789_DRIVER
|
|
-D TFT_WIDTH=135
|
|
-D TFT_HEIGHT=240
|
|
-D CGRAM_OFFSET
|
|
-D TFT_SDA_READ
|
|
-D TFT_MOSI=23
|
|
-D TFT_SCLK=18
|
|
-D TFT_DC=25
|
|
-D TFT_RST=26
|
|
-D SPI_FREQUENCY=40000000
|
|
-D USER_SETUP_LOADED
|
|
monitor_filters = esp32_exception_decoder
|
|
lib_deps =
|
|
${esp32.lib_deps}
|
|
TFT_eSPI @ ^2.3.70
|
|
board_build.partitions = ${esp32.default_partitions}
|