From 3fa50a27a8f74cb30620422c4ad6169c36e7aa4a Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Tue, 14 Apr 2026 15:57:51 -1000 Subject: [PATCH] [debug] Fix iram sensor to report IRAM-only free --- esphome/components/debug/debug_esp32.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/esphome/components/debug/debug_esp32.cpp b/esphome/components/debug/debug_esp32.cpp index 1ef055b3dd..fe074748f8 100644 --- a/esphome/components/debug/debug_esp32.cpp +++ b/esphome/components/debug/debug_esp32.cpp @@ -302,7 +302,11 @@ void DebugComponent::update_platform_() { this->psram_sensor_->publish_state(heap_caps_get_free_size(MALLOC_CAP_SPIRAM)); } if (this->iram_sensor_ != nullptr) { - this->iram_sensor_->publish_state(heap_caps_get_free_size(MALLOC_CAP_EXEC)); + // IRAM-only free: 32-bit-accessible heap minus 8-bit-accessible heap. + // IRAM regions are registered as 32-bit-only; DRAM is both 8-bit and 32-bit. + size_t free_32bit = heap_caps_get_free_size(MALLOC_CAP_32BIT); + size_t free_8bit = heap_caps_get_free_size(MALLOC_CAP_8BIT); + this->iram_sensor_->publish_state(free_32bit > free_8bit ? free_32bit - free_8bit : 0); } #endif }