; *** Example PlatformIO Project Configuration Override File *** ; *** Changes done here override settings in platformio.ini *** ; ; ***************************************************************** ; *** to activate rename this file to platformio_override.ini *** ; ***************************************************************** ; ; Please visit documentation for the options and examples ; http://docs.platformio.org/en/stable/projectconf.html [platformio] ; For best Gitpod performance remove the ";" in the next line. Needed Platformio files are cached and installed at first run ;core_dir = .platformio extra_configs = platformio_tasmota_cenv.ini ; *** Build/upload environment default_envs = ; *** Uncomment the line(s) below to select version(s) tasmota ; tasmota-debug ; tasmota-ircustom ; tasmota-minimal ; tasmota-lite ; tasmota-knx ; tasmota-sensors ; tasmota-display ; tasmota-zbbridge ; tasmota-ir ; tasmota32 ; tasmota32-webcam ; tasmota32-minimal ; tasmota32-lite ; tasmota32-knx ; tasmota32-sensors ; tasmota32-display ; tasmota32-ir ; tasmota32-ircustom ; tasmota32solo1 ; tasmota32-odroidgo [common] platform_packages = ${core.platform_packages} build_unflags = ${core.build_unflags} build_flags = ${core.build_flags} ; *** Optional Debug messages ; -DDEBUG_TASMOTA_CORE ; -DDEBUG_TASMOTA_DRIVER ; -DDEBUG_TASMOTA_SENSOR ; *** CAUTION *** This setting is ONLY possible since 12.01.2021 with development version !!! ; *** Enable only if you exactly know what are you doing ; *** If you try with earlier builds a serial erase and flash is probably needed ; ; Build variant 1MB = 1MB firmware no filesystem (default) ;board_build.ldscript = eagle.flash.1m.ld ; Build variant 2MB = 1MB firmware, +744k OTA, 256k filesystem (Zigbee Bridge, most Shelly devices) ;board_build.ldscript = eagle.flash.2m256.ld ; Build variant 4MB = 1MB firmware, +1MB OTA, 2MB filesystem (WEMOS D1 Mini, NodeMCU, Sonoff POW) ;board_build.ldscript = eagle.flash.4m2m.ld ; Build variant 16MB = 1MB firmware, +1MB OTA, 14MB filesystem (WEMOS D1 Mini pro, Ledunia (=32MB)) ;board_build.ldscript = eagle.flash.16m14m.ld ; set CPU frequency to 80MHz (default) or 160MHz ;board_build.f_cpu = 160000000L ; set Flash chip frequency to 40MHz (default), 20MHz, 26Mhz, 80Mhz ;board_build.f_flash = 20000000L ;board_build.f_flash = 26000000L ;board_build.f_flash = 80000000L ; *** Upload Serial reset method for Wemos and NodeMCU upload_port = COM5 extra_scripts = ${scripts_defaults.extra_scripts} ; pio-tools/obj-dump.py lib_extra_dirs = ${library.lib_extra_dirs} [core] ; Activate only (one set) if you want to override the standard core defined in platformio.ini !!! ;platform_packages = ${tasmota_stage.platform_packages} ;build_unflags = ${tasmota_stage.build_unflags} ;build_flags = ${tasmota_stage.build_flags} ;platform_packages = ${core_stage.platform_packages} ;build_unflags = ${core_stage.build_unflags} ;build_flags = ${core_stage.build_flags} [tasmota_stage] ; *** Esp8266 core for Arduino version Tasmota stage. Backport for PWM selection platform_packages = tasmota/framework-arduinoespressif8266 @ ~2.7.4 platformio/toolchain-xtensa @ 2.40802.200502 platformio/tool-esptool @ 1.413.0 platformio/tool-esptoolpy @ ~1.30000.0 build_unflags = ${esp_defaults.build_unflags} build_flags = ${esp82xx_defaults.build_flags} ; *** Use ONE of the two PWM variants. Tasmota default is Locked PWM ;-DWAVEFORM_LOCKED_PHASE -DWAVEFORM_LOCKED_PWM [core_stage] ; *** Esp8266 core for Arduino version stage platform_packages = framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git ; *** Use Xtensa build chain 10.2. GNU13 from https://github.com/earlephilhower/esp-quick-toolchain mcspr/toolchain-xtensa @ 5.100200.201223 platformio/tool-esptoolpy @ ~1.30000.0 platformio/tool-esptool @ 1.413.0 build_unflags = ${esp_defaults.build_unflags} -Wswitch-unreachable build_flags = ${esp82xx_defaults.build_flags} ; *** Use ONE of the two PWM variants. Tasmota default is Locked PWM ;-DWAVEFORM_LOCKED_PHASE -DWAVEFORM_LOCKED_PWM -Wno-switch-unreachable [common32] platform = ${core32.platform} platform_packages = ${core32.platform_packages} build_unflags = ${core32.build_unflags} build_flags = ${core32.build_flags} board = esp32dev board_build.ldscript = esp32_out.ld board_build.partitions = esp32_partition_app1984k_spiffs64k.csv board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_flash = ${common.board_build.f_flash} board_build.f_cpu = ${common.board_build.f_cpu} monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = 921600 extra_scripts = ${common.extra_scripts} lib_extra_dirs = ${library.lib_extra_dirs} ; *** ESP32 lib. ALWAYS needed for ESP32 !!! lib/libesp32 [core32] ; Activate Stage Core32 by removing ";" in next 3 lines, if you want to override the standard core32 ;platform_packages = ${core32_stage.platform_packages} ;build_unflags = ${core32_stage.build_unflags} ;build_flags = ${core32_stage.build_flags} [core32_stage] platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/arduino-esp32/releases/download/1.0.5-rc6/esp32-1.0.5-rc6.zip platformio/tool-mklittlefs @ ~1.203.200522 build_unflags = ${esp32_defaults.build_unflags} build_flags = ${esp32_defaults.build_flags} ;-DESP32_STAGE=true [library] lib_ldf_mode = chain+ shared_libdeps_dir = lib ; *** Library disable / enable for variant Tasmota(32). Disable reduces compile time ; *** !!! Disabling needed libs will generate compile errors !!! ; *** The resulting firmware will NOT be different if you leave all libs enabled ; *** Disabling by putting a ";" in front of the lib name ; *** If you dont know what it is all about, do not change lib_extra_dirs = ; *** Only disabled for Tasmota minimal and Tasmota light. For all other variants needed! lib/lib_basic ; **** I2C devices. Most sensors. Disable only if you dont have ANY I2C device enabled lib/lib_i2c ; *** Displays. Disable if you dont have any Display activated lib/lib_display ; *** Bear SSL and base64. Disable if you dont have SSL or TLS activated lib/lib_ssl ; *** Audio needs a lot of time to compile. Mostly not used functions. Recommended to disable lib/lib_audio ; *** RF 433 stuff (not RF Bridge). Recommended to disable lib/lib_rf ; *** Mostly not used functions. Recommended to disable lib/lib_div ; *** EXPERIMENTAL Tasmota version for ESP32solo1 (used in some Xiaomi devices) [env:tasmota32solo1] extends = env:tasmota32 platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/esp32-arduino-lib-builder/raw/framework-arduinoespressif32/framework-arduinoespressif32-release_v3.3-solo1-4b325f52e.tar.gz platformio/tool-esptoolpy @ ~1.30000.0 build_unflags = ${esp32_defaults.build_unflags} build_flags = ${common32.build_flags} ; *** Debug version used for PlatformIO Home Project Inspection [env:tasmota-debug] build_type = debug build_unflags = ${esp_defaults.build_unflags} build_flags = ${esp82xx_defaults.build_flags} ; -Wstack-usage=300 [env:tasmota32-debug] extends = env:tasmota32 build_type = debug build_unflags = ${esp32_defaults.build_unflags} build_flags = ${esp32_defaults.build_flags} ; -Wstack-usage=300