Skip to content

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 ​

FileFlashapp0app1LittleFSOTA
4MB.csv4MB0x10000 / 2.94MBNone0x300000 / 1MBNo
8MB.csv8MB0x10000 / 3.5MB0x390000 / 3.5MB0x710000 / 960KBYes
16MB.csv16MB0x10000 / 7MB0x710000 / 7MB0xE10000 / about 1.94MBYes

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 ​

EnvironmentPartitionOTA
esp32-F4R04MB.csvNo
esp32c3-F4R04MB.csvNo
esp32c6-F4R04MB.csvNo
esp32-F8R08MB.csvYes
esp32-F8R88MB.csvYes
esp32c6-F8R08MB.csvYes
esp32s3-F8R08MB.csvYes
esp32s3-F8R88MB.csvYes
esp32s3-F16R816MB.csvYes

OTA Constraints ​

  • OTA routes are registered only when app1 exists and FASTBEE_ENABLE_OTA=1.
  • A 4MB environment returns HTTP 501 for 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.ps1 or gzip-www.js to create an isolated staging directory; do not upload source data/www directly.
  • 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 ​

  1. Export the device configuration.
  2. Confirm Flash size and target environment.
  3. Erase the full Flash when changing layout or migrating from another project.
  4. Flash bootloader, partition table, application, and LittleFS together; merged images use address 0x0.
  5. 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.

FastBee | fastbee.cn