Separate operator guides from development contracts, relocate implementation notes under `docs/devel/`, and update cross-references and hardware tooling paths. Add getting-started, user administration, and firmware update guides while preserving firmware behavior.
2.0 KiB
Flash partition layout
The N16R8 target has 16 MiB flash and 8 MiB octal PSRAM. PlatformIO uses the custom partitions.csv layout:
| Partition | Offset | Size | Purpose |
|---|---|---|---|
nvs |
0x009000 |
512 KiB | Serial, Wi-Fi, mDNS hostname, local-display, role-based user, HTTPS identity, and SSH host-key data |
otadata |
0x089000 |
8 KiB | Active OTA-slot selection metadata |
phy_init |
0x08B000 |
4 KiB | Optional PHY initialization data |
nvs_key |
0x08C000 |
4 KiB | Reserved for future encrypted-NVS keys |
coredump |
0x08D000 |
128 KiB | Reserved for flash core dumps |
ota_0 |
0x0B0000 |
4 MiB | Primary application/OTA slot |
ota_1 |
0x4B0000 |
4 MiB | Alternate application/OTA slot |
storage |
0x8B0000 |
7488 KiB | Reserved; not mounted or used for session recording |
Application offsets are aligned to the ESP32-S3's required 64 KiB boundary. The final storage partition ends at 0x1000000, exactly the end of the 16 MiB flash chip.
Admin HTTPS application upload uses the inactive OTA slot and otadata; NVS and other data partitions are untouched by the updater. It does not provide remote downloads, automatic rollback/health confirmation, core-dump handling, NVS encryption or filesystem mounting. Image validation does not guarantee a working application; compatible storage schemas and wired recovery remain the owner's responsibility.
Partition reservations do not enable their named features. In particular, nvs_key does not enable encryption, and the default firmware does not capture core dumps. Existing generated SDK configurations can override sdkconfig.defaults; inspect the effective configuration when verifying a build's security properties.
See first installation and destructive migration and the firmware update guide for operator procedures. Do not change partition offsets as part of an ordinary application update.