Частые причины
-
🔌
Недостаточное питание
ESP32 требует стабильного питания 3,3В с достаточным током. Низкокачественные USB-порты или слабые регуляторы могут вызвать нестабильность.
-
⚡
Просадки напряжения при задачах с высоким током
Такие действия, как передача WiFi или использование GPIO, могут вызвать внезапные скачки тока, которые приводят к brownout или сбросам.
-
🔌
Неисправный или зарядный USB-кабель
Некоторые USB-кабели только обеспечивают питание или имеют плохую проводимость, что приводит к ненадёжной подаче напряжения.
-
🧰
Аппаратные дефекты или проблемы с пайкой
Неисправные компоненты, плохие соединения или некачественная пайка могут нарушить подачу питания и вызвать нестабильную работу.
Симптомы
Brownout Reset с выводом в последовательный монитор
Отображается как:
rst:0xf (BROWNOUT_RST), boot:0x13 (DOWNLOAD(USB/UART0))
или аналогичное сообщение в последовательном мониторе. Это означает, что ESP32 обнаружил небезопасное падение напряжения - обычно ниже 3,3В - и сбросился в качестве защитной меры. Это часто происходит при загрузке или инициализации WiFi и может воспроизводиться при аналогичных условиях нагрузки.
Перезагрузка при активации WiFi или камеры
ESP32 сбрасывается сразу после инициализации WiFi:
WiFi.begin()
или камеры:
esp_camera_init()
Эти компоненты потребляют внезапный скачок тока до 300–500 мА, и если источник питания не может отреагировать достаточно быстро, происходит brownout. Это особенно распространено на платах ESP32-CAM, питаемых через USB.
Надёжно работает от внешнего питания, нестабильно от USB
Плата работает без проблем при питании через VIN от регулируемого источника питания, но становится нестабильной при питании через USB. Это явно указывает на ограничения тока от USB-порта или высокое сопротивление в USB-кабеле, что вызывает небольшие, но критические просадки напряжения при высокой нагрузке.
Решения
Используйте качественный регулируемый источник питания
Предпочтителен регулируемый источник питания 5В, рассчитанный минимум на 1А (даже если ваш проект обычно потребляет меньше). Ищите низкую пульсацию и быстрый отклик на изменения нагрузки. USB-порты ноутбуков часто динамически ограничивают ток, особенно при питании от батареи. Если вы видите brownout, попробуйте адаптер питания или лабораторный источник, подключённый напрямую к выводу 5В или VIN.
Добавьте конденсатор большой ёмкости возле ESP32
Припаивание конденсатора 470–1000 мкФ с низким ESR между VCC и GND (как можно ближе к ESP32) помогает поглощать кратковременные просадки напряжения. Это особенно эффективно для ESP32-CAM или плат со встроенными регуляторами, которые не рассчитаны на быстрые скачки тока. Для лучших результатов соедините параллельно с керамическим конденсатором 0,1 мкФ для фильтрации высокочастотных помех.
Питайте периферию отдельно
Моторы, сервоприводы, светодиодные ленты и даже OLED-дисплеи I2C могут потреблять резкие всплески тока или создавать шум на общих шинах питания. Подключите эти устройства к собственному регулируемому источнику питания и используйте общий GND с ESP32. Это помогает изолировать ESP32 от нестабильности питания периферии.
Улучшите качество кабеля, порта и проводки
Используйте короткий толстый USB-кабель (например, 24 AWG для линий питания), чтобы минимизировать сопротивление. Избегайте питания через длинные USB-удлинители или хабы, если они не питаются внешне. На макетных платах минимизируйте длину проводов и избегайте совместного использования шины питания ESP32 с шумными или высокотоковыми компонентами. Контакты макетной платы также могут добавлять сопротивление, вызывающее локальную просадку напряжения.
Подробнее
Brownout Reset на ESP32 (rst:0xf)
Если вы видите это в последовательном мониторе:
rst:0xf (BROWNOUT_RST), boot:0x13 (DOWNLOAD(USB/UART0))
Brownout detector was triggered
…это означает, что ESP32 сбросился, потому что напряжение упало слишком низко, даже кратковременно.
Это обычно происходит при запуске, инициализации WiFi или когда периферийные устройства, такие как камеры, начинают потреблять ток.
Ситуации, где это обычно происходит
Brownout редко вызван неисправным кодом или самой платой. Почти всегда это проблема доставки питания.
Некоторые распространённые ситуации:
- Плата сбрасывается сразу после
WiFi.begin() - Код загружается нормально, но падает до достижения
setup() - Работает на одном USB-порту, но не на другом
- Мигание светодиода питания под нагрузкой
- ESP32-CAM не работает на
esp_camera_init()без очевидной ошибки
Шаги для отладки проблемы
Вы можете программно подтвердить причину:
#include "esp_system.h"
void setup() {
Serial.begin(115200);
delay(1000); // дайте Serial стабилизироваться
Serial.println(esp_reset_reason());
// Возвращает ESP_RST_BROWNOUT, если это было причиной
}
Если вы столкнулись с этим, вот что действительно помогает:
1. Лучше питайте
USB-порт ноутбука может обеспечить только 100–300 мА до срабатывания ограничения тока. ESP32 может потреблять 400–500 мА во время запуска WiFi. Попробуйте:
- USB-адаптер питания от сети
- Питаемый USB-хаб
- Подайте 5В напрямую на вывод VIN от регулируемого источника
2. Смените кабель
Низкокачественные USB-кабели часто имеют высокое сопротивление. Технически они могут «работать», но всё равно вызывать достаточную просадку напряжения для срабатывания brownout. Если не уверены, попробуйте короткий толстый кабель - желательно тот, который заряжает другие устройства с высоким потреблением.
3. Добавьте конденсатор
Конденсатор большой ёмкости возле ESP32 может поглощать кратковременные просадки:
+---------+
| ESP32 |
| |--- GND -------+ +---- GND
| | | |
| |--- 3.3V ------+----||--------+
470–1000 мкФ электролитический
Это особенно полезно на платах ESP32-CAM или проектах с использованием WiFi и датчиков вместе.
4. Уменьшите пусковой ток
Отключите WiFi и Bluetooth, если не используете их:
WiFi.mode(WIFI_OFF);
btStop();
Если вашему проекту не нужна полная скорость ЦП:
setCpuFrequencyMhz(80);
Если он простаивает какое-то время:
esp_sleep_enable_timer_wakeup(10 * 1000000); // 10 секунд
esp_deep_sleep_start();
Заключение
Ещё один момент: если замена платы «исправляет» это, это не означает, что оригинальная плата была плохой. У неё может быть просто регулятор с меньшим запасом. Если вы питаете несколько периферийных устройств, рассмотрите возможность изолировать их от питания ESP32.
Brownout не таинственен - это просто сигнал о том, что ваша схема не обеспечивает достаточно чистое питание, достаточно быстро, когда это больше всего нужно.

Быстрая навигация
Дополнительные ресурсы
Всё ещё есть проблема с ESP32? Давайте решим её вместе.
Наш интерактивный мастер устранения неполадок проведёт вас через распространённые проблемы ESP32 и их решения шаг за шагом.
Регистрация не требуется. Начните решать проблемы прямо сейчас!