From 1d3b86e2323415e75f7280614fb47f2c612df07b Mon Sep 17 00:00:00 2001 From: Piyush Shah Date: Fri, 6 Jun 2025 17:47:22 +0530 Subject: [PATCH 1/3] esp32c5: Add ESP32-C5 support to RainMaker core component - Add ESP32-C5 secure boot header include in esp_rmaker_secure_boot_digest.h - Bump component version from 1.5.5 to 1.5.6 for ESP32-C5 support --- components/esp_rainmaker/idf_component.yml | 2 +- .../esp_rainmaker/src/core/esp_rmaker_secure_boot_digest.h | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/components/esp_rainmaker/idf_component.yml b/components/esp_rainmaker/idf_component.yml index 759d744..f3f3ceb 100644 --- a/components/esp_rainmaker/idf_component.yml +++ b/components/esp_rainmaker/idf_component.yml @@ -1,5 +1,5 @@ ## IDF Component Manager Manifest File -version: "1.5.5" +version: "1.5.6" description: ESP RainMaker firmware agent url: https://github.com/espressif/esp-rainmaker/tree/master/components/esp_rainmaker repository: https://github.com/espressif/esp-rainmaker.git diff --git a/components/esp_rainmaker/src/core/esp_rmaker_secure_boot_digest.h b/components/esp_rainmaker/src/core/esp_rmaker_secure_boot_digest.h index 4827cd2..c1b6c07 100644 --- a/components/esp_rainmaker/src/core/esp_rmaker_secure_boot_digest.h +++ b/components/esp_rainmaker/src/core/esp_rmaker_secure_boot_digest.h @@ -20,6 +20,8 @@ #include "esp32c2/rom/secure_boot.h" #elif CONFIG_IDF_TARGET_ESP32C6 #include "esp32c6/rom/secure_boot.h" +#elif CONFIG_IDF_TARGET_ESP32C5 +#include "esp32c5/rom/secure_boot.h" #elif CONFIG_IDF_TARGET_ESP32H2 #include "esp32h2/rom/secure_boot.h" #endif From 27c1dfde761b5fe1d303728f1b493a0e7b381c27 Mon Sep 17 00:00:00 2001 From: Piyush Shah Date: Fri, 6 Jun 2025 17:47:36 +0530 Subject: [PATCH 2/3] esp32c5: Add ESP32-C5 CI support and update documentation - Add dedicated CI job for ESP32-C5 preview (release/v5.5 only, --preview flag) - Update README to include ESP32-C5 (preview) in supported chips list --- .gitlab-ci.yml | 25 +++++++++++++++++++++++++ README.md | 2 +- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index dab2447..6aac0df 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -261,3 +261,28 @@ push_master_to_github: - git remote remove github &>/dev/null || true - git remote add github git@github.com:espressif/esp-rainmaker.git - git push github "${CI_COMMIT_SHA}:refs/heads/${CI_COMMIT_REF_NAME}" + +build_esp32c5_preview: + extends: .build_template + image: espressif/idf:release-v5.5 + variables: + EXAMPLE_TARGETS: "esp32c5" + EXAMPLES: "switch led_light fan temperature_sensor multi_device gpio" + script: + - pip install --upgrade idf-component-manager + - for EXAMPLE in $EXAMPLES; do + - cd $CI_PROJECT_DIR/examples/$EXAMPLE + - echo Building $EXAMPLE + - for TARGET in $EXAMPLE_TARGETS; do + - echo Building for $TARGET + - idf.py --preview set-target $TARGET + - idf.py build + - mkdir -p $CI_PROJECT_DIR/esp-rainmaker-bins-${CI_JOB_ID}/$EXAMPLE/$TARGET/ + - cp $CI_PROJECT_DIR/examples/$EXAMPLE/build/*.bin $CI_PROJECT_DIR/esp-rainmaker-bins-${CI_JOB_ID}/$EXAMPLE/$TARGET/ + - done + - echo Build Complete for $EXAMPLE + - done + # Generating zip file for binaries generated + - cd $CI_PROJECT_DIR + - echo Generating zip file for binaries generated + - tar -zcvf esp-rainmaker-bins-${CI_JOB_ID}.zip esp-rainmaker-bins-${CI_JOB_ID}/ diff --git a/README.md b/README.md index 6dcc61d..90116c5 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ ## 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-C3, ESP32-C6, ESP32-C2, etc.) without any configuration required in the Cloud.
+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: From f6e07b593ea7da7141d6528aa3f2ad6ed264ea17 Mon Sep 17 00:00:00 2001 From: Piyush Shah Date: Fri, 6 Jun 2025 17:49:30 +0530 Subject: [PATCH 3/3] examples: Configure ESP32-C5 GPIO defaults for examples - Set button GPIO to 28 for ESP32-C5 devkit (vs GPIO 9 for other C-series) - Set WS2812 LED GPIO to 27 for ESP32-C5 devkit (vs GPIO 8 for other C-series) - Updated examples: gpio, switch, multi_device, temperature_sensor, fan, led_light --- examples/common/ws2812_led/Kconfig | 1 + examples/fan/main/Kconfig.projbuild | 1 + examples/gpio/main/Kconfig.projbuild | 1 + examples/led_light/main/Kconfig.projbuild | 1 + examples/multi_device/main/Kconfig.projbuild | 1 + examples/switch/main/Kconfig.projbuild | 1 + examples/temperature_sensor/main/Kconfig.projbuild | 1 + 7 files changed, 7 insertions(+) diff --git a/examples/common/ws2812_led/Kconfig b/examples/common/ws2812_led/Kconfig index 333cd67..6a5210a 100644 --- a/examples/common/ws2812_led/Kconfig +++ b/examples/common/ws2812_led/Kconfig @@ -9,6 +9,7 @@ menu "WS2812 RGB LED" config WS2812_LED_GPIO int "WS2812 LED GPIO" + default 27 if IDF_TARGET_ESP32C5 default 8 if IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32H2 default 48 if IDF_TARGET_ESP32S3 default 18 diff --git a/examples/fan/main/Kconfig.projbuild b/examples/fan/main/Kconfig.projbuild index 7666c4f..eb1398c 100644 --- a/examples/fan/main/Kconfig.projbuild +++ b/examples/fan/main/Kconfig.projbuild @@ -2,6 +2,7 @@ menu "Example Configuration" config EXAMPLE_BOARD_BUTTON_GPIO int "Boot Button GPIO" + default 28 if IDF_TARGET_ESP32C5 default 9 if IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32H2 default 0 help diff --git a/examples/gpio/main/Kconfig.projbuild b/examples/gpio/main/Kconfig.projbuild index 4f4aed1..844b6b3 100644 --- a/examples/gpio/main/Kconfig.projbuild +++ b/examples/gpio/main/Kconfig.projbuild @@ -2,6 +2,7 @@ menu "Example Configuration" config EXAMPLE_BOARD_BUTTON_GPIO int "Boot Button GPIO" + default 28 if IDF_TARGET_ESP32C5 default 9 if IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32H2 default 0 help diff --git a/examples/led_light/main/Kconfig.projbuild b/examples/led_light/main/Kconfig.projbuild index 7666c4f..eb1398c 100644 --- a/examples/led_light/main/Kconfig.projbuild +++ b/examples/led_light/main/Kconfig.projbuild @@ -2,6 +2,7 @@ menu "Example Configuration" config EXAMPLE_BOARD_BUTTON_GPIO int "Boot Button GPIO" + default 28 if IDF_TARGET_ESP32C5 default 9 if IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32H2 default 0 help diff --git a/examples/multi_device/main/Kconfig.projbuild b/examples/multi_device/main/Kconfig.projbuild index 536fd25..de1dcd6 100644 --- a/examples/multi_device/main/Kconfig.projbuild +++ b/examples/multi_device/main/Kconfig.projbuild @@ -2,6 +2,7 @@ menu "Example Configuration" config EXAMPLE_BOARD_BUTTON_GPIO int "Boot Button GPIO" + default 28 if IDF_TARGET_ESP32C5 default 9 if IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32H2 default 0 help diff --git a/examples/switch/main/Kconfig.projbuild b/examples/switch/main/Kconfig.projbuild index 4a8e9e5..5604b82 100644 --- a/examples/switch/main/Kconfig.projbuild +++ b/examples/switch/main/Kconfig.projbuild @@ -2,6 +2,7 @@ menu "Example Configuration" config EXAMPLE_BOARD_BUTTON_GPIO int "Boot Button GPIO" + default 28 if IDF_TARGET_ESP32C5 default 9 if IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32H2 default 0 help diff --git a/examples/temperature_sensor/main/Kconfig.projbuild b/examples/temperature_sensor/main/Kconfig.projbuild index 7666c4f..eb1398c 100644 --- a/examples/temperature_sensor/main/Kconfig.projbuild +++ b/examples/temperature_sensor/main/Kconfig.projbuild @@ -2,6 +2,7 @@ menu "Example Configuration" config EXAMPLE_BOARD_BUTTON_GPIO int "Boot Button GPIO" + default 28 if IDF_TARGET_ESP32C5 default 9 if IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32H2 default 0 help