ESP32-C3 SuperMini: розпіновка, підводні камені і перший скетч
Плата розміром з ніготь за ціною двох кав: Wi-Fi, Bluetooth 5 і USB-C. Але Serial мовчить, світлодіод горить навпаки, а АЦП бачить лише 2.5 В. Розбираємо розпіновку, strapping-піни і налаштування Arduino IDE, щоб SuperMini запрацювала з першого разу.
Про плату
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.
Чотири підводні камені
- Serial мовчить. У C3 USB вбудований у сам чип. В Arduino IDE увімкніть Tools → USB CDC On Boot → Enabled, інакше
Serial.print()піде на GPIO21, а не в USB. - Світлодіод на GPIO8 горить при LOW. Він підключений між 3.3 В і виводом, тож
digitalWrite(8, HIGH)його гасить. До того ж GPIO8 — це SDA за замовчуванням, і з підключеним I2C-модулем світлодіод блимає разом з обміном. - Strapping-піни 2, 8, 9. Під час ввімкнення GPIO9 визначає режим завантаження (LOW — прошивка), а GPIO2 і GPIO8 мають бути HIGH. Не вішайте на них кнопки на GND і навантаження, що тягне до землі.
- АЦП до 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 мА від слабкого джерела перезавантажують плату.