Распиновка ESP32-C3: руководство по выводам и интерфейсам для разработчиков

Иван Корнев·12 августа 2026·3 мин

Распиновка ESP32-C3 включает 22 физических вывода GPIO (с GPIO0 по GPIO21), каждый из которых поддерживает мультиплексирование функций и работает при напряжении 3.3 В. Микроконтроллер не толерантен к 5 В, что требует внимательности при подключении периферии.

Оглавление

Общие характеристики GPIO

ESP32-C3 оснащён 22 физическими выводами GPIO (GPIO0–GPIO21). Все линии ввода-вывода поддерживают мультиплексирование функций, что позволяет назначать различные периферийные интерфейсы через конфигурацию регистров.

Напряжение на всех пинах составляет строго 3.3 В, и они не толерантны к 5 В. Это критично учитывать при подключении внешних устройств и выборе уровней сигналов.

Особенности выводов и ограничения

Strapping-пины

GPIO2, GPIO8 и GPIO9 являются strapping-пинами и могут влиять на режим загрузки или питание flash-памяти. Их использование в проектах требует осторожности: неправильная конфигурация может привести к сбоям при старте микроконтроллера.

Выводы USB

GPIO18 и GPIO19 зарезервированы для внутреннего USB-интерфейса (USB D- и D+) и обычно недоступны для общих задач ввода-вывода.

Ограничения конкретных плат

Не все 22 вывода доступны на конкретных платах разработки. Например, популярная ESP32-C3 Super Mini выводит только 13 GPIO (GPIO0–GPIO10, GPIO20, GPIO21). Для готовых плат (DevKitM-1, Super Mini) лучше использовать специализированные схемы распиновки именно для этой ревизии железа, так как маркировка на шелкографии может отличаться от стандартной документации.

Периферийные интерфейсы

ADC

Поддерживается одноканальный АЦП (SAR ADC) с разрешением 12 бит, доступный на ограниченном наборе пинов (обычно GPIO0–GPIO4).

I2C и SPI

Эти интерфейсы не привязаны жёстко к конкретным ножкам благодаря матрице GPIO. Однако существуют рекомендуемые значения по умолчанию для обеспечения совместимости. Например, на некоторых компактных платах GPIO4 часто используется как SDA по умолчанию.

UART

Доступно три UART-контроллера, которые можно переназначить на большинство свободных GPIO через матрицу коммутации.

PWM (LEDC)

Контроллер LED PWM поддерживает управление яркостью светодиодов и сервоприводов практически на любом цифровом выходе.

Рекомендации для разработчиков

Для создания собственных плат рекомендуется использовать официальные «Hardware Design Guidelines» от Espressif, содержащие требования к трассировке и питанию.

При работе в среде ESP-IDF следует обращаться к разделу API Reference по GPIO для корректной настройки матрицы периферии.

При выборе GPIO для вашего проекта учитывайте, какие пины уже заняты внутренними функциями (USB, strapping) и какие доступны на вашей конкретной плате разработки.

Частые ошибки

  • Подача 5 В на GPIO: Все пины ESP32-C3 работают при 3.3 В и не толерантны к 5 В. Это может привести к повреждению микроконтроллера.
  • Неправильное использование strapping-пинов: GPIO2, GPIO8 и GPIO9 могут влиять на режим загрузки или питание flash-памяти, что приводит к сбоям при старте.
  • Попытка использовать USB-пины для общих задач: GPIO18 и GPIO19 зарезервированы для внутреннего USB-интерфейса и обычно недоступны.
  • Ожидание всех 22 GPIO на компактных платах: Например, ESP32-C3 Super Mini выводит только 13 GPIO (GPIO0–GPIO10, GPIO20, GPIO21), что ограничивает доступные выводы.

FAQ

Сколько всего GPIO у ESP32-C3?

Микроконтроллер имеет 22 физических вывода GPIO (с GPIO0 по GPIO21). Однако не все из них доступны на конкретных платах разработки из-за конструктивных ограничений.

Какие пины нельзя использовать для общих задач?

GPIO18 и GPIO19 зарезервированы для внутреннего USB-интерфейса (USB D- и D+). GPIO2, GPIO8 и GPIO9 являются strapping-пинами и влияют на режим загрузки или питание flash-памяти.

Можно ли переназначить UART на любой GPIO?

Доступно три UART-контроллера, которые можно переназначить на большинство свободных GPIO через матрицу коммутации.

Какие пины поддерживает АЦП?

SAR ADC с разрешением 12 бит доступен на ограниченном наборе пинов, обычно это GPIO0–GPIO4.