Home Assistant

ESP32 или ESP8266 для самодельного датчика: что выбрать

Чем ESP32 отличается от ESP8266 на практике: выводы, Bluetooth, память, глубокий сон и питание, и для каких датчиков хватает младшей платы.

Проверено редакцией 03.10.2026: характеристики чипов сверены со страницей ESP8266 производителя: максимальная частота ядра 160 МГц, а не 80, как было написано; наличие Bluetooth у ESP32 и его отсутствие у ESP8266 подтверждено там же

ESP32 или ESP8266 для самодельного датчика: что выбрать

Коротко: Для датчика температуры, влажности или открытия в Home Assistant достаточно ESP8266, и переплачивать за ESP32 не нужно. ESP32 берут тогда, когда нужен Bluetooth, много выводов или сложная логика на самой плате. Решают не мегагерцы, а питание, глубокий сон и правильный выбор вывода.

Чем платы отличаются по возможностям

Обе платы это микроконтроллер с Wi-Fi на борту, обе прошиваются ESPHome и обе появляются в Home Assistant как обычное устройство. Разница начинается с ядра: у ESP8266 одно ядро Tensilica L106 с максимальной частотой 160 МГц (на практике его обычно держат на 80), у ESP32 два ядра и частота до 240 МГц. Для одного датчика эта разница не видна вообще, для платы с дисплеем, шиной датчиков и веб-интерфейсом она заметна сразу.

Второе отличие это Bluetooth. У ESP8266 его нет ни в каком виде. У ESP32 есть и классический Bluetooth, и BLE, а значит плата может работать прокси для Bluetooth-устройств Home Assistant. Если в хозяйстве есть датчики BTHome или браслеты, это единственная причина, по которой выбор однозначен.

Третье это память. У ESP8266 оперативной памяти заметно меньше, чем у ESP32, и крупные компоненты ESPHome на неё просто не встают. Для датчика это редко проблема, для Bluetooth-прокси с активными подключениями уже проблема: там производители прошивок прямо советуют платы на ESP32 и жалуются на нехватку памяти, когда включён веб-интерфейс.

Выводы, память и производительность на практике

По числу выводов разница выглядит огромной, но реальность жёстче таблицы. У ESP8266 часть выводов занята флеш-памятью, часть работает только на чтение, часть влияет на загрузку. В итоге у типовой платы вроде D1 mini для датчиков остаётся примерно десять выводов, и не все удобны.

У классического ESP32 на 38 выводов в работе обычно около 25, и почти каждый можно назначить входом или выходом. Этого хватает на несколько реле, шину I2C и дисплей одновременно.

Память важнее частоты. Если прошивка не помещается или падает при старте, дело чаще в нехватке памяти, а не в скорости ядра. ESP8266 тут ограничен сильнее, и именно поэтому часть современных компонентов ESPHome поддерживается только на ESP32.

Что важнее для датчика температуры и влажности

Для этой задачи ESP8266 выигрывает, потому что плате не нужно быть мощной. Достаточно просыпаться раз в несколько минут, снять значение и отправить его в Home Assistant. Лишние ядра и Bluetooth здесь не используются, а стоят дороже.

Датчики вроде DHT22, SHT31 и BME280 работают и на той, и на другой плате. При выборе стоит смотреть не на плату, а на датчик: цифровые датчики по шине I2C занимают всего два вывода, и на ESP8266 их остаётся ещё много.

Что действительно важно, так это питание и сон. Именно от режима сна зависит, проживёт устройство месяц или год, и это важнее любого различия между платами.

Что важнее для датчика движения

Здесь всё зависит от того, будет ли устройство подключено к питанию постоянно. Датчик движения с цифровым выходом отдаёт простой сигнал, и его одинаково хорошо читают обе платы. Для стационарной установки в коридоре хватает платы на ESP8266 с блоком питания, и это самый дешёвый вариант.

Если датчик должен жить на батарейке, картина меняется. Плата обязана почти всё время спать, а просыпаться только по событию. У ESP32 для этого есть пробуждение по выводам RTC: часть выводов умеет будить контроллер по изменению уровня. У ESP8266 такого нет, он просыпается только по таймеру, поэтому событие можно поймать лишь периодическим опросом.

Отсюда практический вывод: стационарный датчик движения в проходном месте это ESP8266, автономный датчик с реакцией на событие это ESP32. Подробнее о том, куда такие датчики ставят, написано в статье про датчики движения и свет.

Что важнее для управления нагрузкой

Для реле и управления нагрузкой на первом месте стоит число свободных выводов, а не скорость. Одно реле занимает один вывод, поэтому даже ESP8266 справится. Но как только к плате добавляются кнопка, датчик, светодиод состояния и индикация, свободные выводы кончаются.

Второй момент это запас по питанию. Управление нагрузкой часто означает, что рядом стоит блок питания или реле, и плата питается от общего источника. Слабый источник приводит к перезагрузкам при переключении реле, и выглядит это как случайные отвалы устройства из сети.

Третий момент это безопасность. Самодельная плата не должна коммутировать 220 вольт напрямую. Используют готовый модуль реле с изоляцией либо заводское реле для щитка, а плата только выдаёт сигнал. О готовых решениях этого класса читайте в разборе умных реле и выключателей.

Питание и глубокий сон

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

У ESP8266 глубокий сон включается по таймеру, и для пробуждения вывод GPIO16 должен быть соединён с выводом сброса. На многих платах этой перемычки нет, и её приходится ставить самостоятельно. Отдельная неприятность: у популярных плат вроде D1 mini USB-микросхема подключена к линии сброса, из-за чего после ухода в сон устройство может не проснуться, если питание идёт через USB. Лечится питанием от отдельного источника на 3,3 вольта.

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

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

Насколько хватает батарейки

Срок жизни батарейки определяется не платой, а режимом. Плата, которая держит Wi-Fi постоянно включённым, съедает даже крупную батарею за считаные дни. Та же плата, которая просыпается раз в несколько минут на пару секунд, живёт месяцами, а при удачном подборе датчика и источника питания счёт может идти на год.

Источник питания важен не меньше. Пальчиковые батарейки и литиевый аккумулятор ведут себя по-разному: у аккумулятора ниже напряжение и есть саморазряд, зато он перезаряжается. Аккумулятор формата 18650 в этой роли обычно удобнее, чем набор элементов AA с держателем.

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

Какие платы брать для ESPHome

Для ESPHome подходят обе линейки, но выбор зависит от того, что вы собираетесь делать. Если устройство должно использовать Bluetooth, вести несколько шин, работать с камерой или сложной логикой, берите ESP32. Если это датчик температуры, влажности, открытия или простое реле, берите ESP8266 и не усложняйте.

При покупке смотрите на три вещи. Первая: есть ли на плате USB-разъём и преобразователь, чтобы прошить устройство без отдельного программатора. Вторая: есть ли схема распиновки именно для этой платы, потому что платы одного размера иногда расходятся по выводам. Третья: сколько выводов реально выведено на гребёнку, а не нарисовано на схеме.

Ещё стоит учесть, что платы на новых чипах семейства ESP32 отличаются друг от друга набором выводов и наличием Bluetooth. Названия моделей при этом совпадают, поэтому перед заказом полезно сверить распиновку и не полагаться на память.

Типичные ошибки при выборе выводов и питания

Первая и самая частая: считать выводы по картинке. На плате ESP8266 выводы выглядят одинаково, но часть из них занята флеш-памятью, а часть влияет на загрузку. Датчик, подключённый к такому выводу, либо не работает, либо мешает плате запуститься.

Вторая: питание от случайного зарядного блока. Слабый или дешёвый блок даёт просадку в момент подключения к Wi-Fi, и устройство перезагружается. Симптомы при этом выглядят как программная ошибка: устройство то появляется в сети, то исчезает.

Третья: глубокий сон без аппаратной подготовки. На ESP8266 его нельзя включить только настройкой, нужна перемычка между GPIO16 и выводом сброса, а питание через USB может мешать пробуждению.

Четвёртая: длинные провода до датчика. Цифровой датчик на нескольких метрах провода работает нестабильно. Если плата и датчик разнесены, надёжнее поставить плату рядом с датчиком, а данные передавать по Wi-Fi.

Пятая: попытка запитать самодельную плату от сети 220 вольт без развязки. Это не вопрос удобства, а вопрос безопасности. Нужен изолированный блок питания, рассчитанный на работу от сети.

Когда переплата за ESP32 оправдана

Переплата оправдана ровно в четырёх случаях. Нужен Bluetooth: свой датчик BTHome или прокси для чужих устройств. Нужно много выводов: несколько реле, дисплей, кнопки и шина датчиков на одной плате. Нужна вычислительная мощность: обработка сигнала, камера, распознавание, сложные вычисления на самой плате. Нужен автономный датчик, который просыпается по событию, а не по таймеру.

Во всех остальных случаях ESP32 это просто более дорогая плата с неиспользуемыми возможностями. Разрыв в цене между платами невелик, поэтому иногда ESP32 берут на вырост, чтобы потом не переделывать корпус и прошивку. Это разумно, если вы точно знаете, что задача будет усложняться.

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

Когда ESP32 не нужен

Для датчика температуры и влажности в комнате, для датчика открытия двери, для датчика протечки и для простого реле хватает ESP8266. Такие устройства работают годами, отдают данные в Home Assistant и не требуют ни Bluetooth, ни большой памяти.

Отдельно стоит сказать про другие протоколы. Если задача это батарейный датчик на годы и десяток точек по дому, разумнее смотреть не в сторону Wi-Fi, а в сторону Zigbee: там батарейные устройства проектировались именно под это. Как устроена такая сеть, разобрано в статье про Zigbee в квартире.

И ещё один вариант: если разница в цене не важна, а хочется универсальности, берите ESP32 и не думайте. Вреда от лишней мощности нет, кроме чуть большего потребления в рабочем режиме.

Частые вопросы

Хватит ли ESP8266 для датчика температуры и влажности

Да, для одного датчика этого достаточно. Плата снимает показания и отправляет их в Home Assistant. Ограничение начинается там, где нужно много выводов, Bluetooth или сложная логика на самой плате.

Почему моя плата не просыпается после глубокого сна

У ESP8266 для пробуждения нужна перемычка между выводом GPIO16 и выводом сброса, иначе плата заснёт навсегда. Кроме того, на многих платах USB-микросхема подключена к линии сброса и мешает пробуждению при питании через USB. Помогает питание от отдельного источника на 3,3 вольта.

Что выбрать, если нужен датчик движения на батарейке

Если датчик должен реагировать на событие, а не просыпаться по расписанию, берите ESP32. У него есть пробуждение по выводам, а у ESP8266 только таймер, поэтому событие можно поймать лишь периодическим опросом. При питании от сети разница не важна.

Насколько вырастет срок работы от батарейки при переходе на ESP32

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

Правда ли, что для ESPHome нужна именно ESP32

Нет. ESPHome поддерживает обе линейки плат. ESP32 обязателен только для отдельных возможностей: Bluetooth-прокси, некоторых компонентов и пробуждения по выводам. Всё остальное одинаково работает и на ESP8266, который дешевле.

Что почитать дальше

Войти, чтобы поставить лайк
ФОРУМ

Обсуждение статьи

Обсуждений пока нет. Вопрос по этой статье можно задать в форуме — тема будет связана с материалом.

Открыть тему по статье

Комментарии

Войдите, чтобы оставить комментарий.