arduino-esp32 read memory info (tested on YD-ESP32-S3 N16R8/Waveshare ESP32-C5-WIFI6-KIT-N16R8)
arduino-esp32 read memory info, tested on Waveshare ESP32-C5-WIFI6-KIT-N16R8 and YD-ESP32-S3 N16R8.
ESP32-xx_mem_info.ino/*
Exercise run on Waveshare ESP32-xx
- Memory info
Tested on:
VCC-GND Studio YD-ESP32-S3 N16R8
https://github.com/vcc-gnd/YD-ESP32-S3
16MB Flash, 8MB PSRAM
WaveShare ESP32-C5-WIFI6-KIT-N16R8:
https://www.waveshare.com/wiki/ESP32-C5-WIFI6-KIT-NXRX
16MB Flash, 8MB PSRAM
*/
#include <SPIFFS.h>
void setup() {
delay(2000);
Serial.begin(115200);
delay(1000);
Serial.println("\n\n~ Start ~");
Serial.println("--- Memory Info ---");
Serial.println();
Serial.println("--- Model and Revision ---");
Serial.printf("Chip model: %s\n", ESP.getChipModel());
Serial.printf("Chip revision: %d\n", ESP.getChipRevision());
Serial.println();
Serial.println("--- SRAM (internal RAM) ---");
Serial.printf("Free heap: %d bytes\n", ESP.getFreeHeap());
Serial.printf("Largest free block: %d bytes\n", ESP.getMaxAllocHeap());
Serial.printf("Total internal RAM: %d bytes\n", ESP.getHeapSize());
Serial.println();
Serial.println("--- PSRAM (external RAM) ---");
if (psramFound()) {
Serial.printf("PSRAM size: %d bytes\n", ESP.getPsramSize());
Serial.printf("Free PSRAM: %d bytes\n", ESP.getFreePsram());
} else {
Serial.println("No PSRAM detected");
}
Serial.println();
Serial.println("--- Flash ---");
Serial.printf("Flash chip size: %d bytes\n", ESP.getFlashChipSize());
Serial.printf("Flash chip size: %d MB\n", ESP.getFlashChipSize() / (1024*1024));
Serial.printf("Flash frequency: %d Hz\n", ESP.getFlashChipSpeed());
Serial.println();
delay(500); // 0.5 seconds
}
void loop()
{
delay(1000);
}
To verify, print the SPI flash memory manufacturer and device ID, using the command:
esptool --chip auto --port <COM> flash-id
Result for VCC-GND Studio YD-ESP32-S3 N16R8:
esptool output:
C:\Users\PC>esptool --chip auto --port COM7 flash-id
esptool v5.1.0
Connected to ESP32-S3 on COM7:
Chip type: ESP32-S3 (QFN56) (revision v0.2)
Features: Wi-Fi, BT 5 (LE), Dual Core + LP Core, 240MHz, Embedded PSRAM 8MB (AP_3v3)
Crystal frequency: 40MHz
MAC: 20:6e:f1:b2:b8:ec
Stub flasher running.
Flash Memory Information:
=========================
Manufacturer: 46
Device: 4018
Detected flash size: 16MB
Flash type set in eFuse: quad (4 data lines)
Flash voltage set by eFuse: 3.3V
Hard resetting via RTS pin...
Arduino IDE Serial Monitor output:
~ Start ~
--- Memory Info ---
--- Model and Revision ---
Chip model: ESP32-S3
Chip revision: 2
--- SRAM (internal RAM) ---
Free heap: 359748 bytes
Largest free block: 303092 bytes
Total internal RAM: 393920 bytes
--- PSRAM (external RAM) ---
PSRAM size: 8388608 bytes
Free PSRAM: 8384788 bytes
--- Flash ---
Flash chip size: 16777216 bytes
Flash chip size: 16 MB
Flash frequency: 80000000 Hz
Result for Waveshare ESP32-C5-WIFI6-KIT-N16R8:
esptool output:
C:\Users\PC>esptool --chip auto --port COM27 flash-id
esptool v5.1.0
Connected to ESP32-C5 on COM27:
Chip type: ESP32-C5 (revision v1.0)
Features: Wi-Fi 6 (dual-band), BT 5 (LE), IEEE802.15.4, Single Core + LP Core, 240MHz
Crystal frequency: 48MHz
MAC: 3c:dc:75:ff:fe:99:c6:54
BASE MAC: 3c:dc:75:99:c6:54
MAC_EXT: ff:fe
Stub flasher running.
Flash Memory Information:
=========================
Manufacturer: 46
Device: 4018
Detected flash size: 16MB
Hard resetting via RTS pin...
Arduino IDE Serial Monitor output:
~ Start ~
--- Memory Info ---
--- Model and Revision ---
Chip model: ESP32-C5
Chip revision: 100
--- SRAM (internal RAM) ---
Free heap: 304992 bytes
Largest free block: 278516 bytes
Total internal RAM: 333664 bytes
--- PSRAM (external RAM) ---
PSRAM size: 8388608 bytes
Free PSRAM: 8384272 bytes
--- Flash ---
Flash chip size: 16777216 bytes
Flash chip size: 16 MB
Flash frequency: 80000000 Hz


Comments
Post a Comment