sanket.wadekar cf49ba4219 esp_rmaker_ota: Added OTA Updates over MQTT
The regular OTA upgrades with ESP RainMaker required an additional https
connection to fetch the OTA image, which has a significant impact on
heap usage.

With MQTT OTA, the same MQTT channel used for rest of the RainMaker
communication is used to fetch the OTA image, thereby saving on RAM.
This could be slightly slower and may odd some cost. but the overall
impact would be low enough when compared against the advantages.

Signed-off-by: sanket.wadekar <sanket.wadekar@espressif.com>
Co-authored-by: Piyush Shah <piyush.shah@espressif.com>
2025-08-04 21:27:08 +05:30
2020-10-01 01:12:28 +05:30

ESP RainMaker

This branch will not support esp-idf v4.x releases anymore as they have reached their end of life. Please check out idf_4_x_compat branch if your project requires it.

Note: For major changes, please refer this file.

Introduction

ESP RainMaker is an end-to-end solution offered by Espressif to enable remote control and monitoring for products based on ESP32 series of SoCs (e.g., ESP32, ESP32-S2, ESP32-S3, ESP32-C2, ESP32-C3, ESP32-C6, ESP32-H2, ESP32-C5 (preview), etc.) without any configuration required in the Cloud.

The primary components of this solution are:

  • Claiming Service (to get the Cloud connectivity credentials)
  • RainMaker Agent (i.e. this repo, to develop the firmware)
  • RainMaker Cloud (backend, offering remote connectivity)
  • RainMaker Phone App/CLI (Client utilities for remote access)

The key features of ESP RainMaker are:

  1. Ability to define own devices and parameters, of any type, in the firmware.
  2. Zero configuration required on the Cloud.
  3. Phone apps that dynamically render the UI as per the device information.

Get ESP RainMaker

Please clone this repository using the below command:

git clone --recursive https://github.com/espressif/esp-rainmaker.git

Note the --recursive option. This is required to pull in the various dependencies into esp-rainmaker. In case you have already cloned the repository without this option, execute this to pull in the submodules: git submodule update --init --recursive

Please check the ESP RainMaker documentation here to get started.

Each example has its own README with additional information about using the example.

Supported ESP-IDF versions

ESP RainMaker can work with ESP IDF 4.1 and above.

Phone Apps

Android

iOS

Discussions

ESP32 Forum

Gitter Chat


Try it with ESP Launchpad
Description
No description provided
Readme Apache-2.0 6.6 MiB
Languages
C 99%
CMake 0.6%
Shell 0.4%