[env:esp32] platform = espressif32 board = esp32dev framework = espidf ; Project configuration project_name = squeezelite-esp32 build_flags = -DMODEL_NAME=SqueezeESP32 -DSTATE_MACHINE_LOGGER=1 -DHIERARCHICAL_STATES=1 -DCORE_DEBUG_LEVEL=3 -DARDUINO_ARCH_ESP32 ; Build options build_type = release monitor_speed = 115200 ; Partition table board_build.partitions = partitions.csv ; Flash settings board_build.f_flash = 80m board_build.flash_size = 4MB ; Library dependencies (main components) lib_deps = ; Built-in ESP-IDF components will be automatically included ; Custom components from lib/ directory wifi-manager squeezelite platform_console display telnet led_strip audio codecs raop services spotify targets tools esp_http_server tjpgd ; Component-specific build flags build_unflags = -Wall -Wextra ; Upload settings upload_speed = 921600 upload_port = /dev/ttyUSB0 monitor_port = /dev/ttyUSB0 ; Debug configuration debug_tool = esp-prog debug_init_break = tbreak setup ; OTA configuration upload_protocol = esptool upload_flags = --flash_mode dio --flash_freq 80m --flash_size 4MB ; SDK configuration board_build.embed_txtfiles = src/Params.txt ; ESP-IDF specific settings espidf = ; Use local ESP-IDF if available, otherwise use PlatformIO's version ${sysenv.IDF_PATH} ; Custom build scripts for complex project structure extra_scripts = pre:build_scripts/pre_build.py post:build_scripts/post_build.py ; Multiple targets configuration ; The original project builds both recovery and squeezelite binaries ; PlatformIO will build the main squeezelite application ; Recovery functionality can be added via separate build environment