prefixkit Вопрос инженеруСпросить Поддержать EN

Умный дом

Распиновка ESP32 (WROOM-32, DevKit)

Таблица пинов ESP32 (WROOM-32, DevKit): какие GPIO свободны для датчиков и реле, какие влияют на загрузку (strapping), заняты флеш-памятью, USB или работают только на вход, где АЦП и I²C. С примером для ESPHome.

15 можно 9 с оговоркой 8 не использовать

GPIOНа платеМожно?ФункцииЧто важно
GPIO0с оговоркойADC2_1, Touch1Пин загрузки: LOW при старте — режим прошивки. Обычно это кнопка BOOT. Как вход — осторожно.
GPIO1TX0не использоватьUART0 TXUSB-UART (журнал и прошивка).
GPIO2с оговоркойADC2_2, Touch2Пин загрузки, при прошивке должен быть LOW или свободен. На многих платах — встроенный светодиод.
GPIO3RX0не использоватьUART0 RXUSB-UART (журнал и прошивка).
GPIO4можноADC2_0, Touch0Свободен. АЦП ADC2 не работает при включённом Wi-Fi.
GPIO5с оговоркойVSPI CSПин загрузки, при старте выдаёт ШИМ. Для большинства датчиков подходит.
GPIO6не использоватьSPI flashЗанят микросхемой флеш-памяти.
GPIO7не использоватьSPI flashЗанят микросхемой флеш-памяти.
GPIO8не использоватьSPI flashЗанят микросхемой флеш-памяти.
GPIO9не использоватьSPI flashЗанят микросхемой флеш-памяти.
GPIO10не использоватьSPI flashЗанят микросхемой флеш-памяти.
GPIO11не использоватьSPI flashЗанят микросхемой флеш-памяти.
GPIO12с оговоркойADC2_5, Touch5, HSPI MISOПин загрузки: HIGH при старте выбирает флеш 1,8 В, и плата не запустится. Не подтягивайте его к питанию.
GPIO13можноADC2_4, Touch4, HSPI MOSIСвободен.
GPIO14можноADC2_6, Touch6, HSPI CLKСвободен; при старте кратко выдаёт ШИМ.
GPIO15с оговоркойADC2_3, Touch3, HSPI CSПин загрузки: LOW при старте отключает журнал загрузки. Обычно не мешает.
GPIO16RX2можноUART2 RXСвободен на WROOM; на модулях WROVER занят PSRAM.
GPIO17TX2можноUART2 TXСвободен на WROOM; на модулях WROVER занят PSRAM.
GPIO18можноVSPI CLKСвободен.
GPIO19можноVSPI MISOСвободен.
GPIO21можноI²C SDAI²C SDA по умолчанию.
GPIO22можноI²C SCLI²C SCL по умолчанию.
GPIO23можноVSPI MOSIСвободен.
GPIO25можноDAC1, ADC2_8Свободен; один из двух пинов с аналоговым выходом (ЦАП).
GPIO26можноDAC2, ADC2_9Свободен.
GPIO27можноADC2_7, Touch7Свободен.
GPIO32можноADC1_4, Touch9Свободен; ADC1 работает при Wi-Fi — для аналоговых датчиков.
GPIO33можноADC1_5, Touch8Свободен; ADC1.
GPIO34с оговоркойADC1_6Только вход, без внутренней подтяжки.
GPIO35с оговоркойADC1_7Только вход, без внутренней подтяжки.
GPIO36VPс оговоркойADC1_0Только вход, без внутренней подтяжки.
GPIO39VNс оговоркойADC1_3Только вход, без внутренней подтяжки.

Разные платы разводят пины по-разному: сверяйтесь со схемой своей платы. «Пины загрузки» (strapping) читаются в момент включения — если датчик или кнопка тянет их не в ту сторону, плата не запустится или уйдёт в режим прошивки.

Пример для ESPHome

esp32:
  board: esp32dev

i2c:
  sda: GPIO21
  scl: GPIO22

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO27
      mode: INPUT_PULLUP
      inverted: true
    name: "Button"

Полный конфиг с датчиками, ключами и проверкой занятых пинов — генератор ESPHome. Другие платы: ESP32-C3, ESP32-S3, ESP8266.

Где купить

AliExpress

Ссылки ведут на поиск в магазинах; часть ссылок партнёрские — покупка по ним ничего не стоит вам и поддерживает сайт. Мы не продаём устройства и не получаем их от производителей.

Идея?