1. Название и модель
В Litter-Robot 4 модуль ESP32 не крутит барабан сам. Он переносит команды между облаком Whisker и основной платой на PIC. Логика цикла, концевики и защитные остановки остаются на PIC. Замена прошивки ESP32 убирает облако, но не переписывает эти защиты.
Публичная прошивка и описание протокола UART лежат в Joseph-DiGiovanni/esphome-litter-robot. На devices.esphome.io отдельной карточки LR4 может не быть: источник — этот репозиторий, а не витрина.
Сначала снимите полный дамп штатной прошивки ESP32. Автор репозитория прямо пишет, что исходную прошивку можно записать обратно и вернуть заводское поведение.
2. Что даёт перепрошивка
- Локальное управление и статусы в Home Assistant вместо аккаунта Whisker
- Команды уходят на PIC по уже разобранному UART, а не через сервер производителя
- Защитные сценарии основной платы не заменяются самодельным ШИМ мотора
- Возможность вернуть заводскую прошивку ESP32 из своего дампа
3. Что теряется
- Приложение Whisker и облачные уведомления
- Подписочные функции, которые жили только на сервере
- Гарантия и сервисная политика производителя после вскрытия
- Любая команда, которую репозиторий ещё не описал. Недостающий байт нельзя «додумать» и послать на PIC
- Litter-Robot 3 этим репозиторием официально не покрыт. Похожая схема возможна, но протокол LR3 нужно снимать отдельно
4. Что понадобится
- Программатор с интерфейсом ESP-Prog. В инструкции репозитория фигурирует ESP-Prog-2 и его шлейф
- Незапаянный шестиконтактный разъём шагом 1,27 мм на основной плате. Либо паяют провода к площадкам, либо ставят штатную гребёнку под этот шлейф
- USB–UART на 3,3 В, если идёте проводами, а не шлейфом программатора
esptoolи привычка сначала читать флеш целиком в файл, и только потом стирать- Время на чтение UART-справочника в том же репозитории. Без него гайд превращается в набор кнопок без смысла
5. Разборка и пины
Программатор USB–UART подключают к модулю, который прошивают, крест-накрест:
- Земля переходника (GND) — на землю платы. Этот провод обязателен.
- TX переходника — на RX модуля. На плате площадка часто подписана RX, RXD или RXD0.
- RX переходника — на TX модуля. На плате это TX, TXD или TXD0.
- Питание логики — 3,3 В. Пять вольт на эти площадки не подают. Если плату уже кормит её блок, линию 3,3 В с переходника не подключают вторым источником.
- Для входа в загрузчик ESP8266 и ESP32 площадку GPIO0 (IO0, BOOT) замыкают на землю и в этот момент подают питание. После старта записи землю с GPIO0 снимают.
Если у этой модели в тексте ниже другие имена площадок, прямой порядок TX–TX или прошивка по USB, делайте как написано там. Общая схема выше — для обычного модульного UART.
Нужен доступ к основной плате, где ESP32 стоит рядом с незапаянным отладочным разъёмом ESP-Prog. Площадки рассчитаны на поверхностный разъём 1,27 мм, 6 контактов. Пока разъёма нет, шлейф из комплекта программатора подключить некуда.
Дальше два рабочих пути из руководства репозитория:
- припаять провода прямо к площадкам
- впаять разъём 1,27 мм и пользоваться шлейфом
Питание и линии загрузчика берите из схемы в Firmware Flashing Guide того репозитория, под свою ревизию платы. На этой странице нет отдельной таблицы GPIO: у моста она короткая и её легко перепутать с пинами PIC. PIC не прошивают и к его тестовым точкам программатор ESP32 не подключают.
Перед записью ESPHome сохраните заводской образ. Имя файла и объём флеша запишите рядом: восстанавливать «примерно тот же бинарник из интернета» нечем, если вы не сохранили свой.
6. Прошивка
Готового файла «прошивка именно этой модели» на этом сайте нет. Её собирает ESPHome из текстового конфига YAML: туда входят Wi-Fi, пины и команды второго чипа. Чужой .bin из интернета почти наверняка собран с чужим паролем сети.
Какую программу ставить
- ESPHome Dashboard — дополнение в Home Assistant или программа на компьютере. В ней пишут YAML, нажимают Install, и она сама собирает прошивку. Установка: дополнение для Home Assistant или команда
pip install esphome. - ESPHome Web, сайт web.esphome.io, — загрузчик в браузере Chrome или Edge. Им записывают уже собранный
.binна ESP8266 и ESP32 через USB–UART. На BK72xx он не рассчитан. - esptool — программа Espressif, чтобы снять заводскую копию флеша и записать
.bin, если браузер порт не видит. Репозиторий: espressif/esptool. - ltchiptool — то же самое для чипов Beken BK72xx (модули WB3S, WBR3, CB3S и похожие). ESPHome для них собирается через LibreTiny. Программа: libretiny-eu/ltchiptool, описание платы: компонент bk72xx.
Как собрать конфиг
- В Dashboard нажмите New Device и выберите чип, который стоит на плате: ESP8266, ESP32 или BK72xx. Имя — латиницей, без пробелов.
- Пароль Wi-Fi уберите в файл
secrets.yamlрядом с конфигом. В YAML оставьтеssid: !secret wifi_ssidиpassword: !secret wifi_password. - Блок UART, модель и скорости из раздела ниже вставьте в этот файл. Полный пример, если он длинный, берите по ссылке в источниках внизу страницы, а не из гайда соседней модели.
- Строки
api:иota:оставьте. Безapi:Home Assistant устройство не увидит. Ключ шифрования Dashboard предлагает сам, его потом спросит интеграция ESPHome.
Как залить первый раз
- Подключите USB–UART, как в разделе «Разборка и пины»: земля переходника на землю платы, TX переходника на RX модуля, RX переходника на TX модуля. Логика 3,3 В. Имена площадок на конкретной плате — там же.
- Для ESP8266 и ESP32 замкните GPIO0 (IO0, BOOT) на землю и в этот момент подайте питание. Для BK72xx ltchiptool сам просит перезапустить чип, обычно кратким отключением земли.
- В Dashboard: Install → Plug into this computer, выберите порт переходника. Либо Install → Manual download, сохраните
.binи откройте его на web.esphome.io. Из терминала то же самое делаетesphome run имя-устройства.yaml. - Когда в логе появится IP-адрес, GPIO0 от земли отпустите, провода можно отпаять. Следующие обновления идут по Wi-Fi, пункт OTA, паяльник больше не нужен.
Дальше — только то, чем эта модель отличается от общей схемы.
Порядок, который следует из описания проекта:
- Разобрать до отладочного разъёма и подключиться программатором на 3,3 В
- Считать штатную прошивку ESP32 и убрать копию с рабочего стола в отдельное место
- Собрать пакет ESPHome из репозитория на Codeberg для Litter-Robot 4
- Записать его в ESP32
- Проверить, что барабан по-прежнему отказывается делать опасные движения сам по себе: это работает PIC, и после прошивки моста он должен вести себя как раньше
Протокол кадров разобран в документе Litter Robot 4 UART Reference в том же репозитории. Имеет смысл читать его до того, как менять YAML: так видно, какая сущность Home Assistant какой команде соответствует.
Litter-Robot 3 Connect автор не проверял. Если у вас третье поколение, этот гайд не ваш чеклист. Максимум, чем LR3 полезен сообществу, — аккуратный дамп линии между PIC и ESP32, а не запись чужого бинарника LR4.
Базовый конфиг этой модели с карточки или из репозитория компонента. Wi-Fi, пароль и OTA задайте как в общем разделе выше. Пароли из исходника сюда не перенесены.
# litter-robot4.yaml
substitutions:
name: litter-robot4
friendly_name: Litter Robot 4
version: 2026.9.2
esphome:
name: "${name}"
friendly_name: "${friendly_name}"
name_add_mac_suffix: true
project:
name: Joseph DiGiovanni.Litter Robot 4
version: ${version}
logger:
dashboard_import:
package_import_url: codeberg://Joseph-DiGiovanni/esphome-litter-robot/litter-robot4.yaml@LR4/stable
import_full_config: false
external_components:
source:
type: git
url: https://codeberg.org/Joseph-DiGiovanni/esphome-litter-robot.git
ref: LR4/${version}
packages:
base_config: !include packages/litter-robot4/base.yaml
sleep_schedule: !include packages/litter-robot4/sleep-schedule.yaml
wifi: !include packages/litter-robot4/wifi.yaml
hopper: !include packages/litter-robot4/hopper.yaml
smart_detection: !include packages/litter-robot4/smart-detection.yaml
cat_tracking: !include { file: packages/cat-tracking.yaml, vars: { weight_sensor_id: last_cat_weight } }
custom_status: !include packages/litter-robot4/custom-status.yaml
7. Настройка в Home Assistant
Устройство добавляется интеграцией ESPHome, как и остальные гайды. На панель имеет смысл вынести статус цикла, команду уборки и ошибки, которые репозиторий уже отдал сущностями.
Не дублируйте защиту самодельными автоматизациями вида «крутить мотор, пока не надоест». Мотор здесь не прямой GPIO. Автоматизация может запросить цикл, а остановить его по концевику должна основная плата, как в штатной логике.
Уведомление о полном ящике или прерванном цикле повесьте на сущности ошибок из прошивки. Текст берите из их имён в актуальном пакете, они точнее любого пересказа.
8. Известные баги и как их обойти
- Запись ESPHome без дампа заводской прошивки. Откат тогда возможен только если образ ещё лежит у кого-то с той же ревизии, и это слабая надежда
- Подключение программатора к пинам PIC вместо разъёма ESP32. Основной контроллер так не обновляют
- Ожидание, что LR3 примет пакеты LR4. Автор репозитория отдельно просит снимать трафик третьего поколения, а не предполагает совместимость
- Шаг разъёма 2,54 мм «почти подходит» визуально и не подходит по факту. Нужен 1,27 мм
- Обход или отключение защит основной платы в этот проект не входит и для локального управления не нужен. Если цикл не стартует, ищите ошибку датчика в статусе PIC, а не способ её замаскировать
9. Источники
- GitHub Joseph-DiGiovanni/esphome-litter-robot https://codeberg.org/Joseph-DiGiovanni/esphome-litter-robot
- Документация Документация ESPHome https://esphome.io/
- Документация Home Assistant https://www.home-assistant.io/