Объем flash-памяти зависит от конкретной модели и производителя модуля.
Если кратко: чаще всего встречаются модули с 4 МБ или 8 МБ flash-памяти, но бывают и от 2 МБ до 16 МБ и даже больше.
Давайте разберем подробнее.
1. Встроенная (в чип) vs. Внешняя flash-память
-
ESP32 (чип, например, ESP32-D0WDQ6): Сам по себе чип ESP32 не имеет встроенной flash-памяти. Ему обязательно нужна внешняя память для хранения прошивки и данных.
-
ESP32-PICO-D4: Это исключение. Этот чип имеет встроенную flash-память объемом 4 МБ.
-
Модули ESP32 (например, ESP-WROOM-32, ESP32-DevKitC): Это готовые платы, куда чип ESP32 уже запаян вместе с необходимой внешней flash-памятью. Именно поэтому объем памяти зависит от модуля.
2. Распространенные объемы памяти у популярных модулей
Производитель Espressif и другие компании выпускают модули с разным объемом памяти. Вот самые популярные конфигурации:
Модуль (на примере Espressif) | Типичный объем Flash-памяти | Для чего подходит |
---|---|---|
ESP-WROOM-32 (самый распространенный) | 4 МБ | Стандартные проекты, работа с Wi-Fi/Bluetooth, средние проекты на MicroPython. |
ESP-WROOM-32E | 4 МБ | Обновленная версия WROOM-32. |
ESP-WROOM-32D | 4 МБ | Аналогично. |
ESP-WROOM-32U | 4 МБ | Имеет внешнюю антенну, но память та же. |
ESP32-S2 | 4 МБ | Часто 4 МБ, но есть вариации. |
ESP32-C3 | 4 МБ | Часто 4 МБ, но есть вариации. |
ESP-WROVER серии | 8 МБ (также имеет 8 МБ PSRAM) | Более сложные проекты: обработка изображений, аудио, веб-серверы с большим количеством контента, крупные проекты на MicroPython/Arduino. |
Модули от сторонних производителей (например, от LilyGO, TTGO, AI Thinker) | Часто 4 МБ или 16 МБ | Могут быть любые варианты. Например, модули для работы с дисплеями часто имеют 16 МБ. |
3. Как узнать объем flash-памяти на вашей плате?
Есть несколько надежных способов:
-
Посмотреть на маркировку чипа flash-памяти. Рядом с основным чипом ESP32 на плате находится еще один чип (обычно 8-ногый) — это и есть flash-память. Сфотографируйте его маркировку и поищите в Google (например, "GD25Q32 datasheet"). Цифры в названии часто указывают на объем:
-
25Q
32
— 32 / 8 = 4 МБ -
25Q
64
— 64 / 8 = 8 МБ -
25Q
128
— 128 / 8 = 16 МБ
-
-
Воспользоваться кодом в Arduino IDE:
void setup() { Serial.begin(115200); Serial.print("Flash Size: "); // Функция возвращает размер в байтах, делим на 1024*1024 для перевода в МБ Serial.print(ESP.getFlashChipSize() / (1024.0 * 1024.0)); Serial.println(" MB"); } void loop() {}
Загрузите этот скетч, откройте Монитор порта, и он покажет обнаруженный объем.
-
Воспользоваться кодом в PlatformIO или ESP-IDF:
Можно использовать командыesptool.py
— утилиты для работы с ESP32.
Подключите плату и выполните в командной строке:esptool.py flash_id
Это команда покажет подробную информацию о чипе flash, включая его производителя и размер.
4. На что влияет объем flash-памяти?
-
Размер прошивки: Чем больше функционала, тем больше занимает скомпилированный код. Прошивка с Wi-Fi, Bluetooth, файловой системой (SPIFFS/LittleFS) и несколькими библиотеками легко может занимать 1.5-2 МБ.
-
Файловая система: Часть flash-памяти выделяется под файловую систему (как жесткий диск в компьютере), где можно хранить HTML-страницы, картинки, конфиги, данные логов и т.д. Чем больше памяти, тем больше места под файлы.
-
Прошивка OTA (Over-The-Air): Для обновления прошивки "по воздуху" нужно место для хранения двух прошивок (текущей и новой), что требует как минимум в 2 раза больше места.
Итог: Самый частый вариант — 4 МБ. Но если вы покупаете плату, всегда уточняйте этот параметр у продавца или в технической документации (datasheet) на конкретный модуль.