Context:
New firmware "Lisael Box" targeting the ESP32-S3-BOX-3 (8MB PSRAM,
16MB flash, LCD+touch, ES8311 codec, microSD). Establish the ESP-IDF
5.4/5.5 build skeleton before adding modules.
Approach:
Standard IDF project layout with a single big factory app (4MB) since
the binary links the esp-box BSP, LVGL 9 and ESP-ADF. ESP-ADF is not a
managed component, so the top-level CMake injects $ADF_PATH/components
via EXTRA_COMPONENT_DIRS and warns clearly when ADF_PATH is unset.
Changes:
- top-level CMakeLists with ADF_PATH wiring
- partitions.csv (16MB: factory 4MB + FAT storage)
- sdkconfig.defaults (+ .esp32s3: octal PSRAM, 16MB, 240MHz, LVGL/PSRAM)
- main/CMakeLists, idf_component.yml (esp-box-3 ^3.2, built-in json)
- Kconfig.projbuild (Wi-Fi, weather lat/lon, child volume cap)
- lisael_config.h shared constants, .gitignore
Impact:
Buildable skeleton; modules added in following commits. Not yet
compiled (no IDF/ADF/board available) - see README.