Уроки / Урок 1

Подготовка: Arduino IDE и драйвер

Ставим ядро ESP32, драйвер CH340 и загружаем первый скетч.

Плату программируют в Arduino IDE 2.x. В отличие от ESP32-C3, у классической ESP32 нет своего USB: на плате стоит отдельная микросхема-переходник CH340C, которая превращает USB в последовательный порт. Для неё может понадобиться драйвер.

1. Ядро ESP32

  • Откройте Файл → Параметры и в поле «Дополнительные ссылки для менеджера плат» вставьте:
    https://espressif.github.io/arduino-esp32/package_esp32_index.json
  • Откройте Инструменты → Плата → Менеджер плат, найдите esp32 от Espressif Systems и установите версию 3.x.

2. Драйвер CH340

  • Windows 10/11 обычно ставит драйвер сам. Если в «Диспетчере устройств» плата видна как неизвестное устройство, скачайте драйвер CH340 для Windows (проверен на Windows), распакуйте архив, откройте папку CH340/ch341ser_windows, нажмите правой кнопкой на файл CH341SER.INF и выберите «Установить». После этого переподключите плату — в «Диспетчере устройств» появится USB-SERIAL CH340 (COMx).
  • Linux: драйвер встроен в ядро, порт появится как /dev/ttyUSB0. В Ubuntu порт иногда сразу пропадает — его забирает программа для шрифта Брайля. Лечится так: sudo apt remove brltty.
  • macOS: свежие версии системы видят CH340 без драйвера, порт называется /dev/cu.usbserial-….

3. Настройки платы

  • Плата: ESP32 Dev Module
  • Flash Size: 4MB (32Mb)
  • Upload Speed: 921600; если загрузка сбоит — 115200
  • Порт: COMx в Windows, /dev/ttyUSB0 в Linux

4. Проверка

Загрузите пустой скетч кнопкой «Загрузка». Если в конце видно Hard resetting via RTS pin... — всё работает.

void setup() {
}

void loop() {
}

Висит надпись Connecting........? Зажмите на плате кнопку BOOT и держите, пока не побегут проценты загрузки, затем отпустите. Если так приходится делать каждый раз, проблема обычно в кабеле или в том, что к GPIO0, GPIO2 или GPIO12 что-то подключено.

Много кабелей USB-C годятся только для зарядки — в них нет проводов для данных. Если компьютер вообще не видит плату, первым делом попробуйте другой кабель.

В Linux, если нет доступа к порту, добавьте себя в группу dialout: sudo usermod -aG dialout $USER и перезайдите в систему.