ESP32

ESP32-S3 в Arduino IDE: как настроить плату и загрузить скетч

Дата публикации:

491 2

Для первого запуска ESP32-S3 в Arduino IDE установите пакет Espressif, выберите плату и настройте память и USB-подключение. Ниже – пошаговая инструкция, пример настроек для модуля N8R8 и тестовый скетч, который каждую секунду выводит сообщение в Serial Monitor.

Настройка платы ESP32-S3 в Arduino IDE перед загрузкой программы.

Установка поддержки ESP32 в Arduino IDE

Инструкция рассчитана на Arduino IDE 2.x и официальный пакет esp32 by Espressif Systems.

Откройте настройки Arduino IDE: в Windows и Linux – File → Preferences, в macOS – настройки приложения Arduino IDE. Найдите поле Additional Boards Manager URLs и добавьте адрес:

https://espressif.github.io/arduino-esp32/package_esp32_index.json

Если в поле уже есть адреса других пакетов, сохраните их и добавьте новый через окно редактирования списка.

Далее:

  • Откройте Tools → Board → Boards Manager или менеджер плат на левой панели.
  • Введите в поиске esp32.
  • Найдите пакет esp32 by Espressif Systems.
  • Установите стабильную версию и дождитесь завершения установки.

После установки откройте Tools → Board → esp32. В списке должен появиться профиль ESP32S3 Dev Module.

Определите USB-разъём платы

ESP32-S3 можно подключать к компьютеру через отдельный USB-UART преобразователь или непосредственно через встроенный USB микроконтроллера. От способа подключения зависит настройка вывода сообщений.

Способ подключенияКак определитьКуда поступают сообщения при настройках из инструкции
USB-UARTРазъём подключён к CP210x, CH340 или другому преобразователю; часто обозначен UARTВ последовательный порт USB-UART преобразователя
Встроенный USB ESP32-S3Разъём подключён непосредственно к микроконтроллеру; часто обозначен USB или OTGВ USB Serial/JTAG порт ESP32-S3

Обозначения разъёмов у разных производителей отличаются. Если на плате два разъёма, проверьте их назначение в документации. По форме USB Type-C определить способ подключения нельзя.

Для первого запуска подключите один выбранный разъём кабелем с передачей данных. Кабель только для зарядки может питать плату, но последовательный порт через него не появится.

Выберите плату

Откройте Tools → Board → esp32 → ESP32S3 Dev Module.

Этот профиль подходит для базовой проверки многих плат на ESP32-S3. Если производитель вашей платы рекомендует другой профиль, используйте его настройки.

ESP32 Dev Module и ESP32S3 Dev Module – разные профили. Для ESP32-S3 выбирайте вариант с S3 в названии.

Для платы с дисплеем или камерой универсальный профиль позволяет проверить запуск микроконтроллера, но для работы встроенной периферии дополнительно понадобятся её распиновка и библиотеки.

Настройте Flash и PSRAM

Посмотрите полную маркировку модуля на металлическом экране или характеристики платы у производителя.

Например, ESP32-S3-WROOM-1-N8R8 имеет:

  • 8 МБ Flash;
  • 8 МБ PSRAM с интерфейсом Octal SPI.

Для этого модуля в меню Tools установите:

ПараметрЗначение для ESP32-S3-WROOM-1-N8R8
BoardESP32S3 Dev Module
Flash Size8MB (64Mb)
Flash ModeQIO 80MHz
PSRAMOPI PSRAM
Partition Scheme8M with spiffs (3MB APP/1.5MB SPIFFS)
Upload Speed115200 для первой проверки через USB-UART

Upload Speed относится к скорости прошивки через UART. Для встроенного USB этот параметр не задаёт скорость USB-соединения.

У модулей ESP32-S3-WROOM-1 встречаются и другие варианты памяти:

МаркировкаFlash SizePSRAM
N44MB (32Mb)Disabled
N88MB (64Mb)Disabled
N1616MB (128Mb)Disabled
N8R28MB (64Mb)QSPI PSRAM
N8R88MB (64Mb)OPI PSRAM
N16R816MB (128Mb)OPI PSRAM

Для другой ёмкости Flash выберите схему разделов, которая помещается в установленную память. Для небольшого тестового скетча схема Default 4MB with spiffs подходит и для модуля с 8 или 16 МБ Flash, но использует только часть доступной памяти.

Если тип PSRAM пока неизвестен, для приведённого ниже теста можно временно выбрать Disabled: скетч не использует внешнюю оперативную память. Объём и режим Flash всё равно должны соответствовать плате.

Подробнее о маркировке – в материале ESP32-S3: разновидности, память, интерфейсы и применение.

Настройте USB и Serial Monitor

Для первой проверки используйте один из двух вариантов:

Параметр в ToolsЧерез USB-UARTЧерез встроенный USB ESP32-S3
USB ModeHardware CDC and JTAGHardware CDC and JTAG
USB CDC On BootDisabledEnabled
Upload ModeUART0 / Hardware CDCUART0 / Hardware CDC
USB DFU On BootDisabledDisabled
USB Firmware MSC On BootDisabledDisabled

В выбранной конфигурации USB CDC On Boot → Disabled направляет обычный Serial в UART0. Это удобно при подключении через USB-UART преобразователь.

При USB CDC On Boot → Enabled и USB Mode → Hardware CDC and JTAG обычный Serial использует встроенный USB Serial/JTAG ESP32-S3.

Поэтому возможна ситуация, когда прошивка загрузилась через USB-UART, а сообщений в его порту нет: при включённом USB CDC скетч выводит их через другой интерфейс.

Названия и доступность пунктов могут отличаться в зависимости от версии пакета и выбранного профиля. Для этой проверки режим USB-OTG (TinyUSB) не требуется.

Выберите порт

Подключите плату и откройте Tools → Port.

Чтобы определить её порт:

  • Посмотрите список портов без подключённой платы.
  • Подключите плату.
  • Снова откройте список и выберите появившийся порт.

В Windows это обычно COM с номером, в macOS – имя вида /dev/cu…, в Linux – /dev/ttyACM… или /dev/ttyUSB….

Если новый порт не появился, попробуйте другой кабель с передачей данных и прямое подключение к компьютеру. При использовании USB-UART проверьте, определяется ли преобразователь в системе и нужен ли ему драйвер.

Для встроенного USB также попробуйте ручной вход в загрузчик, описанный ниже.

Создайте проверочный скетч

Откройте File → New Sketch, удалите исходное содержимое и вставьте:

#include <Arduino.h> unsigned long lastMessageMs = 0; unsigned long counter = 0; void setup() { Serial.begin(115200); } void loop() { const unsigned long now = millis(); if (now - lastMessageMs >= 1000UL) { lastMessageMs = now; Serial.print("ESP32-S3 OK, counter = "); Serial.println(counter++); } }

Скетч каждую секунду отправляет сообщение в Serial Monitor. Он не требует Wi-Fi, внешних компонентов или дополнительных библиотек.

Интервал задаётся через millis(), без задержек delay(). Между сообщениями цикл loop() продолжает выполняться, поэтому в него можно добавить опрос кнопок, датчиков и другие задачи. Вычисление разницы времени корректно работает и при переполнении счётчика millis().

Повторяющийся вывод позволяет проверить работу платы, даже если Serial Monitor открыли спустя несколько секунд после её запуска.

Загрузите скетч

Сохраните скетч и нажмите Verify – кнопку с галочкой. Дождитесь успешной компиляции.

Затем нажмите Upload – кнопку со стрелкой вправо. Arduino IDE скомпилирует скетч и начнёт прошивку выбранного устройства.

Успешная компиляция ещё не означает, что программа записана в плату. Дождитесь завершения этапа загрузки без ошибок.

Если прошивка останавливается на Connecting... или появляется сообщение Failed to connect, переведите плату в загрузчик вручную:

  • Нажмите и удерживайте BOOT.
  • Не отпуская BOOT, коротко нажмите RESET или EN.
  • Отпустите RESET, затем BOOT.
  • Снова проверьте Tools → Port: при встроенном USB порт может измениться.
  • Выберите порт платы и повторите Upload.

Если кнопки RESET нет, обычно можно отключить USB, удерживать BOOT и подключить USB снова. После подключения отпустите BOOT.

После первой прошивки через встроенный USB нажмите RESET, чтобы запустить программу. Если плата осталась в загрузчике после ручного входа, также выполните сброс с отпущенной кнопкой BOOT.

Проверьте результат в Serial Monitor

Откройте Tools → Serial Monitor и установите скорость 115200.

При подключении через встроенный USB после сброса повторно проверьте выбранный порт.

Пример ожидаемого вывода:

ESP32-S3 OK, counter = 0 ESP32-S3 OK, counter = 1 ESP32-S3 OK, counter = 2 ESP32-S3 OK, counter = 3

Первое видимое число может быть больше нуля, если монитор открыт после запуска программы.

Если счётчик увеличивается примерно раз в секунду, скетч успешно загружен, выполняется и передаёт сообщения через выбранный интерфейс.

Эта проверка подтверждает базовый запуск платы. Работу Wi-Fi, PSRAM и встроенной периферии нужно проверять отдельными примерами.

Если загрузка или проверка не проходит

СимптомЧто проверить и сделать
ESP32S3 Dev Module отсутствует в спискеПроверьте установку пакета esp32 by Espressif Systems и дождитесь её завершения
Порт не появляетсяЗамените кабель, проверьте назначение разъёма; для встроенного USB попробуйте BOOT и RESET
Failed to connect или зависание на ConnectingВойдите в загрузчик через BOOT и RESET, повторно выберите порт и запустите Upload
Wrong chip argument или указание другого семейства ESP32Выберите ESP32S3 Dev Module вместо профиля обычного ESP32
Передача обрывается во время прошивкиПроверьте кабель и питание; при USB-UART снизьте Upload Speed до 115200
Загрузка завершилась, но сообщений нетНажмите RESET с отпущенным BOOT, проверьте порт и соответствие USB CDC On Boot способу подключения
В мониторе нечитаемые символы через USB-UARTУстановите 115200, как в Serial.begin()
Ошибка инициализации PSRAMПроверьте её наличие и тип; для тестового скетча временно установите PSRAM → Disabled
Счётчик постоянно начинается зановоПлата перезапускается: проверьте питание, настройки Flash и сообщения об ошибках перед перезапуском

Если компиляция завершается ошибкой до начала Upload, кнопка BOOT не поможет. Сначала разберите сообщение компилятора: возможны неверный профиль платы, отсутствующая библиотека или ошибка в коде.

Если приведённый тест работает, переходите к основному проекту и подключайте библиотеки и периферию поэтапно.

Обновлено:

Email не публикуется и используется только для уведомлений. Ссылки в комментариях запрещены. Комментарий появится после проверки модератором.

Комментарии (2)

  1. читарь

    нет решения чепуху пустую написали вы

    1. Редакция Clex.kz

      Дополнили инструкцию: добавили конкретные настройки USB и памяти, тестовый скетч и проверку результата. Если проблема осталась, укажите модель платы и текст ошибки – разберём ваш случай.

Связанные решения

Материалы CLEX по теме

Статья

Arduino, ESP32 и Raspberry Pi в одном устройстве

Как использовать Arduino, ESP32 и Raspberry Pi в одном устройстве. Разбираем разделение задач, питание, обмен данными, GPIO, реле, датчики, интерфейс и типовые ошибки при совместной работе плат.

Справочник

ESP32-S3

ESP32-S3 в справочнике CLEX: платы разработки, модули с дисплеями, камерой, Ethernet, Wi-Fi/Bluetooth и материалы по применению ESP32-S3 в проектах.

Товары по теме

Категории товаров

Платы разработки ESP32-S3

Платы разработки ESP32-S3 с Wi-Fi, Bluetooth LE, поддержкой камер, дисплеев, USB и внешней памяти. Для машинного зрения, голосового управления, HMI-интерфейсов, IoT, робототехники и устройств с локальной обработкой данных.