Модуль ESP32-WROVER-B отличается от базового WROOM наличием встроенной PSRAM, и именно из-за неё часть выводов чипа занята под внутреннюю шину памяти — подключение внешних устройств к этим линиям приводит к сбоям загрузки или нестабильной работе. Поэтому распиновку WROVER-B нельзя копировать один в один со схем для WROOM: сначала нужно понять, какие GPIO реально свободны, а какие зарезервированы.

Ниже разберём назначение выводов модуля, безопасные пины для периферии, ограничения strapping-выводов и типичные ошибки при разводке платы. Информация актуальна для самого модуля; конкретные отладочные платы на его основе могут иметь собственную маркировку, которую следует сверять с документацией производителя платы.

Общая структура модуля и отличия от WROOM

ESP32-WROVER-B построен на чипе ESP32-D0WD и дополнительно содержит микросхему псевдостатической памяти, подключённую к шине внешней RAM. Модуль работает от напряжения 3,3 В, и все логические уровни GPIO привязаны именно к этому питанию. Подача 5 В на любой цифровой вывод — прямой путь к повреждению порта.

Ключевое отличие от WROOM: линии, задействованные под PSRAM, физически недоступны для пользователя. На практике это означает, что GPIO16 и GPIO17 в WROVER-B заняты внутренней шиной памяти и использовать их как обычные порты ввода-вывода нельзя. Если проект переносится с платы на WROOM, где эти пины были задействованы, схему придётся переразвести.

Также в модуле присутствует встроенная флеш-память, обслуживаемая отдельной группой выводов (обычно это GPIO6–GPIO11). Эти линии выведены на чип, но трогать их в пользовательской схеме не следует.

Карта выводов: основные группы GPIO

Условно все пользовательские выводы модуля делятся на несколько функциональных групп. Понимание этой группировки важнее, чем заучивание номеров: оно сразу показывает, где есть свобода выбора, а где действуют ограничения.

  • 🔌 Питание: выводы 3V3 и GND, а также EN — вход сброса/разрешения работы чипа.
  • 📟 UART0: GPIO1 (TXD0) и GPIO3 (RXD0) — используются для прошивки и вывода отладочного лога.
  • 🎛️ Только вход: GPIO34, GPIO35, GPIO36, GPIO39 — не имеют выходного драйвера и внутренних подтяжек.
  • ⚙️ Strapping-пины: GPIO0, GPIO2, GPIO5, GPIO12, GPIO15 — их уровень в момент старта определяет режим загрузки.
  • 🧠 Заняты PSRAM: GPIO16, GPIO17 — недоступны пользователю в WROVER-B.
  • 💾 Заняты флеш-памятью: GPIO6–GPIO11 — подключать внешние цепи сюда нельзя.

Оставшиеся выводы — GPIO4, GPIO13, GPIO14, GPIO18, GPIO19, GPIO21, GPIO22, GPIO23, GPIO25, GPIO26, GPIO27, GPIO32, GPIO33 — основной «рабочий резерв» для периферии: шин I2C и SPI, ШИМ, датчиков и исполнительных устройств.

💡

В WROVER-B выводы GPIO16 и GPIO17 заняты встроенной PSRAM — главное отличие распиновки от модуля WROOM.