Модуль 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.