← До всіх проєктів
Основи Початковий

ESP32-C3 SuperMini: розпіновка, підводні камені і перший скетч

Плата розміром з ніготь за ціною двох кав: Wi-Fi, Bluetooth 5 і USB-C. Але Serial мовчить, світлодіод горить навпаки, а АЦП бачить лише 2.5 В. Розбираємо розпіновку, strapping-піни і налаштування Arduino IDE, щоб SuperMini запрацювала з першого разу.

Складність
Початковий
Час
30 min
Категорія
Основи
Оновлено

Про плату

ESP32-C3 — одноядерний RISC-V на 160 МГц з Wi-Fi 4 і Bluetooth 5 LE. Плата SuperMini — 22.5 × 18 мм, USB-C, стабілізатор 3.3 В, кнопки BOOT і RESET і світлодіод. Вона дешевша за класичний ESP32 DevKit і споживає менше, але має свої особливості. Класичного Bluetooth (A2DP, SPP) у C3 немає — лише BLE.

Розпіновка

Лівий ряд Правий ряд
5V вхід/вихід 5 В з USB GPIO5 ADC2, SPI MISO
GND земля GPIO6 SPI MOSI
3V3 вихід стабілізатора GPIO7 SPI SS
GPIO4 ADC1, SPI SCK GPIO8 I2C SDA, світлодіод, strapping
GPIO3 ADC1 GPIO9 I2C SCL, кнопка BOOT, strapping
GPIO2 ADC1, strapping GPIO10
GPIO1 ADC1 GPIO20 UART0 RX
GPIO0 ADC1 GPIO21 UART0 TX

Разом 13 GPIO. Кожен підтримує ШІМ (LEDC, 6 каналів), переривання і INPUT_PULLUP/INPUT_PULLDOWN. Touch і DAC немає. GPIO11–17 зайняті флеш-пам'яттю, а GPIO18/19 — це лінії USB: якщо їх використати, зникне Serial.

Чотири підводні камені

  1. Serial мовчить. У C3 USB вбудований у сам чип. В Arduino IDE увімкніть Tools → USB CDC On Boot → Enabled, інакше Serial.print() піде на GPIO21, а не в USB.
  2. Світлодіод на GPIO8 горить при LOW. Він підключений між 3.3 В і виводом, тож digitalWrite(8, HIGH) його гасить. До того ж GPIO8 — це SDA за замовчуванням, і з підключеним I2C-модулем світлодіод блимає разом з обміном.
  3. Strapping-піни 2, 8, 9. Під час ввімкнення GPIO9 визначає режим завантаження (LOW — прошивка), а GPIO2 і GPIO8 мають бути HIGH. Не вішайте на них кнопки на GND і навантаження, що тягне до землі.
  4. АЦП до 2.5 В. З максимальним ослабленням ADC у C3 вимірює лише ~0–2.5 В, а не 3.1 В, як класичний ESP32. Потенціометр від 3.3 В «упреться» в 4095 на трьох чвертях ходу — ставте дільник. GPIO5 належить до ADC2, який із Wi-Fi працює ненадійно, тож для аналогових входів беріть GPIO0–4.

Налаштування Arduino IDE

  • Встановіть esp32 by Espressif 3.x у Boards Manager.
  • Плата: ESP32C3 Dev Module (або «Nologo ESP32C3 Super Mini», якщо є).
  • USB CDC On Boot: Enabled, Flash Mode: DIO.
  • Якщо прошивка не починається: затисніть BOOT, натисніть і відпустіть RESET, відпустіть BOOT — плата в режимі завантажувача.

Перший скетч

// ESP32-C3 SuperMini: блимаємо вбудованим світлодіодом (активний LOW)
const int LED = 8;

void setup() {
  Serial.begin(115200);   // потрібно USB CDC On Boot: Enabled
  pinMode(LED, OUTPUT);
}

void loop() {
  digitalWrite(LED, LOW);    // увімкнено
  Serial.println("LED on");
  delay(500);
  digitalWrite(LED, HIGH);   // вимкнено
  Serial.println("LED off");
  delay(500);
}

Спробуйте в симуляторі

Симулятор знає SuperMini: оберіть плату ESP32-C3 SuperMini у списку поруч із прикладами, і будь-який приклад відкриється з перенесеними виводами. Наприклад, Blink, потенціометр і ШІМ (зверніть увагу, як АЦП упирається в 2.5 В) або метеостанцію AHT20 + BMP280 на I2C 8/9.

Корисно знати

  • Антена. У дешевих SuperMini керамічна антена погано узгоджена, і дальність Wi-Fi помітно менша, ніж у DevKit. Тримайте її подалі від металу й дротів; допомагає WiFi.setTxPower(WIFI_POWER_8_5dBm).
  • Deep sleep. Прокидатися від виводу C3 уміє лише з GPIO0–5 (esp_deep_sleep_enable_gpio_wakeup), ext0/ext1, як у класичного ESP32, тут немає.
  • Живлення від батареї. Подавайте 3.3 В на вивід 3V3 або 3.7–5 В на 5V. Стабілізатор на платі має невеликий запас: Wi-Fi-імпульси до 350 мА від слабкого джерела перезавантажують плату.