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

Как проверить ESP32 на работоспособность?

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

Проверка ESP32 сводится к трём вопросам: есть ли питание, отвечает ли чип по USB и запускается ли программа из флеш-памяти. На все три отвечают мультиметр, утилита esptool и монитор последовательного порта.

ШагЧто сделатьЧто значит результат
Питаниеизмерить мультиметром напряжение на выводе 3V3около 3,3 В — стабилизатор платы работает
Связьesptool flash-idтип чипа, кварц, MAC и размер флеш — чип и флеш исправны
Загрузкамонитор порта 115 200 бит/с, нажать ENстроки rst: и boot: — ПЗУ работает, видна причина сброса

Что покажет esptool

При подключении esptool v5 сам сообщает о чипе, например:

Connected to ESP32 on COM4:
Chip type: ESP32-D0WD (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, ...
Crystal frequency: 40MHz
MAC: ...

Команда flash-id добавляет к этому производителя и тип флеш-памяти и её размер — например, 4 МБ. Если esptool не может подключиться, загляните в разбор ошибок на странице «Прошивка ESP32»: чаще всего чип не вошёл в режим загрузки, или порт занят другой программой.

Журнал загрузки

После сброса ПЗУ печатает строку вида rst:0x1 (POWERON_RESET), boot:0x… (…). Первая часть — причина сброса, вторая — уровни strapping-выводов. SPI_FAST_FLASH_BOOT означает обычную загрузку из флеш, DOWNLOAD_BOOT — режим прошивки. Ошибка Invalid header по адресу 0x1000 говорит, что загрузчика нет или чип не может прочитать флеш-память.

Питание

ESP32 потребляет до 70 мА постоянно и 200–300 мА в пиках. Выхода 3,3 В преобразователя FT232R или платы Arduino для него недостаточно — чип может работать через раз. Если напряжение проседает под нагрузкой, срабатывает детектор провала питания, и плата перезагружается. Выводы, питание и кнопки отладочной платы разобраны на странице ESP32-DevKitC.

Похожие вопросы

Что значит «No serial data received» при проверке ESP32?

По документации esptool — что от чипа не пришло ни одного байта. Обычно это аппаратная проблема: плата не работает, линии RX и TX не подключены или чип не удаётся сбросить в режим загрузки. Проверьте кабель, порт и питание 3,3 В.

Можно ли проверить ESP32 без прошивки?

Да: esptool flash-id и read-mac работают через загрузчик в ПЗУ и ничего не записывают во флеш. Если они отвечают, чип, флеш-память и связь по USB исправны, а текущая программа на плате остаётся нетронутой.

Почему ESP32 перезагружается сам по себе?

Одна из причин — питание: ESP32 потребляет до 200–300 мА в пиках, и слабый источник или тонкие провода дают провалы напряжения. Причину сброса показывает журнал загрузки в строке rst:0xNN. Espressif советует источник с большим током, конденсаторы на линии питания и короткие провода.

Источники

  1. Espressif. esptool Documentation (latest), ESP32: Flashing Firmware — пример вывода esptool v5.0 при подключении: Connecting…, Chip type: ESP32-D0WD (revision 1), Features: WiFi, BT, Dual Core, 240MHz…, Crystal frequency: 40MHz, MAC, Auto-detected flash size: 4MB
  2. Espressif. esptool Documentation (latest), ESP32: Basic Commands — read-mac — чтение встроенного MAC-адреса; flash-id — идентификатор SPI-флеш: Manufacturer, Device и Detected flash size
  3. Espressif. esptool Documentation (latest), ESP32: Boot Mode Selection — после сброса ПЗУ ESP32 на 115 200 бит/с второй строкой печатает rst:0xNN (причина сброса) и boot:0xNN (уровни strapping-выводов); DOWNLOAD_BOOT — режим прошивки, SPI_FAST_FLASH_BOOT — обычная загрузка из флеш; Invalid header at 0x1000 — нет загрузчика или неисправна связь с флеш-памятью или её питание
  4. Espressif. esptool Documentation (latest), ESP32: Troubleshooting — проверить мультиметром 3,3 В и уровни выводов; питание до 70 мА постоянно и 200–300 мА в пиках; выхода 3,3 В FT232R и плат Arduino недостаточно; No serial data received — аппаратная проблема или не подключены RX и TX; Wrong boot mode detected — не срабатывает автосброс; Invalid head of packet — плохой кабель USB, макетная плата замыкает выводы флеш или провал питания

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