Skip to main content

Firmware FAQ

info

If you have any questions about firmware development, please contact esp-rainmaker-support@espressif.com with a Firmware tag.

Getting Started

How do I quickly run the standard RainMaker example on a development board?


How do I quickly run a RainMaker private deployment example using the standard app?


Provisioning, Wi‑Fi, Claiming & Factory Reset

How do I reset my board to factory defaults?


How can I change Wi-Fi credentials on my device?


Why does user-node association from ESP RainMaker keep failing?



Can I use ESP RainMaker without Wi-Fi provisioning?


My provisioning is failing. What could be the issue?


How do I reset my device to factory settings?


What is the default provisioning timeout in the standard RainMaker examples? How can it be modified?


What is the default provisioning mode in the standard examples? How can it be changed?


How do I modify the prefix name for BLE/SoftAP provisioning?


How do I modify the suffix name for BLE/SoftAP provisioning?


What is the Proof of Possession (PoP) code in provisioning? What types are available and how are they configured?


How do I implement BLE device discovery so that the device type can be identified during provisioning?


After entering an incorrect Wi-Fi password during provisioning, does the device need to be manually reset?


How do I keep the BLE stack active after provisioning is complete?


How is the nearby Wi-Fi list on the phone generated during provisioning? How do I change the number of entries shown?


How do I implement button-triggered provisioning?


Account & Authentication

Is the login email address case sensitive?


Connectivity, MQTT & Cloud Parameter Sync

Why does it take a long time for a device to appear offline?


I got success message for set params, but it did not reflect on my device. What may have happened?


How can I ensure that my device always gets a param update even if it is offline when I trigger it?


What is the command-response framework? How is it different from get/set params?


How do I enable the Command-Response feature on the device side?


The device logs "Out of MQTT Budget. Dropping publish message." What does this mean and how do I fix it?


Parameters, Attributes, Time-Series & Phone App

Why am I unable to fetch time-series values for a given parameter?


Can I use custom device types instead of standard types?


What is the difference between parameters and attributes?


My parameter updates are not reflecting in the phone app. Why?


How do I implement time-series data logging?


What Time-Series data types does RainMaker support? What are the differences?


How do I configure a parameter to support Time-Series data?


How do I report only the Time-Series data without updating the parameter value?


The device logs "Current time not yet available. Cannot report time series data." What does this mean?


How do I separate parameter reporting from Time-Series data reporting?


How do I batch multiple Time Series Data points into a single MQTT message?


How do I batch multiple Simple Time Series Data points into a single MQTT message?


OTA (Over-the-Air Updates)

How do I perform OTA updates for my devices?


What could cause an OTA failure with reason "ESP HTTPS OTA Begin failed"?


How to improve reliability of OTA Firmware Upgrades?


Does RainMaker OTA support resuming a download from a breakpoint?


Does RainMaker OTA support progress reporting?


How do I implement OTA for a host MCU device?


If the OTA firmware image is faulty, will the device be bricked?


How to implement a feature that allows both the device and the mobile app to proactively check for OTA updates?


Local Control & Offline Operation

How can I implement local control for my devices?


Can a RainMaker device work without internet?


When using local control with security level 1, rapidly tapping device controls in the app causes lag. Why, and what is the fix?


How do I determine whether a device command is going through the local network path or the cloud?


Time, Timezone & Scheduling

Can RainMaker firmware handle timezones and daylight savings offset?


How do I implement scheduling in my firmware?


How do I handle timezone for my devices?


Is scheduling stored and executed locally on the device or in the cloud? Can schedules trigger when the device is offline?


Are automations stored in the cloud or on the device? Can they trigger when the device is offline?


What is the default maximum number of schedules supported? How do I increase it?


What trigger conditions does the Schedule feature support? Does it support countdown timers?


Security, Signing & Deployment

How do I migrate from public to private deployment?


How do I implement secure signing for production devices?


Memory, Logging & Debugging

How do I enable debug logging for my firmware?


My device is running out of memory. How can I optimize?


Scenes, Cloud Access & Node Limits

How do I implement scenes in my firmware?


Can I access cloud data from my firmware?


What is the maximum number of devices a node can have?


What is the default maximum number of scenes supported? How do I increase it?


Thread, Matter & Wi‑Fi Ecosystems

Can I use ESP RainMaker with Thread or Matter?


Storage & Board-Specific Hardware

How can I save custom data to persistent storage?


Why is the RGB LED on my ESP32-S2-Saola-1 not working?


Certificates & Claiming

For testing against public RainMaker, which Claiming method should be used?


For testing against private RainMaker, which Claiming method should be configured on the device side? How are certificates generated?


For the RainMaker + Matter solution connecting to public RainMaker, how are device certificates generated?


For the RainMaker + Matter solution connecting to private RainMaker, how are device certificates generated?


What does a device certificate contain? Can custom data be added to it?


Standard Services

What standard services does RainMaker currently support? How do I enable each one?


On this page