Перейти к содержанию

ESP32-C3-DevKitM-1: распиновка и устройство платы

Плата ESP32-C3-DevKitM-1 по руководству, схеме и чертежу Espressif: где какой из 30 контактов, какие функции ESP32-C3 доступны на каждом, почему GPIO8 одновременно светодиод, вывод обвязки загрузки и SDA в Arduino и где взять встроенный USB.

Обновлено Редакция GAW

ESP32-C3-DevKitM-1 — небольшая отладочная плата Espressif на модуле ESP32-C3-MINI-1 или -1U. Внутри модуля — ESP32-C3 с одним ядром RISC-V и флеш-памятью 4 МБ в корпусе чипа. Свободные выводы модуля выведены на два разъёма по 15 контактов, внизу — micro-USB через мост USB-UART.

ПараметрЗначение
МикроконтроллерESP32-C3: одно ядро RISC-V до 160 МГц
Память400 КБ SRAM, 384 КБ ПЗУ, флеш 4 МБ в корпусе чипа
РадиоWi-Fi 802.11 b/g/n (2,4 ГГц), Bluetooth 5 (LE)
Контакты2 × 15 с шагом 2,54 мм: 15 GPIO
Периферия ESP32-C32 UART, I²C, I²S, SPI, TWAI (CAN), 6 каналов LED PWM, USB Serial/JTAG
Аналоговые2 АЦП по 12 бит, 6 каналов
USBmicro-USB, мост USB-UART CP2102N
Питание5 В от USB или контакта 5V, либо 3,3 В на контакт 3V3
Размер25,40 × 38,91 мм, антенна модуля выступает за край

Распиновка

Плата нарисована сверху, антенной вверх: J1 слева, J3 справа, оба нумеруются от антенны.

антеннамодуль ESP32-C3SGM2212RGBCP2102NBootResetUSBJ1-1: GND1GNDJ1-2: 3V3 — 3,3 В23V33,3 ВJ1-3: 3V3 — 3,3 В33V33,3 ВJ1-4: IO2 — GPIO2 — ADC1_CH2, FSPIQ4IO2ADC1_CH2FSPIQJ1-5: IO3 — GPIO3 — ADC1_CH35IO3ADC1_CH3J1-6: GND6GNDJ1-7: RST — CHIP_PU: низкий уровень выключает чип7RSTCHIP_PU: низкий уровень выключает чипJ1-8: GND8GNDJ1-9: IO0 — GPIO0 — ADC1_CH09IO0ADC1_CH0J1-10: IO1 — GPIO1 — ADC1_CH110IO1ADC1_CH1J1-11: IO10 — GPIO10 — FSPICS011IO10FSPICS0J1-12: GND12GNDJ1-13: 5V — 5 В135V5 ВJ1-14: 5V — 5 В145V5 ВJ1-15: GND15GNDJ3-1: GND1GNDJ3-2: TX — GPIO21 — U0TXD2TXU0TXDJ3-3: RX — GPIO20 — U0RXD3RXU0RXDJ3-4: GND4GNDJ3-5: IO9 — GPIO9 — кнопка Boot5IO9кнопка BootJ3-6: IO8 — GPIO8 — RGB-светодиод SK68XXMINI-HS, подтяжка 10 кОм к 3,3 В6IO8RGB-светодиод SK68XXMINI-HS, подтяжка 10 кОм к 3,3 ВJ3-7: GND7GNDJ3-8: IO7 — GPIO7 — MTDO, FSPID8IO7MTDOFSPIDJ3-9: IO6 — GPIO6 — MTCK, FSPICLK9IO6MTCKFSPICLKJ3-10: IO5 — GPIO5 — ADC2_CH0, MTDI10IO5ADC2_CH0MTDIJ3-11: IO4 — GPIO4 — ADC1_CH4, MTMS11IO4ADC1_CH4MTMSJ3-12: GND12GNDJ3-13: IO18 — GPIO18 — USB_D-13IO18USB_D-J3-14: IO19 — GPIO19 — USB_D+14IO19USB_D+J3-15: GND15GND
ESP32-C3-DevKitM-1, вид сверху: контакты, их номера и функции GPIO. Плата 25,4 × 38,91 мм, шаг контактов 2,54 мм.
  • ввод-вывод
  • питание и земля
  • управление: RST
  • выбранная функция

Контакты и функции

Функции — по таблицам 2-4 и 2-6 даташита ESP32-C3. Цифровые интерфейсы, кроме показанных, через матрицу GPIO выводятся почти на любой вывод.

КонтактПодписьGPIOАЦПIO MUXЕщё
J1-1GND—общий провод
J1-23V3—3,3 В
J1-33V3—3,3 В
J1-4IO22ADC1_CH2FSPIQвывод обвязки загрузки (без подтяжки): режим загрузки не выбирает, но даташит советует подтяжку вверх
J1-5IO33ADC1_CH3—
J1-6GND—общий провод
J1-7RST—CHIP_PU: низкий уровень выключает чип
J1-8GND—общий провод
J1-9IO00ADC1_CH0XTAL_32K_Pвход кварца 32 кГц (XTAL_32K_P)
J1-10IO11ADC1_CH1XTAL_32K_Nвход кварца 32 кГц (XTAL_32K_N)
J1-11IO1010—FSPICS0
J1-12GND—общий провод
J1-135V—5 В
J1-145V—5 В
J1-15GND—общий провод
J3-1GND—общий провод
J3-2TX21—U0TXDв Arduino-ESP32 по умолчанию Serial TX
J3-3RX20—U0RXDв Arduino-ESP32 по умолчанию Serial RX
J3-4GND—общий провод
J3-5IO99——вывод обвязки загрузки (подтяжка вверх): режим загрузки: 0 при сбросе — загрузка через USB или UART; в Arduino-ESP32 по умолчанию SCL (Wire)
J3-6IO88——вывод обвязки загрузки (без подтяжки): для загрузки через USB или UART должен быть 1; управляет выводом сообщений загрузчика; в Arduino-ESP32 по умолчанию SDA (Wire)
J3-7GND—общий провод
J3-8IO77—MTDO, FSPIDв Arduino-ESP32 по умолчанию SS (SPI)
J3-9IO66—MTCK, FSPICLKв Arduino-ESP32 по умолчанию MOSI (SPI)
J3-10IO55ADC2_CH0MTDI, FSPIWPв Arduino-ESP32 по умолчанию MISO (SPI)
J3-11IO44ADC1_CH4MTMS, FSPIHDв Arduino-ESP32 по умолчанию SCK (SPI)
J3-12GND—общий провод
J3-13IO1818—USB_D-по умолчанию подключён к контроллеру USB Serial/JTAG
J3-14IO1919—USB_D+по умолчанию подключён к контроллеру USB Serial/JTAG
J3-15GND—общий провод

GPIO8 и GPIO9: светодиод, загрузка и I²C

На этих двух выводах сходится сразу несколько ролей:

ВыводНа платеПри сбросе (даташит)В Arduino-ESP32 3.3.0
GPIO8адресный RGB-светодиод SK68XXMINI-HS, подтяжка 10 кОм к 3,3 Вдля загрузки через USB или UART должен быть 1; управляет выводом сообщений загрузчика в UART0SDA, PIN_RGB_LED
GPIO9кнопка Bootподтянут вверх; 0 — загрузка через USB или UARTSCL

Удерживая кнопку Boot и нажимая Reset, плату переводят в режим загрузки прошивки — по схеме кнопка замыкает GPIO9 на землю, а резистор R20 держит GPIO8 в единице. Программа прошивки делает то же сама: линии DTR и RTS моста через транзисторы управляют CHIP_PU и GPIO9. Подключая к GPIO8 и GPIO9 датчики I²C с подтяжками или другие схемы, следите, чтобы они не меняли уровни в момент сброса. А шину I²C удобнее перенести на свободные выводы: на ESP32-C3 её можно назначить почти на любой GPIO. Все 22 GPIO чипа с функциями и ограничениями — на странице «ESP32-C3: выводы чипа и GPIO».

Третий вывод обвязки — GPIO2: режим загрузки он не выбирает, но даташит советует подтянуть его вверх, чтобы избежать помех.

Другие ограничения

  • Флеш-память: GPIO12–GPIO17 соединены с флеш-памятью в корпусе чипа, GPIO11 — вывод VDD_SPI, её питание. На разъёмы они не выведены.
  • USB: GPIO18 и GPIO19 — линии USB_D− и USB_D+ контроллера USB Serial/JTAG; по умолчанию они подключены к нему. Разъём micro-USB платы идёт к мосту CP2102N; на схеме есть места для перемычек R2 и R3 к GPIO18 и GPIO19, но они не устанавливаются.
  • JTAG и UART0: GPIO4–GPIO7 — выводы JTAG (MTMS, MTDI, MTCK, MTDO), GPIO20 и GPIO21 — UART0 моста USB-UART. По даташиту JTAG можно взять через USB Serial/JTAG и освободить эти выводы.
  • АЦП: шесть каналов — ADC1 на GPIO0–GPIO4 и ADC2 на GPIO5. GPIO0 и GPIO1 могут быть входом кварца 32 кГц.

Питание

Плату питают 5 В от micro-USB или контакта 5V — стабилизатор SGM2212 даёт 3,3 В — либо 3,3 В на контакт 3V3. Выводы ESP32-C3 рассчитаны на 3,3 В, к 5-вольтовым устройствам их подключают через преобразователь уровней.

Другие платы на чипах Espressif — ESP32-S3-DevKitC-1 с двумя портами USB и ESP32-DevKitC V4, обзор семейства — в разделе ESP32.

Частые вопросы

Какие выводы ESP32-C3 нельзя трогать при загрузке?

GPIO2, GPIO8 и GPIO9 — выводы обвязки загрузки. По даташиту режим загрузки задают GPIO9 (подтянут вверх: 0 при сбросе — загрузка через USB или UART) и GPIO8, который для этого должен быть в единице. GPIO2 режим не выбирает, но даташит советует подтянуть его вверх. Схема, подключённая к этим выводам, не должна менять уровни в момент сброса.

Почему в Arduino I²C на ESP32-C3 конфликтует со светодиодом?

В варианте esp32c3 Arduino-ESP32 3.3.0 SDA по умолчанию — GPIO8, SCL — GPIO9. На ESP32-C3-DevKitM-1 к GPIO8 подключён RGB-светодиод, а оба вывода ещё и участвуют в выборе режима загрузки. Надёжнее указать другие выводы в Wire.begin(sda, scl): I²C на ESP32-C3 можно вывести почти на любой GPIO через матрицу.

Есть ли у ESP32-C3-DevKitM-1 встроенный USB?

У чипа есть контроллер USB Serial/JTAG на выводах GPIO18 (USB_D−) и GPIO19 (USB_D+), но разъём micro-USB платы подключён к мосту CP2102N и через него к UART0; перемычки R2 и R3 к GPIO18 и GPIO19 на схеме помечены как неустанавливаемые. Выводы GPIO18 и GPIO19 есть на разъёме J3: к ним подключают отдельный USB-кабель, если нужна прошивка и отладка через встроенный USB.

Сколько аналоговых входов у ESP32-C3?

Шесть: по даташиту ADC1 — на GPIO0–GPIO4, ADC2 — один канал на GPIO5. Все шесть выведены на разъёмы платы: GPIO0–3 на J1, GPIO4 и GPIO5 на J3.

Источники

  1. Espressif. ESP32-C3-DevKitM-1 User Guide (esp-dev-kits, коммит 927ed7e) — модули ESP32-C3-MINI-1 и -1U с флеш-памятью 4 МБ в корпусе чипа; LDO 5 → 3,3 В; мост USB-UART до 3 Мбит/с; кнопки Boot и Reset; адресный RGB-светодиод на GPIO8; таблицы разъёмов J1 и J3; GPIO2, GPIO8 и GPIO9 — выводы обвязки загрузки; лицензия CC BY-SA 4.0
  2. Espressif. ESP32-C3-DevKitM-1: Schematic, Dimensions — SGM2212-3.3, CP2102N-A02-GQFN28, SK68XXMINI-HS, ESP32-C3-MINI-1; SW1 (Boot) — GPIO9, R20 10 кОм — подтяжка GPIO8; DTR и RTS через Q1, Q2 — CHIP_PU и GPIO9; R2, R3 (NC) — разъём USB к GPIO18 и GPIO19; чертёж DIMENSION_ESP32-C3-DEVKITM-1_V1_20200915AA.pdf — 25,40 × 38,91 мм, ряды через 22,86 мм, шаг 2,54 мм
  3. Espressif. ESP32-C3 Series Datasheet v2.4 — одно ядро RISC-V до 160 МГц, 400 КБ SRAM, 384 КБ ПЗУ, Wi-Fi 802.11 b/g/n, Bluetooth 5 (LE); 22 GPIO, 2 UART, 3 SPI, I²C, I²S, USB Serial/JTAG, TWAI, 6 каналов LED PWM, 2 АЦП по 12 бит до 6 каналов; табл. 2-4 и 2-6 — функции выводов; разд. 2.3.3–2.3.4 — ограничения: GPIO12–17 — флеш, GPIO11 — VDD_SPI, USB_D± по умолчанию у USB Serial/JTAG; табл. 3-1, 3-3, 3-4 — выводы обвязки GPIO2, GPIO8, GPIO9
  4. Espressif. ESP32-C3-MINI-1 & ESP32-C3-MINI-1U Datasheet — табл. 3-1 — выводы модуля и их функции
  5. Espressif. arduino-esp32 3.3.0: variants/esp32c3/pins_arduino.h — TX — 21, RX — 20, SDA — 8, SCL — 9, SPI: SS 7, MOSI 6, MISO 5, SCK 4; PIN_RGB_LED 8; лицензия LGPL-2.1
  6. Espressif. esp-idf v5.4.1: soc/esp32c3/include/soc/adc_channel.h — ADC1 на GPIO0–4, ADC2 на GPIO5 (сверка табл. 2-6); лицензия Apache-2.0

Нашли ошибку?