ToyTool Firmware
Как поставить свою прошивку на SmallTV-Ultra
Как поставить ToyTool Firmware на GeekMagic SmallTV-Ultra из браузера через небольшой установщик, что покажет экран и что делать, если он остановился.

Чтобы сменить прошивку GeekMagic SmallTV-Ultra, его не нужно ни разбирать, ни подключать к компьютеру. У заводской
прошивки есть страница обновления http://<ip-экрана>/update: она принимает файл прошивки по Wi‑Fi из любого браузера.
ToyTool Firmware ставится через неё одной загрузкой: ты загружаешь небольшой установщик, а он сам скачивает полную
прошивку, проверяет её и перезагружается в неё.
Написано для ToyTool Firmware 1.18.0, её установщика 1.0.0 и заводской прошивки GeekMagic V9.0.50.
Перед началом
- Убедись, что это Ultra. ToyTool работает только на GeekMagic SmallTV-Ultra (ESP8266) — не на SmallTV Pro и не на похожих «часах с погодой» на ESP32. Заводская страница обновления сама предупреждает об этом заглавными буквами. Если не уверен, посмотри, какой у тебя SmallTV.
- Запомни версию заводской прошивки. Она на странице Settings рядом с «Model» и «Ver». Установщик рассчитан на V9.0.50.
- Экран должен быть в Wi‑Fi с интернетом. Установщик скачивает прошивку с toytool.work через ту же сеть, к которой подключён экран. Телефон или компьютер, с которого загружаешь файл, — в той же сети.
- Питание — стабильное. Инструкция GeekMagic просит 5 В и не меньше 1 А и предупреждает, что кабели USB-C — USB-C не поддерживаются: используй кабель из коробки.
- Нужна лицензия. ToyTool платная — базовая стоит $3.99 за экран, один раз. Установщик лежит в твоём аккаунте ToyTool в разделе Прошивка, а экран заработает, когда ты привяжешь его к лицензии (до этого он показывает только код активации).
Подключиться к экрану по USB для передачи данных нельзя: порт USB-C только питает его, а микросхемы USB-UART на плате нет. Всё, что ниже, делается по Wi‑Fi.
Зачем установщик, а не сам файл прошивки
Заводская страница обновления записывает новый файл в свободную флеш-память между работающей прошивкой и хранилищем файлов экрана и переключается на него, только когда файл пришёл целиком. На V9.0.50 места там примерно на полмегабайта; файл больше этого она отвергает с ошибкой Not Enough Space (этот текст есть в самой прошивке V9.0.50). ToyTool Firmware больше этого предела, и даже в сжатом виде она к нему вплотную. Установщик маленький, и места ему хватает с запасом:
| Файл | Размер | На заводской V9.0.50 |
|---|---|---|
Установщик ToyTool toytool-installer.bin | 381 КБ | помещается |
ToyTool Firmware 1.18.0 .bin.gz | 500 КБ | впритык к пределу |
ToyTool Firmware 1.18.0 .bin | 724 КБ | не принимается: слишком большой |
GeekMagic FW-Smalltv-Ultra-V9.0.50.bin | 493 КБ | — |
Что он делает, когда запустится: читает сеть Wi‑Fi, которую сохранила заводская прошивка, скачивает ToyTool Firmware с toytool.work и сверяет её с размером и MD5, которые твой аккаунт вписал в установщик, когда ты его скачивал. Заменить установщик может только целый файл, который с ними совпал. В ту же стену упираются и другие проекты для этого экрана: smalltv-mod, например, тоже ставится через маленький загрузчик.
Установка из браузера, по шагам
Скачай установщик. В аккаунте открой Прошивка и нажми Скачать установщик. Получится файл
toytool-installer.bin, около 381 КБ. В каждом скачанном установщике — версия прошивки, которая была актуальной в тот день; более старый файл ставит свою версию, пока мы её храним.
Страница «Прошивка» в аккаунте. Для первой установки с заводской прошивки нужен установщик. - Узнай адрес экрана. Заводская прошивка показывает IP-адрес на экране сразу после подключения к Wi‑Fi, при каждом запуске. Ещё он есть в списке подключённых устройств на роутере.
Открой страницу обновления. В браузере перейди на
http://<ip-экрана>/update, напримерhttp://192.168.1.50/update. На ту же страницу ведёт кнопка 7. Firmware update → UPLOAD на заводской странице Settings.
Заводская страница обновления V9.0.50, отрисованная из страницы внутри файла прошивки. - Загрузи установщик. Нажми Choose File, выбери
toytool-installer.bin, нажми Update — и, как просит сама страница, жди и ничего не трогай. Когда всё готово, страница пишет «Update Success! Rebooting...», и экран перезагружается в установщик. Дальше экран всё сделает сам. Сначала на нём «Ставлю ToyTool», пока он читает сохранённый Wi‑Fi, потом «Подключаюсь к …» с именем твоей сети, потом Ставлю ToyTool… и кольцо, которое заполняется по мере загрузки. Когда файл пришёл и прошёл проверку, экран пишет Готово, перезапуск. Всё это время не выключай его из розетки.

Пока прошивка скачивается, и когда она прошла проверку. Активируй экран. После перезагрузки ToyTool подключается к тому же Wi‑Fi и показывает QR-код и код из шести символов. Наведи на QR-код камеру телефона: откроется твой аккаунт с уже вписанным кодом. Дай экрану имя, если хочешь, и нажми Привязать. Нет камеры — открой аккаунт, нажми Добавить экран и введи код вручную.

Слева — экран активации после установки. Справа — экран привязан, QR-код ведёт к выбору циферблатов. - Выбери циферблаты. Аккаунт предложит несколько для начала. Пока ты не выбрал, экран показывает второй QR-код, который ведёт туда же.
Установщик говорит на том языке, на котором был твой аккаунт, когда ты его скачивал, и ToyTool начинает на нём же.
Если что-то остановилось
Установщик никогда не оставляет экран без выхода: при любой ошибке он коротко пишет, что случилось, а по адресу экрана
открыты две страницы — http://<ip-экрана>/log (что он делал, по шагам) и http://<ip-экрана>/update (чтобы
загрузить файл вручную). Если пишешь нам, журнал с первой страницы — самое полезное, что можно прислать.

- Заводская страница пишет «Not Enough Space». Ты выбрал файл прошивки (
.binили.bin.gz), а не установщик. Выбериtoytool-installer.bin, около 381 КБ. Если не принимается и установщик, на твоей версии заводской прошивки места меньше, чем на V9.0.50, — напиши нам и укажи версию со страницы Settings. - На экране «Настройка Wi‑Fi» и ToyTool-Setup. Он не нашёл сохранённой сети или не смог к ней подключиться;
нижняя строка говорит почему (например, «неверный пароль»). Подключись с телефона к открытой сети ToyTool-Setup,
открой
http://192.168.4.1, выбери свой Wi‑Fi и введи пароль. Все причины разобраны в статье про Wi‑Fi. - «Нет интернета», «Сервер занят», «Загрузка оборвалась» или «Файл пришёл битым». Он сам попробует ещё раз: через 10 секунд, потом через 30, потом раз в минуту — обратный отсчёт виден на экране. Пока не пришёл целый файл с верным MD5, на экране ничего не меняется, так что его можно оставить. Если он всё время пишет «Нет интернета», проверь, есть ли интернет у самого роутера.
- Проценты стоят на месте. Если 20 секунд не приходит ни байта, установщик считает загрузку оборвавшейся и начинает её заново с 0%.
- Во время установки пропало питание. Пока кольцо заполняется, это не страшно: установщик остаётся на месте, запускается снова при следующем включении и находит тот же Wi‑Fi. Опасны только несколько секунд после Готово, перезапуск, когда чип переносит новую прошивку на место, — как при любом обновлении этого экрана. В этот момент не выдёргивай его из розетки.
- «Установщик устарел». Версии прошивки, для которой сделан этот установщик, на нашем сервере больше нет. Скачай
новый установщик в аккаунте и загрузи его по адресу, который показан на экране (он заканчивается на
/update). - «Файл повреждён». Установщик первым делом проверяет сам себя, и эта копия испорчена. Загрузи его ещё раз по адресу на экране.
- «Установщик неполный». Файл скачан не из твоего аккаунта, а именно скачивание вписывает в него версию прошивки и её контрольную сумму. Скачай установщик в разделе Прошивка и загрузи его по адресу на экране.
Что сохранится, а что нет
| После установки | |
|---|---|
| Сеть Wi‑Fi и пароль | Сохраняются — их читают из хранилища заводской прошивки или из настроек самого чипа |
| Заводские настройки (город, тема, яркость, ночной режим) | Не сохраняются — задай их заново в аккаунте |
| GIF и фото, загруженные в заводскую прошивку | Не сохраняются — ToyTool использует это хранилище для своих файлов; GIF можно загрузить заново в аккаунте |
| Заводская веб-консоль | Её заменяют страница самого экрана и твой аккаунт |
Если ToyTool уже стоит
Для обновления установщик не нужен: начиная с прошивки 1.14, когда выходит новая версия, на карточке экрана в аккаунте появляется Обновить, экран сам скачивает её, сверяет с ожидаемым размером и MD5 и перезагружается. Циферблаты и настройки остаются.
Вручную тоже можно: скачай .bin.gz (после установки ToyTool подойдёт и обычный .bin), открой страницу экрана,
выбери файл в разделе Прошивка и нажми Прошить. С этой же страницы работает и установщик — он оставляет
циферблаты, настройки и привязку к аккаунту как есть и ставит прошивку заново, — но нужен он, только если экран не
может обновиться иначе.
Как вернуть заводскую прошивку
- Скачай заводскую прошивку из репозитория GeekMagic на GitHub (самая новая папка там — V9.0.50). В их README советуют сверить MD5 файла, если обновление ругается.
- Открой страницу самого экрана: в аккаунте на карточке экрана — Настроить → Страница экрана в домашней сети, или введи его адрес в браузере.
- В разделе Прошивка выбери файл
.binи нажми Прошить. Экран перезагрузится в заводскую прошивку.
Заводские настройки, фото и GIF не вернутся: они лежали в хранилище файлов экрана, которое ToyTool занимает под свои. Заводская веб-консоль тоже берёт скрипты и стили из этого хранилища, а не из файла прошивки, поэтому обещать, что она вернётся целиком, мы не можем. Если собираешься вернуться, сначала напиши нам.
Это безопасно?
- Циферблаты не запускают код. Циферблат — это короткое описание фигур, текста и данных, а не программа.
- Скачанное проверяется. И установщик, и обновление одной кнопкой сверяют прошивку с ожидаемыми размером и MD5, прежде чем экран на неё переключится; оборванная или битая загрузка оставляет экран как был.
- Безопасный режим ловит прошивку, которая падает при каждом запуске, и экран остаётся доступен по Wi‑Fi. Подробнее — в статье про сброс и восстановление.
- Чего мы не исправим удалённо: USB для данных нет, поэтому экран, у которого пропало питание, пока он переносил новую прошивку на место, восстанавливается только вскрытием и прошивкой по UART — этот способ страница ESPHome об устройстве называет альтернативой установке по воздуху.
Коротко
Можно загрузить с заводской прошивки сам файл прошивки? Обычный .bin слишком большой для заводской V9.0.50.
.bin.gz версии 1.18.0 пока помещается впритык, а следующие версии могут уже не поместиться; установщику места хватает
с запасом.
Нужен ли компьютер? Нет. Все шаги проходятся в браузере телефона, включая выбор файла на заводской странице обновления.
Нужен ли установщику интернет? Да: он скачивает прошивку с toytool.work через Wi‑Fi самого экрана.
Один установщик на несколько экранов? Можно. Но для активации каждому экрану нужна своя лицензия.
Подойдёт для SmallTV Pro? Нет. ToyTool сделана только под ESP8266 и экран модели Ultra.
*Источники: исходный код прошивки и установщика, файл заводской прошивки V9.0.50, инструкция GeekMagic и открытые обсуждения на GitHub.*

