Михил из Python Leiden решил обновить программную начинку недорогих открытых смарт-часов PineTime от Pine64. Устройство стоило ему $26,99 и имеет 64-мегагерцевый ARM Cortex-M4, 64 КБ RAM, 512 КБ flash для прошивки и 4 МБ внешней памяти. После Bluetooth-стека и MicroPython приложениям оставалось лишь около 12 КБ RAM. Экран при этом довольно плотный: 240×240 пикселей на 1,3 дюйма, около 260 пикселей на дюйм, но постоянно включённым его не сделать из-за расхода батареи.
Вместо штатной InfiniTime на C++ автор выбрал wasp-os, основанную на MicroPython. К 2026 году проект уже искал новых мейнтейнеров, использовал старый форк MicroPython 2019 года и с трудом собирался. Энтузиаст перевёл инструментарий на uv, восстановил полную сборку вместе с bootloader и заменил устаревший gatttool на bleak. Обновление по Bluetooth теперь занимает около трёх с половиной минут вместо более восьми, а ошибки перестали скрываться.
Файловая система внешней flash-памяти начала использовать реальные блоки чипа по 4 КБ. Это убрало постоянный буфер и увеличило свободную память при загрузке с 7,1 до 12,4 КБ. Watchdog перезапускает часы при зависании. Также исправлены непрекращающаяся вибрация после swipe, распознавание момента отрыва пальца от сенсора и восстановление после полного разряда: прошивка освобождает зависшую I2C-шину, показывает настоящую ошибку и начинает отсчёт времени с даты сборки.
Переход на mainline MicroPython потребовал трёх изменений в самом upstream: поддержки frozen native code, исправления распределения PWM и настройки времени выборки ADC. Все pull request приняты, поэтому wasp-os впервые работает на актуальной основной версии без отдельного форка. Изменения запланированы в MicroPython 1.30, ожидаемой в декабре.
Автор добавил нидерландский вариант недельного циферблата и ретроэкран с пиксельным шрифтом 6×7, ISO-датой и Unix epoch. Отдельное приложение Guido показывает портрет Гвидо ван Россума, логотипы Python, MicroPython и Python Leiden. Четыре изображения занимают менее 12 КБ благодаря палитре до 16 цветов и run-length encoding; приложение остаётся необязательным при сборке.
Все изменения находятся в ветке pinetime-upstream-micropython его форка wasp-os. На будущее автор ждёт PineTime Pro с AMOLED-экраном 410×502, GPS и двухъядерным Cortex-M33, но даты выпуска пока нет, а оригинальная модель продолжает производиться.