Files
Clément Saillant e44efe13e0 chore(build): scaffold ESP-IDF project for BOX-3
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.
2026-06-14 00:40:07 +02:00

873 B

1# Lisael Box partition table — ESP32-S3-BOX-3 (16 MB flash)
2#
3# Single factory app, deliberately large (4 MB) because the firmware links
4# ESP-ADF (audio pipeline + decoders), LVGL 9 and the esp-box BSP, which is a
5# big binary. No OTA partitions for now (kept simple); switch to a dual-OTA
6# layout later if remote updates are needed — there is plenty of headroom.
7#
8# BSP (FATFS), NOT in flash — so no large data partition is needed here.
9#
10# All offsets/sizes aligned to 0x1000 (4 KB). Bootloader + partition table sit
11# below 0x10000.
12#
13# Name, Type, SubType, Offset, Size, Flags
14nvs, data, nvs, 0x9000, 0x6000,
15phy_init, data, phy, 0xf000, 0x1000,
16factory, app, factory, 0x10000, 0x400000,
17storage, data, fat, 0x410000, 0x100000,