Skip to content

Hardware and Environments ​

FastBee-Arduino no longer ships separate Lite, Standard, and Full editions. Release environments share one feature baseline; differences come from chip resources, partition layout, environment overrides, external hardware, and the runtime memory budget.

Release Matrix ​

EnvironmentChipFlashPSRAMPartitionOTATypical Use
esp32-F4R0ESP324MBNonepartitions/4MB.csvNoClassic ESP32 node
esp32-F8R0ESP328MBNonepartitions/8MB.csvYesESP32-WROOM OTA node
esp32-F8R8ESP328MB8MBpartitions/8MB.csvYesESP32-WROVER gateway/cache
esp32c3-F4R0ESP32-C34MBNonepartitions/4MB.csvNoLow-cost WiFi node
esp32c6-F4R0ESP32-C64MBNonepartitions/4MB.csvNoWiFi 6 node
esp32c6-F8R0ESP32-C68MBNonepartitions/8MB.csvYesWiFi 6 OTA node
esp32s3-F8R0ESP32-S38MBNonepartitions/8MB.csvYesS3 OTA node without PSRAM
esp32s3-F8R8ESP32-S38MB8MBpartitions/8MB.csvYesRecommended development/controller target
esp32s3-F16R8ESP32-S316MB8MBpartitions/16MB.csvYesHigh-capacity gateway/controller

These nine environments are the supported release matrix. Standard names no longer use F8R4: R0 means no PSRAM and R8 means 8MB PSRAM. F4R0 means 4MB Flash with no PSRAM. Always confirm the board or module specification instead of guessing from a similar product name.

Partitions and OTA ​

FlashApplication LayoutLittleFSOTA
4MBSingle app, about 2.94MB1MBNo
8MBapp0/app1, about 3.5MB each960KBYes
16MBapp0/app1, about 7MB eachAbout 1.94MBYes

The 4MB environments compile with FASTBEE_ENABLE_OTA=0; OTA routes are not registered. Upgrade them by flashing a complete merged image. The 8MB and 16MB environments provide an ota_1 partition and support Web upload or URL OTA when the image fits the target app partition.

See Partition Layout for offsets and validation rules.

Feature State ​

A feature is usable only when all four conditions pass:

text
compiled AND userEnabled AND budgetPassed AND NOT runtimeDisabled
StateMeaningAction
compiled=falseThe environment excludes the feature, or hardware/partition constraints block itIt cannot be enabled in the Web console
userEnabled=falseThe feature is compiled but disabled by the userEnable it in Feature Config
active=false with a failed budgetStartup memory policy degraded the featureReduce concurrency or disable another heavy feature, then restart
active=trueCompiled, enabled, and accepted by the budgetThe feature can be used

Common dependencies:

FeatureDependency
MQTTSMQTT; TLS handshakes temporarily consume more internal DRAM
Command scriptsRuleScript engine
GB2312 fontsLCD/OLED support
Modbus RTUUART and an RS485 transceiver; release firmware defaults to master mode
EthernetW5500 SPI module and the ethernet feature
CellularEC801E-CN, SIM, reliable power, and the cellular feature
BLENot part of the current release path

Basic peripheral drivers are compiled across the release matrix, but initialization still depends on feature state, memory budget, and valid pins. esp32s3-F8R8 disables IR/RF learning to avoid RMT/library conflicts; use esp32-F8R0, esp32s3-F16R8, or a validated custom environment when those features are required.

Choosing an Environment ​

RequirementRecommendation
WiFi, GPIO, and a few sensorsesp32-F4R0 or esp32c3-F4R0
WiFi 6 at minimum costesp32c6-F4R0
WiFi 6 with OTAesp32c6-F8R0
OTA without PSRAMesp32-F8R0 or esp32s3-F8R0
OTA, MQTTS, displays, or more rulesesp32s3-F8R8
Larger Web/config capacity or gateway workloadsesp32s3-F16R8
W5500 or cellularChoose an environment that compiles the feature and confirm module pins and power

Verification ​

  1. Confirm chip, Flash, and PSRAM from board documentation, esptool, or the boot log.
  2. Flash the matching merged image at address 0x0.
  3. Check /api/system/info for hardware resources and /api/features/status for feature state.
  4. When changing partition layouts or migrating from another firmware, back up configuration, erase Flash, then flash firmware and LittleFS from the same build.

After changing the build matrix, run node scripts/validate-build-matrix.js in the firmware repository.

FastBee | fastbee.cn