Since upgrading ESPHome from version 2026.6.5 to 2026.7.1 and later 2026.7.2 I am seeing strange changes in the RAM sizes shown in the installer logs for some ESP32 modules.
Some examples while upgrading ESP32 devices when nothing was changed to the config (so only a new version of ESPHome):
One example is a WEMOS Lolin S2 Mini ESP32-S2 board:
This board has 320 KiB or 327680 bytes of RAM.
With ESPHome version 2026.6.5
Total image size: 997322 bytes (.bin may be padded larger)
RAM: [== ] 15.4% (used 50584 bytes from 327680 bytes)
Flash: [===== ] 54.3% (used 997066 bytes from 1835008 bytes)
With ESPHome version 2026.7.2
Total image size: 1005522 bytes (.bin may be padded larger)
RAM: [======= ] 72.4% (used 124548 bytes from 172032 bytes)
Flash: [===== ] 54.8% (used 1005522 bytes from 1835008 bytes)
So the total amount of available RAM changed from 327680 bytes (which was the correct size) into 172032 bytes (47.5 % less).
And, although nothing was changed in the config, the used RAM size changed from 50584 bytes into 124548 bytes (146 % more).
Another example is a LilyGO TTGO T7 Mini32 V1.3 ESP32 board:
This board has 520 KiB or 532480 bytes of RAM.
With ESPHome version 2026.6.5
Total image size: 1299771 bytes (.bin may be padded larger)
RAM: [= ] 5.3% (used 69968 bytes from 1310720 bytes)
Flash: [======= ] 70.8% (used 1299515 bytes from 1835008 bytes)
With ESPHome version 2026.7.2
Total image size: 1327423 bytes (.bin may be padded larger)
RAM: [====== ] 56.4% (used 70212 bytes from 124580 bytes)
Flash: [======= ] 72.3% (used 1327423 bytes from 1835008 bytes)
So the total amount of available RAM changed from 1310720 bytes into 124580 bytes (90.5 % less).
In this case the true RAM size (532480 bytes) is in between of these two values.
In this case the used RAM size changed from 69968 bytes into 70212 bytes, so that looks normal.
A third example is a Seeed Studio XIAO ESP32-S3 board:
This board has 512 KiB or 524288 bytes of RAM.
With ESPHome version 2026.6.5
Total image size: 1454563 bytes (.bin may be padded larger)
RAM: [== ] 20.6% (used 67516 bytes from 327680 bytes)
Flash: [==== ] 37.0% (used 1454307 bytes from 3932160 bytes)
With ESPHome version 2026.7.2
Total image size: 1484375 bytes (.bin may be padded larger)
RAM: [==== ] 42.9% (used 146519 bytes from 341760 bytes)
Flash: [==== ] 37.7% (used 1484375 bytes from 3932160 bytes)
So the total amount of available RAM changed from 327680 bytes into 341760 bytes (4.3 % more).
But in this case the true RAM size (524288 bytes) is much larger than both these values.
And, although nothing was changed in the config, the used RAM size changed from 67516 bytes into 146519 bytes (117 % more).
Up to now I never saw such large changes to the RAM sizes while upgrading ESPHome to newer versions.
In all these examples I originally did set the exact board types in the esp32 config:
esp32:
board: lolin_s2_mini
framework:
type: esp-idf
esp32:
board: ttgo-t7-v13-mini32
framework:
type: esp-idf
advanced:
minimum_chip_revision: '3.0'
sram1_as_iram: true
esp32:
board: seeed_xiao_esp32s3
flash_size: 8MB
variant: esp32s3
framework:
type: esp-idf
I did change this into setting the variant type only (because that appears to be the recommended practice now), but that does not make any difference:
esp32:
# board: lolin_s2_mini
variant: esp32s2
framework:
type: esp-idf
esp32:
# board: ttgo-t7-v13-mini32
variant: esp32
framework:
type: esp-idf
advanced:
minimum_chip_revision: '3.0'
sram1_as_iram: true
esp32:
# board: seeed_xiao_esp32s3
flash_size: 8MB
variant: esp32s3
framework:
type: esp-idf
It looks like this only happens with ESP32 devices, and not with ESP8266 devices.
I cannot find anything in the version 2026.7.x release notes about any ESP32 RAM usage changes.
As far as I know it is not possible to define the real RAM size in the ESPHome config, or is it?
All these modules appear to be still functioning normally, so it might only be a problem in the install logs. Or can this influence the usage performance of the ESP modules: is all physically available RAM used in reality or not?
Who knows more about this?
Is something changed for the ESP32 RAM usage giving real drastic changes into RAM sizes?
Another observation: although English is not my native language, I think there might be a language mistake in the ESPHome installer logs:
RAM: [==== ] 42.9% (used 146519 bytes from 341760 bytes)
ShouldnΒ΄t this be of instead of from?
RAM: [==== ] 42.9% (used 146519 bytes of 341760 bytes)