Partition Layout
The partition table determines application capacity, LittleFS capacity, and OTA availability. The source currently uses partitions/4MB.csv, partitions/8MB.csv, and partitions/16MB.csv; platformio.ini is the authoritative environment mapping.
Layout Overview
| File | Flash | app0 | app1 | LittleFS | OTA |
|---|---|---|---|---|---|
4MB.csv | 4MB | 0x10000 / 2.94MB | None | 0x300000 / 1MB | No |
8MB.csv | 8MB | 0x10000 / 3.5MB | 0x390000 / 3.5MB | 0x710000 / 960KB | Yes |
16MB.csv | 16MB | 0x10000 / 7MB | 0x710000 / 7MB | 0xE10000 / about 1.94MB | Yes |
All layouts include nvs and otadata. The LittleFS partition uses the CSV subtype name spiffs for Arduino-ESP32 compatibility; the runtime filesystem is still LittleFS.
Environment Mapping
| Environment | Partition | OTA |
|---|---|---|
esp32-F4R0 | 4MB.csv | No |
esp32c3-F4R0 | 4MB.csv | No |
esp32c6-F4R0 | 4MB.csv | No |
esp32-F8R0 | 8MB.csv | Yes |
esp32-F8R8 | 8MB.csv | Yes |
esp32c6-F8R0 | 8MB.csv | Yes |
esp32s3-F8R0 | 8MB.csv | Yes |
esp32s3-F8R8 | 8MB.csv | Yes |
esp32s3-F16R8 | 16MB.csv | Yes |
OTA Constraints
- OTA routes are registered only when
app1exists andFASTBEE_ENABLE_OTA=1. - A 4MB environment returns HTTP
501for OTA operations. This is a permanent partition limitation; flash a merged image instead of retrying. - Firmware for an 8MB or 16MB environment must fit its app partition and pass the runtime memory guard before upgrade starts.
- After OTA, wait for restart, poll the unauthenticated
/api/health, then log in again and verify the version.
LittleFS Constraints
- Web resources,
/config, and logs share the LittleFS partition. - Use
deploy.ps1orgzip-www.jsto create an isolated staging directory; do not upload sourcedata/wwwdirectly. - Partition table, firmware, and LittleFS must come from the same build. Updating only one can leave Web resources and APIs out of sync.
Changing Layout or Firmware
- Export the device configuration.
- Confirm Flash size and target environment.
- Erase the full Flash when changing layout or migrating from another project.
- Flash bootloader, partition table, application, and LittleFS together; merged images use address
0x0. - Reconfigure networking and check
/api/system/info,/api/health, and/api/system/capabilities.
See OTA Upgrade for the upgrade workflow and Build Configuration for build commands.

