Skip to content

Support for IDF v5.5 and ESP32-C5 #268

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 68 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
c8f8570
Initial changes for IDF v5.5 and ESP32-C5
me-no-dev Jan 21, 2025
763774e
Update gen_pioarduino_manifest.py
me-no-dev Jan 21, 2025
bcaa709
Add support for ESP32-C5 PSRAM
me-no-dev Jan 27, 2025
d9083ce
Merge branch 'master' into release/v5.5
me-no-dev Feb 18, 2025
59fc844
Merge branch 'master' into release/v5.5
me-no-dev Feb 18, 2025
e59f4b5
Merge branch 'master' into release/v5.5
me-no-dev Feb 20, 2025
fa53c48
Merge branch 'master' into release/v5.5
me-no-dev Feb 20, 2025
c292f95
Merge branch 'master' into release/v5.5
me-no-dev Feb 25, 2025
11f8400
Merge branch 'master' into release/v5.5
me-no-dev Feb 26, 2025
f6de37c
Merge branch 'master' into release/v5.5
me-no-dev Mar 7, 2025
3e6cac5
Merge branch 'master' into release/v5.5
me-no-dev Mar 7, 2025
951ec57
Merge branch 'master' into release/v5.5
me-no-dev Mar 9, 2025
99b766a
Merge branch 'master' into release/v5.5
me-no-dev Mar 19, 2025
011b4da
Merge branch 'master' into release/v5.5
me-no-dev Mar 20, 2025
61b25da
Merge branch 'master' into release/v5.5
me-no-dev Mar 20, 2025
74156f3
Merge branch 'master' into release/v5.5
me-no-dev Mar 21, 2025
d3946f9
Update TinyUSB DWC2 DCD
me-no-dev Apr 15, 2025
69d504b
Disable Matter on C5 for now
me-no-dev Apr 23, 2025
05c563f
fix(libs): Remove unnecessary IDF patches
me-no-dev May 7, 2025
778e87c
Merge branch 'master' into release/v5.5
me-no-dev May 13, 2025
917e6ca
Update target IDF branch for v5.5
me-no-dev May 15, 2025
8db32ca
Merge branch 'master' into release/v5.5
me-no-dev May 16, 2025
ff225fb
Merge branch 'master' into release/v5.5
me-no-dev May 30, 2025
da49b4a
Enable Matter on ESP32-C5
me-no-dev May 30, 2025
9ddd4f7
feat(nimble): Replace Bluedroid with NimBLE except for ESP32
lucasssvaz Apr 1, 2025
3ecbe5c
Merge branch 'master' into release/v5.5
me-no-dev Jun 4, 2025
7c4314f
Update PSRAM Options
me-no-dev Jun 10, 2025
ee861e1
Add cleaner script
me-no-dev Jun 10, 2025
0c2137b
Merge pull request #296 from lucasssvaz/nimble_libs
me-no-dev Jun 22, 2025
64c03fd
feat(matter): removes CHIPOBLE to manage it case by case
SuGlider Jun 24, 2025
ad99680
feat(matter): Update defconfig.esp32
SuGlider Jun 25, 2025
cab2b42
feat(matter): Update defconfig.esp32c3
SuGlider Jun 25, 2025
ab99173
feat(matter): Update defconfig.esp32s2
SuGlider Jun 25, 2025
0d1fe99
feat(matter): Update defconfig.esp32s3
SuGlider Jun 25, 2025
57d918e
feat(matter): Update defconfig.esp32c6
SuGlider Jun 25, 2025
69ad6e8
feat(matter): Update defconfig.esp32c5
SuGlider Jun 25, 2025
804e957
feat(matter): Update defconfig.esp32h2
SuGlider Jun 25, 2025
2e8d3be
feat(matter): enable Matter for H2 - Update idf_component.yml
SuGlider Jun 25, 2025
c411b80
feat(matter): disable Matter over WiFi - Update defconfig.esp32h2
SuGlider Jun 25, 2025
6b6ab42
fix(matter): disable matter over thread config setting
SuGlider Jun 25, 2025
87aefa5
fix(matter): disable matter over thread config setting
SuGlider Jun 25, 2025
3f14c1f
fix(matter): disable matter over thread config setting
SuGlider Jun 25, 2025
dfc54a5
fix(matter): openthread option
SuGlider Jun 25, 2025
77c7ff0
fix(matter): openthread option
SuGlider Jun 25, 2025
69a355c
fix(matter): openthread option
SuGlider Jun 25, 2025
8fcd509
Update defconfig.esp32c6
SuGlider Jun 25, 2025
5c15b9a
fix(matter): openthread option
SuGlider Jun 25, 2025
45d62bf
fix(matter): openthread option
SuGlider Jun 25, 2025
98e5e84
fix(matter): openthread option
SuGlider Jun 25, 2025
8ab2f8f
feat(matter): leave thread endpoint not defined
SuGlider Jun 25, 2025
af50c0f
feat(matter): enable full mDNS for Matter
SuGlider Jun 25, 2025
3c77200
fix(matter): downgrading C5 to manual WiFi only
SuGlider Jun 26, 2025
c642b21
fix(matter): C5 uses WiFi Manual Set for Matter
SuGlider Jun 26, 2025
883d842
fix(matter): restore C6 matter configuration
SuGlider Jun 26, 2025
5190c32
fix(matter): set different networking cluster EPid for WiFi and Thread
SuGlider Jun 26, 2025
1c8cd65
fix(matter): nimble evt buf
SuGlider Jun 27, 2025
8c21130
feat(matter): ESP32C5 doesn't work with Matter 1.4
SuGlider Jun 27, 2025
86982f2
feat(matter): ESP32C5 doesn't work with Matter 1.4
SuGlider Jun 27, 2025
e275aab
feat(matter): testing main branch for the C5
SuGlider Jun 27, 2025
586ee4c
fix(matter): including C5
SuGlider Jun 27, 2025
3b44162
feat(matter): testing C5 with matter master branch
SuGlider Jun 27, 2025
c252a62
feat(matter): final configuration - No C5
SuGlider Jun 27, 2025
bde2460
feat(matter): final configuration - No C5
SuGlider Jun 27, 2025
fdf05eb
Merge pull request #303 from espressif/matter_over_nimble_commissioning
me-no-dev Jun 30, 2025
fec9e98
Merge branch 'master' into release/v5.5
me-no-dev Jun 30, 2025
cd594de
Feat(matter): enable Matter for the C5
SuGlider Jul 2, 2025
63b1b6d
feat(matter): build esp_matter for the C5
SuGlider Jul 2, 2025
3cfe5d3
Merge pull request #306 from espressif/matter_esp32c5
me-no-dev Jul 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
target: [esp32, esp32s2, esp32s3, esp32c2, esp32c3, esp32c6, esp32h2, esp32p4]
target: [esp32, esp32s2, esp32s3, esp32c2, esp32c3, esp32c6, esp32h2, esp32p4, esp32c5]
fail-fast: false
steps:
- name: Checkout repository
Expand Down
2 changes: 2 additions & 0 deletions clean.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#!/bin/bash
rm -rf out build dist managed_components sdkconfig
16 changes: 15 additions & 1 deletion configs/builds.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"file":"libspi_flash.a",
"src":"build/esp-idf/spi_flash/libspi_flash.a",
"out":"lib/libspi_flash.a",
"targets":["esp32","esp32c2","esp32c3","esp32s2","esp32s3","esp32c6","esp32h2","esp32p4"]
"targets":["esp32","esp32c2","esp32c3","esp32s2","esp32s3","esp32c6","esp32h2","esp32p4","esp32c5"]
},
{
"file":"libesp_psram.a",
Expand Down Expand Up @@ -44,6 +44,20 @@
}
],
"targets":[
{
"target": "esp32c5",
"features":["qio_ram"],
"idf_libs":["qio","80m"],
"bootloaders":[
["qio","80m"],
["dio","80m"],
["qio","40m"],
["dio","40m"]
],
"mem_variants":[
["dio","80m"]
]
},
{
"target": "esp32p4",
"features":["qio_ram"],
Expand Down
3 changes: 2 additions & 1 deletion configs/defconfig.common
Original file line number Diff line number Diff line change
Expand Up @@ -125,12 +125,13 @@ CONFIG_I2S_ISR_IRAM_SAFE=y
# Matter Settings
#
# Disable Matter BLE
CONFIG_ENABLE_CHIPOBLE=n
CONFIG_USE_BLE_ONLY_FOR_COMMISSIONING=n
# ESP Insights
CONFIG_ENABLE_ESP_INSIGHTS_TRACE=n
# Use compact attribute storage mode
CONFIG_ESP_MATTER_NVS_USE_COMPACT_ATTR_STORAGE=y
# Do not use minimal mDNS within Matter Core
CONFIG_USE_MINIMAL_MDNS=n

#TinyUSB Config
CONFIG_TINYUSB_CDC_MAX_PORTS=2
Expand Down
3 changes: 3 additions & 0 deletions configs/defconfig.esp32
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,6 @@ CONFIG_TWAI_ERRATA_FIX_RX_FRAME_INVALID=y
CONFIG_TWAI_ERRATA_FIX_RX_FIFO_CORRUPT=y
CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y
CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=4096

# Matter settings:
CONFIG_ENABLE_CHIPOBLE=n
7 changes: 6 additions & 1 deletion configs/defconfig.esp32c2
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
CONFIG_XTAL_FREQ_26=y
CONFIG_XTAL_FREQ=26
CONFIG_BT_ENABLED=y
CONFIG_BT_BLE_BLUFI_ENABLE=y
CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y
CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n
CONFIG_BTDM_CTRL_MODE_BTDM=n
CONFIG_BT_BLUEDROID_ENABLED=n
CONFIG_BT_NIMBLE_ENABLED=y
CONFIG_BT_NIMBLE_BLUFI_ENABLE=y
CONFIG_RTC_CLK_CAL_CYCLES=576
# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304
Expand Down
8 changes: 8 additions & 0 deletions configs/defconfig.esp32c3
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,16 @@ CONFIG_RTC_CLK_CAL_CYCLES=576
# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304
CONFIG_BT_ENABLED=y
CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y
CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n
CONFIG_BTDM_CTRL_MODE_BTDM=n
CONFIG_BT_BLUEDROID_ENABLED=n
CONFIG_BT_NIMBLE_ENABLED=y
CONFIG_ESP_WIFI_11KV_SUPPORT=y
CONFIG_ESP_WIFI_SCAN_CACHE=y
CONFIG_ESP_WIFI_MBO_SUPPORT=y
CONFIG_ESP_WIFI_11R_SUPPORT=y
CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=4096

# Matter settings:
CONFIG_ENABLE_CHIPOBLE=y
67 changes: 67 additions & 0 deletions configs/defconfig.esp32c5
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
CONFIG_XTAL_FREQ_AUTO=y
CONFIG_XTAL_FREQ=0
CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y
CONFIG_SPIRAM=y

CONFIG_BT_ENABLED=y
CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y
CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n
CONFIG_BTDM_CTRL_MODE_BTDM=n
CONFIG_BT_BLUEDROID_ENABLED=n
CONFIG_BT_NIMBLE_ENABLED=y
CONFIG_BT_NIMBLE_BLUFI_ENABLE=y
CONFIG_RTC_CLK_CAL_CYCLES=576
# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304
# This Enables RISCV LP for C6 - but it can't be used within Arduino at this time.
#CONFIG_ULP_COPROC_ENABLED=y
#CONFIG_ULP_COPROC_LP_CORE=y
#CONFIG_ULP_COPROC_RESERVE_MEM=4096

#
# OpenThread
#
CONFIG_OPENTHREAD_ENABLED=y
# Border Router disabled
# CONFIG_OPENTHREAD_BORDER_ROUTER=y
# CONFIG_OPENTHREAD_RADIO_SPINEL_UART=y

# DNS64 and NAT64 will be disabled for a while
# OT IDF issue https://github.com/espressif/esp-idf/issues/15069
# CONFIG_OPENTHREAD_DNS64_CLIENT=y

# Radio for RPC
# CONFIG_OPENTHREAD_RADIO=y
# CONFIG_OPENTHREAD_RADIO_NATIVE=y
# CONFIG_OPENTHREAD_DIAG=n
CONFIG_OPENTHREAD_COMMISSIONER=y
CONFIG_OPENTHREAD_JOINER=y
CONFIG_OPENTHREAD_CLI=y
CONFIG_OPENTHREAD_SRP_CLIENT=y
CONFIG_OPENTHREAD_DNS_CLIENT=y
# Default dataset for quick start
CONFIG_OPENTHREAD_NETWORK_NAME="OpenThread-ESP"
CONFIG_OPENTHREAD_MESH_LOCAL_PREFIX="fd00:db8:a0:0::/64"
CONFIG_OPENTHREAD_NETWORK_CHANNEL=15
CONFIG_OPENTHREAD_NETWORK_PANID=0x1234
CONFIG_OPENTHREAD_NETWORK_EXTPANID="dead00beef00cafe"
CONFIG_OPENTHREAD_NETWORK_MASTERKEY="00112233445566778899aabbccddeeff"
CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53"
# end of OpenThread

# ESP32-C5 fails when ESP Matter 1.4.1 is used. Try this latter with some other IDF 5.5 commit
# Matter settings: WiFi and OpenThread + CHIPoBLE
CONFIG_ENABLE_CHIPOBLE=y
CONFIG_ENABLE_MATTER_OVER_THREAD=y
# Set endpoint id for Thread and Wi-Fi, depending on the secondary network interface endpoint id.
CONFIG_THREAD_NETWORK_ENDPOINT_ID=2
CONFIG_WIFI_NETWORK_ENDPOINT_ID=0

#
# Zigbee
#
CONFIG_ZB_ENABLED=y
CONFIG_ZB_ZED=y
CONFIG_ZB_RADIO_NATIVE=y
# end of Zigbee
15 changes: 12 additions & 3 deletions configs/defconfig.esp32c6
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
CONFIG_BT_ENABLED=y
CONFIG_BT_BLE_BLUFI_ENABLE=y
CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y
CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n
CONFIG_BTDM_CTRL_MODE_BTDM=n
CONFIG_BT_BLUEDROID_ENABLED=n
CONFIG_BT_NIMBLE_ENABLED=y
CONFIG_BT_NIMBLE_BLUFI_ENABLE=y
CONFIG_RTC_CLK_CAL_CYCLES=576
# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304
Expand Down Expand Up @@ -39,8 +44,12 @@ CONFIG_OPENTHREAD_NETWORK_MASTERKEY="00112233445566778899aabbccddeeff"
CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53"
# end of OpenThread

# Matter shall use only WiFi
CONFIG_ENABLE_MATTER_OVER_THREAD=n
# Matter settings: WiFi and OpenThread + CHIPoBLE
CONFIG_ENABLE_CHIPOBLE=y
CONFIG_ENABLE_MATTER_OVER_THREAD=y
# Set endpoint id for Thread and Wi-Fi, depending on the secondary network interface endpoint id.
CONFIG_THREAD_NETWORK_ENDPOINT_ID=2
CONFIG_WIFI_NETWORK_ENDPOINT_ID=0

#
# Zigbee
Expand Down
14 changes: 13 additions & 1 deletion configs/defconfig.esp32h2
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
CONFIG_BT_ENABLED=y
CONFIG_BT_BLE_BLUFI_ENABLE=y
CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y
CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n
CONFIG_BTDM_CTRL_MODE_BTDM=n
CONFIG_BT_BLUEDROID_ENABLED=n
CONFIG_BT_NIMBLE_ENABLED=y
CONFIG_BT_NIMBLE_BLUFI_ENABLE=y
CONFIG_RTC_CLK_CAL_CYCLES=576
# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304
Expand Down Expand Up @@ -35,6 +40,13 @@ CONFIG_OPENTHREAD_NETWORK_MASTERKEY="00112233445566778899aabbccddeeff"
CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53"
# end of OpenThread

# Matter settings: OpenThread + CHIPoBLE
CONFIG_ENABLE_CHIPOBLE=y
CONFIG_ENABLE_MATTER_OVER_THREAD=y
# Disable Matter over WiFi
CONFIG_ENABLE_WIFI_AP=n
CONFIG_ENABLE_WIFI_STATION=n

#
# Zigbee
#
Expand Down
3 changes: 3 additions & 0 deletions configs/defconfig.esp32s2
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,6 @@ CONFIG_ULP_COPROC_ENABLED=y
CONFIG_ULP_COPROC_TYPE_FSM=y
# CONFIG_ULP_COPROC_TYPE_RISCV=y
CONFIG_ULP_COPROC_RESERVE_MEM=512

# Matter settings:
CONFIG_ENABLE_CHIPOBLE=n
8 changes: 8 additions & 0 deletions configs/defconfig.esp32s3
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
CONFIG_BT_ENABLED=y
CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y
CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n
CONFIG_BTDM_CTRL_MODE_BTDM=n
CONFIG_BT_BLUEDROID_ENABLED=n
CONFIG_BT_NIMBLE_ENABLED=y
CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y
CONFIG_SPIRAM=y
Expand All @@ -21,3 +26,6 @@ CONFIG_ULP_COPROC_RESERVE_MEM=512
# RGB Display Optimizations
# CONFIG_LCD_RGB_ISR_IRAM_SAFE is not set
CONFIG_LCD_RGB_RESTART_IN_VSYNC=y

# Matter settings:
CONFIG_ENABLE_CHIPOBLE=y
1 change: 1 addition & 0 deletions configs/defconfig.qio_ram
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
# CONFIG_SPIRAM_BOOT_HW_INIT is not set
# CONFIG_SPIRAM_BOOT_INIT is not set
2 changes: 1 addition & 1 deletion main/idf_component.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ dependencies:
version: "1.4.1"
require: public
rules:
- if: "target not in [esp32c2, esp32h2, esp32p4]"
- if: "target not in [esp32c2, esp32p4]"
118 changes: 0 additions & 118 deletions patches/lwip_max_tcp_pcb.diff

This file was deleted.

4 changes: 2 additions & 2 deletions tools/config.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ if [ -z $IDF_PATH ]; then
fi

if [ -z $IDF_BRANCH ]; then
IDF_BRANCH="release/v5.4"
IDF_BRANCH="release/v5.5"
fi

if [ -z $AR_PR_TARGET_BRANCH ]; then
AR_PR_TARGET_BRANCH="master"
AR_PR_TARGET_BRANCH="release/v3.3.x"
fi

if [ -z $IDF_TARGET ]; then
Expand Down
3 changes: 3 additions & 0 deletions tools/gen_pioarduino_manifest.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ def convert_version(version_string):
'v7.7.7' becomes '7.7.7'
"""

if version_string == 'heads/master':
return ".".join(("5", "5", "0")) #temporary

regex_pattern = (
r"v(?P<MAJOR>0|[1-9]\d*)\.(?P<MINOR>0|[1-9]\d*)\.*(?P<PATCH>0|[1-9]\d*)*"
)
Expand Down
Loading