Memory Usage Comparison
This document is used to summarize the memory consumption when running common examples on different chips.
Comparison of Remaining Memory Size for Common Examples
Please note that the following test results have not undergone any memory optimization, they are simply the results obtained after directly running the basic examples in ESP-IDF. If you want to see the results after memory optimization, you can refer to next part, Example: Comparison of remaining memory size before and after memory optimization for ESP32-C3.
example |
ESP32 |
ESP32-C3 |
ESP32-C3(ECO7) |
ESP32-C2 |
ESP32-S3 |
ESP32-C6 |
ESP32-H2 |
ESP32-C5 |
ESP32-P4 |
---|---|---|---|---|---|---|---|---|---|
Empty project |
366 K |
332 K |
332 K |
197 K |
392 K |
474 K |
269 K |
347 K |
608 K |
Station |
230 K |
219 K |
230 K |
100 K |
273 K |
321 K |
not support |
220 K |
not support |
Gatt_server |
205 K |
215 K |
225 K |
80 K |
276 K |
358 K |
150 K |
225 K |
not support |
bleprph |
201 K |
205 K |
214 K |
98 K |
267 K |
370 K |
166 K |
231 K |
not support |
provision(ble & Wi-Fi coexis) |
140 K |
126 K |
136 K |
26 K |
189 K |
259 K |
not support |
192 K |
not support |
thread |
not support |
not support |
not support |
not support |
not support |
364 K |
166 K |
231 K |
not support |
Note
the data is tested in release/v5.5 (commit 2e7a9174fcdc18f4c242aba5d9ff90644ea03cd2), use the default sdkconfig of each example.
Note
In ES32-C3(ECO7), there is more available RAM for Wireless application, 10 KB for Wi-Fi related, 15 KB for BLE, 20 KB for coexist. If you want to use the ESP32-C3 (ECO7), please eanble the following in menuconfig: - Component config > Hardware Settings > Chip revision > Minimum Supported ESP32-C3 Revision > Rev 1.1 - Component config > SPI Flash driver > Use esp_flash implementation in ROM
Example: Comparison of remaining memory size before and after memory optimization for ESP32-C3
example |
Before memory optimization |
After memory optimization |
---|---|---|
Physical memory |
400 K |
400 K |
Station |
230 K |
304 K |
Station + 1TLS(MQTTS) |
210 K |
300 K |
bleprph_wifi_coex |
178 K |
248 K |
Note
ESP32-C3 data tested in ESP-IDF v5.2.2
Print the station’s free heap memory after the got ip event
Station + 1TLS(MQTTS) data is based on the ESP-IDF mqtt/ssl example, print the free heap memory after the MQTT_EVENT_DATA event
In the ESP-IDF bleprph_wifi_coex example test, nimble BLE broadcast starts after the got ip event, then print the free heap memory