Skip to content

Hardware Configuration and Deployment ​

This page is for source deployment and field verification. Most users can use the Online Flashing Tool.

Environments and Partitions ​

EnvironmentChipFlash / PSRAMPartitionOTA
esp32-F4R0ESP324MB / Nonepartitions/4MB.csvNo
esp32-F8R0ESP328MB / Nonepartitions/8MB.csvYes
esp32-F8R8ESP328MB / 8MBpartitions/8MB.csvYes
esp32c3-F4R0ESP32-C34MB / Nonepartitions/4MB.csvNo
esp32c6-F4R0ESP32-C64MB / Nonepartitions/4MB.csvNo
esp32c6-F8R0ESP32-C68MB / Nonepartitions/8MB.csvYes
esp32s3-F8R0ESP32-S38MB / Nonepartitions/8MB.csvYes
esp32s3-F8R8ESP32-S38MB / 8MBpartitions/8MB.csvYes
esp32s3-F16R8ESP32-S316MB / 8MBpartitions/16MB.csvYes

All nine are supported release environments. F and R in the name identify Flash and PSRAM capacity. Confirm the physical hardware before deployment; 4MB environments do not support OTA.

From the firmware repository root, run the unified deployment script. It creates an isolated Web staging directory, uploads LittleFS, and uploads firmware:

powershell
powershell -ExecutionPolicy Bypass -File scripts\deploy.ps1 `
  -Env esp32s3-F8R8 -Port COM6 -Monitor

Build without flashing:

powershell
powershell -ExecutionPolicy Bypass -File scripts\deploy.ps1 -Env esp32s3-F8R8 -BuildOnly

For a manual two-step upload, use the same environment and staging directory for LittleFS and firmware:

powershell
node scripts/gzip-www.js --no-upload --no-monitor
$env:PLATFORMIO_DATA_DIR='D:\project\gitee\FastBee-Arduino\.pio\fs-staging\run-xxxx'
pio run -e esp32s3-F8R8 --target uploadfs
pio run -e esp32s3-F8R8 --target upload

Do not treat source data/www as a release image; it may contain uncompressed or stale resources.

Pin Constraints ​

Pin rules are maintained in include/core/ChipConfig.h. The Web pin validator covers known firmware constraints, but the board schematic remains authoritative.

  • Avoid Flash/PSRAM, USB/JTAG, BOOT, and flashing-console pins.
  • ESP32 GPIO34-39 are input-only; ADC2 is restricted while WiFi is active.
  • ESP32-C6 GPIO12-17 are reserved/console pins and GPIO24-30 are normally unavailable to peripherals.
  • I2C, SPI, and UART pins are configurable, but two enabled peripherals cannot claim the same pin unless the bus explicitly supports sharing.
  • Cellular modems, servos, and relays require appropriate power, signal-level checks, and a common ground.

Post-Deployment Checks ​

  1. Open http://<device-ip>/api/health and confirm a JSON response.
  2. After login, read /api/system/info and verify chip, Flash, PSRAM, and firmware version.
  3. Read /api/features/status and confirm required features are both compiled and active.
  4. Enable peripherals one at a time and check initialization logs and read/write behavior.
  5. For network features, also check /api/wifi/status, /api/network/status, and /api/mqtt/status.

Erase and Recovery ​

When changing partition layouts, Flash size, or migrating from another firmware, back up configuration and erase the full Flash before writing bootloader, partition table, application, and LittleFS from the same build. Erasing removes network, peripheral, protocol, user, and rule configuration.

Related pages: Hardware Selection, Partition Layout, Online Flashing, and Troubleshooting.

FastBee | fastbee.cn