Все ESP32 выглядят одинаково, но это не так: какую плату выбрать для своего проекта

ESP32 — штука замечательная, например, с ее помощью можно закрыть мертвую зону Wi-Fi или превратить ее в карманный роутер для путешествий. Но подвох в том, что платы ESP32 выглядят как близнецы, а под корпусом могут скрываться совершенно разные чипы, и эта разница способна убить проект на корню. Неправильная плата может стать решающим фактором, особенно если проект требует памяти или предполагает серьезную нагрузку.

Все ESP32 выглядят одинаково, но это не так: какую плату выбрать для своего проекта

Не все ESP32 одинаковы

Путаница начинается с названия. Espressif выпустила несколько поколений чипов под общим зонтичным брендом ESP32. Внешне они неотличимы, но различаются суффиксами: S2, S3, C3 и др.

  • Оригинальный ESP32, вышедший в 2016 году, — это двухъядерный чип на процессоре Tensilica Xtensa LX6 с частотой до 240 МГц, 520 КБ SRAM и поддержкой Wi-Fi и Bluetooth (Classic и BLE). 
  • ESP32-S2 — одноядерный чип на LX7, у него всего 320 КБ SRAM и, что важнее, нет Bluetooth вообще. 
  • ESP32-S3 получил двухъядерный LX7, добавил Bluetooth 5.0, но только BLE. И главное отличие от остальных в памяти, часто он несет до 8 МБ PSRAM и больше.

Проблема в том, что ничего из этого не видно в товарной карточке, где красуется скромное «модуль ESP32».

Почему S3 стал выбором по умолчанию

ESP32

Оригинальный ESP32 появился десять лет назад и с тех пор оставался основой. Но Espressif перевела S3 на двухъядерный Xtensa LX7 вместо старого LX6. Частота на бумаге та же 240 МГц, но LX7 эффективнее обрабатывает инструкции и добавляет векторные расширения, которых у первоначальной версии не было.

Эти векторные инструкции позволяют запускать легкие ML-задачи прямо на чипе, например, распознавание ключевых слов, базовую классификацию изображений, через библиотеки ESP-DL и ESP-SR. У стандартного ESP32 ничего подобного нет.

Помимо вычислений, S3 получил нативный USB OTG и может определяться как USB HID-устройство: аппаратный ключ безопасности, клавиатура, накопитель или последовательный порт без дополнительного железа. Добавлен выделенный интерфейс для камер с параллельными DVP-сенсорами, 45 GPIO против 34 у первой версии и Bluetooth 5.0 вместо 4.2.

Зачем нужна PSRAM 

Настоящая путаница начинается, когда вы беретесь за проекты, как например, ESP32 AdBlocker. Если хотите превратить ESP32 в DNS-ловушку для блокировки рекламы и трекеров, нужна плата как минимум с 4 МБ PSRAM.

PSRAM — это внешняя оперативная память, которая расширяет доступный чипу объем далеко за пределы встроенной SRAM. К примеру, для проекта нужен ESP32-S3 с 8 МБ PSRAM, чтобы вместить полноразмерный список блокировки. Стандартный ESP32 с 4 МБ PSRAM может обрезать список. Оба варианта технически работают, но только при наличии PSRAM.

Получается, то, что у вас есть плата ESP32, вовсе не значит, что на ней есть PSRAM. В итоге, проект может просто не запуститься. К тому же S3 примерно вдвое быстрее оригинального ESP32 в таких задачах.

Если купите неправильную плату, ESP32-S2 без PSRAM, то проект не заработает. Даже если вы зальете код, внеся правки в Arduino IDE, аппаратно плата не потянет. Явной ошибки вы не увидите, скорее всего, плата застрянет в цикле загрузки и упадет раньше, чем успеет что-то сообщить в Serial Monitor.

Что первая версия ESP32 все еще делает лучше

Все это не значит, что старые платы ESP32 устарели. Оригинальный чип поддерживает Classic Bluetooth наряду с BLE, а S3 от Classic отказался полностью. Это критично, если вы строите что-то вокруг Bluetooth-аудио: A2DP-колонку, мост для наушников, профили AVRCP и HFP. S3 пожертвовал поддержкой legacy-протокола ради BLE 5.0, так что для работы со старым Bluetooth-аудио оригинальный чип остается единственным разумным выбором в семействе ESP32.

ESP32

К тому же он доступнее и часто заметно дешевле S3. За десять лет под него написано почти все: туториалы, Arduino-библиотеки, примеры ESP-IDF. Если вы делаете что-то обыденное, например, базовый Wi-Fi репитер или простой релейный контроллер, и не нуждаетесь в AI-ускорении или USB-функциях, первоначальный ESP32 вполне справится.

ESP32-C3 Supermini — когда размер и батарея важнее мощности

Среди множества вариантов ESP32 стоит отдельно выделить ESP32-C3 Supermini. Вместо двухъядерного Xtensa здесь одноядерный RISC-V с частотой до 160 МГц. Звучит как шаг назад, пока не узнаешь, что плата размером всего 18 на 22 мм, то есть в разы меньше стандартных dev-плат. Некоторые варианты, например Seeed Studio XIAO ESP32C3, работают напрямую от литий-ионного аккумулятора на 3,7 В без дополнительной обвязки.

Сочетание крошечного размера и нативной поддержки батареи делает C3 Supermini очевидным выбором для носимых устройств и проектов, где размер имеет значение. Wi-Fi и Bluetooth 5.0 на месте, так что связность не страдает,  теряется только вычислительная мощность и количество пинов. У обычных C3 Supermini около 13 GPIO, у батарейных вариантов вроде XIAO — 11, чтобы освободить место под схему зарядки.

Продавцы усложняют все до невозможности

Проблема не только в названиях от Espressif. Продавцы добавили еще больше путаницы, используя противоречивые зонтичные термины вроде ESP32 Devkit, ESP32-S Devkit или ESP32-S3 Devkit, и все это вываливается в одних и тех же результатах поиска.

ESP32

Есть и разброс по PSRAM внутри одного поколения чипов. Оригинальный ESP32 выпускается в вариантах с PSRAM и без. Модуль WROVER включает ее, а более распространенный и часто более дешевый WROOM — нет. Так что можно купить технически правильную плату ESP32, которая окажется бесполезной для проектов, зависящих от PSRAM, потому что вы случайно взяли не тот вариант модуля.

Самый простой способ не ошибиться — прочитать требования проекта к оборудованию до покупки. Общее правило: 

  • Оригинальный ESP32 в варианте WROVER идет с 4 МБ PSRAM и подходит для большинства проектов средней сложности. 
  • ESP32-S3 с 8 МБ PSRAM — лучший выбор для DNS-ловушек и проектов с большими данными. 
  • ESP32-S2 лучше подходит для USB OTG и энергочувствительных приложений, где Bluetooth не нужен. 
  • Варианты C3 или C5 работают везде в остальных случаях, особенно в простых маломощных сенсорных задачах.

Проверьте свою ESP перед покупкой

Прежде чем покупать следующую (или первую) плату ESP32, задайте себе три вопроса.

  • Нужен ли проекту Bluetooth? Если да, то сразу вычеркивайте ESP32-S2. А если нужен именно Classic Bluetooth для аудио, то вычеркивайте и S3, остается только оригинальный ESP32.
  • Нужен ли проекту PSRAM? Если да, ищите явно WROVER или плату S3 с указанием PSRAM на борту.
  • Указывает ли проект конкретную плату или вариант чипа в требованиях? Если да, то доверяйте этому больше, чем названию товара.

Сравнительная таблица. Какой ESP32 выбрать

Чип Ядра Частота SRAM Bluetooth PSRAM Для чего подходит
ESP32  2 (LX6) 240 МГц 520 КБ Classic + BLE 4.2 Зависит от модуля (WROVER — да, WROOM — нет) Classic Bluetooth, бюджетные проекты, Wi-Fi репитеры
ESP32-S2 1 (LX7) — 320 КБ Нет Зависит от платы USB OTG, энергочувствительные задачи без Bluetooth
ESP32-S3 2 (LX7) 240 МГц — BLE 5.0 До 8 МБ и больше AI-задачи, камеры, USB-гаджеты, DNS-ловушки
ESP32-C3 Supermini 1 (RISC-V) до 160 МГц — BLE 5.0 — Носимые устройства, малый размер, питание от батареи

Единого кандидата на звание «лучшая плата ESP32» нет

Все зависит от ограничения, вокруг которого вы проектируете:

  • Нужен универсальный вариант с запасом для AI, камер и USB-гаджетов — берите ESP32-S3. 
  • Нужен Classic Bluetooth для аудио или жесткий бюджет — оригинальный ESP32 все еще лучше. 
  • Нужен маленький размер и питание от батареи — ESP32-C3 Supermini создан именно для этого.

Экосистема ESP32 по-настоящему увлекательна, и эти крошечные платы способны на многое. Но низкая цена идет рука об руку с катастрофой в названиях, которую большинство туториалов не проясняют. Потратьте лишние пять минут на чтение документации перед покупкой, и тогда сэкономите себе нервы.

Читать еще:

Что будем искать? Например,ChatGPT

Мы в социальных сетях