Files
project-vesper/vesper/platformio.ini
bonamin 3877d27dae feat: Migrate firmware to PlatformIO (ESP32-S3, vesper-v1 env)
Replaces Arduino IDE with PlatformIO as the build system. Entry point
moved from vesper.ino to src/main.cpp. All library dependencies are now
declared in platformio.ini and downloaded automatically via lib_deps.

Board: Kincony KC868-A6 (ESP32-S3, 4MB flash) → env:vesper-v1
Future variants Vesper+ and Vesper Pro are pre-configured but commented out.

Compatibility fixes applied for this framework version:
- Removed ETH.h dependency (Ethernet was disabled in v138)
- Watchdog init updated to IDF v4 API (esp_task_wdt_init signature)
- ETH.linkUp() check removed from OTAManager

Also adds .pio/ to .gitignore and commits the manufacturing plan docs.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-26 17:31:53 +02:00

122 lines
5.5 KiB
INI

; ═══════════════════════════════════════════════════════════════════════════════
; 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}