Снижение энергопотребления ESP32 до 90%

Опубликовано 12 марта 2026 · 8 минут чтения
График энергопотребления

ESP32 — мощный чип, но в режиме постоянного Wi-Fi он потребляет 120–240 мА, что убивает батарейные проекты за считанные часы. Ниже — практический набор приёмов, которые я применяю в своих устройствах на ESP32-S3 и C3.

1. Откажитесь от постоянного Wi-Fi

Вместо поддержания соединения 24/7 используйте цикл «проснулся → отправил данные → уснул». Для MQTT это означает подключение раз в N минут и отправку накопленных показаний пакетом.

esp_wifi_stop();
esp_sleep_enable_timer_wakeup(300ULL * 1000000ULL);
esp_deep_sleep_start();

2. Light Sleep с сохранением соединения

Если нужен постоянный приём, Light Sleep позволяет сохранить ассоциацию с точкой доступа и просыпаться по прерыванию от периферии. Потребление падает со ~120 мА до 0.8 мА.

3. Отключите неиспользуемые периферии

4. Понизьте частоту CPU

Для большинства сенсорных задач хватает 80 МГц вместо 240. Это снижает активное потребление на ~30%.

Результат

Комбинация Deep Sleep + отключение Wi-Fi + оптимизация GPIO дала 92% экономии в моём проекте датчика температуры: с 3 дней до 38 дней на одной батарее 18650.