; ═══════════════════════════════════════════════════════════════════════════════ ; Project Vesper — PlatformIO Configuration ; ═══════════════════════════════════════════════════════════════════════════════ ; ; Hardware Variants: ; vesper-v1 — Kincony KC868-A6 (ESP32-S3, 4MB flash) — current production board ; ; Future variants (not yet active): ; vesper-plus-v1 — Vesper+ with RF remote support ; vesper-pro-v1 — Vesper Pro with onboard LCD ; ; Build: pio run -e vesper-v1 ; Upload: pio run -e vesper-v1 --target upload ; Monitor: pio device monitor ; Clean: pio run -e vesper-v1 --target clean ; ═══════════════════════════════════════════════════════════════════════════════ ; ─────────────────────────────────────────────────────────────────────────────── ; SHARED SETTINGS — inherited by all environments ; ─────────────────────────────────────────────────────────────────────────────── [common] platform = espressif32 framework = arduino monitor_speed = 115200 ; All external library dependencies lib_deps = ; WiFi provisioning portal tzapu/WiFiManager @ ^2.0.17 ; Async web server + WebSocket support ; NOTE: Use the ESP32-compatible fork, not the original https://github.com/me-no-dev/ESPAsyncWebServer.git https://github.com/me-no-dev/AsyncTCP.git ; JSON parsing bblanchon/ArduinoJson @ ^7.0.0 ; I2C GPIO expanders (relay control) — PCF8575 header is bundled in same library adafruit/Adafruit PCF8574 @ ^1.1.0 ; Real-time clock adafruit/RTClib @ ^2.1.4 ; Async MQTT client ; NOTE: Requires AsyncTCP (already listed above) https://github.com/marvinroger/async-mqtt-client.git build_flags_common = -DCORE_DEBUG_LEVEL=0 -DCONFIG_ASYNC_TCP_RUNNING_CORE=0 ; ─────────────────────────────────────────────────────────────────────────────── ; VESPER v1 — Kincony KC868-A6 (ESP32-S3, 4MB Flash) ; Current production board ; ─────────────────────────────────────────────────────────────────────────────── [env:vesper-v1] platform = ${common.platform} framework = ${common.framework} board = esp32-s3-devkitc-1 ; Serial monitor monitor_speed = ${common.monitor_speed} ; Upload settings upload_speed = 921600 upload_protocol = esptool ; Partition table — default 4MB with OTA support ; Provides: 1.8MB app slot + 1.8MB OTA slot + 64KB NVS + SPIFFS board_build.partitions = default_8MB.csv ; Build flags for this variant build_flags = ${common.build_flags_common} -DBOARD_TYPE=\"VS\" -DBOARD_VERSION=\"01\" -DBOARD_NAME=\"Vesper\" -DPSRAM_ENABLED=0 -DHAS_RF=0 -DHAS_LCD=0 lib_deps = ${common.lib_deps} ; ─────────────────────────────────────────────────────────────────────────────── ; VESPER+ v1 — Future: adds RF remote support ; ─────────────────────────────────────────────────────────────────────────────── ; [env:vesper-plus-v1] ; platform = ${common.platform} ; framework = ${common.framework} ; board = esp32-s3-devkitc-1 ; monitor_speed = ${common.monitor_speed} ; build_flags = ; ${common.build_flags_common} ; -DBOARD_TYPE=\"VP\" ; -DBOARD_VERSION=\"01\" ; -DBOARD_NAME=\"Vesper+\" ; -DPSRAM_ENABLED=0 ; -DHAS_RF=1 ; -DHAS_LCD=0 ; lib_deps = ${common.lib_deps} ; ─────────────────────────────────────────────────────────────────────────────── ; VESPER PRO v1 — Future: adds onboard LCD ; ─────────────────────────────────────────────────────────────────────────────── ; [env:vesper-pro-v1] ; platform = ${common.platform} ; framework = ${common.framework} ; board = esp32-s3-devkitc-1 ; monitor_speed = ${common.monitor_speed} ; build_flags = ; ${common.build_flags_common} ; -DBOARD_TYPE=\"VX\" ; -DBOARD_VERSION=\"01\" ; -DBOARD_NAME=\"VesperPro\" ; -DPSRAM_ENABLED=0 ; -DHAS_RF=0 ; -DHAS_LCD=1 ; lib_deps = ${common.lib_deps}