
Два роки тому я натрапив на YouTube-відео, яке змінило мою професійну траєкторію. На каналі Anderson була представлена Лілка — український open-source проєкт ігрової консолі. Я як людина, що мала команду junior-розробників та інтернів у сфері embedded-систем, одразу побачив освітній потенціал.
Проєкт ідеально відповідав моїм професійним потребам:
- Освітня цінність: ідеальна практична платформа для навчання embedded-розробки
- Open-source філософія: відповідає моїй пристрасті до OpenSource розробки
- Технічний виклик: можливість зробити внесок поза комерційною роботою
Те, що почалося як навчальний інструмент, переросло у щось значно більше. Разом з Андрієм (Anderson) та зростаючою спільнотою ми трансформували Lilka V2 з proof-of-concept у minimum viable product — і врешті-решт у процвітаючу екосистему з понад 1500 консолями, розповсюдженими по Україні.
Технічний фундамент: архітектура для масштабування
Перший рік розробки був зосереджений на створенні надійного архітектурного фундаменту. Завдяки експертизі Андрія як software-архітектора ми побудували кодову базу, яка пріоритезує простоту без втрати потужності — забезпечуючи швидку розробку функціоналу з мінімальною часовою затратою.
Ключові компоненти платформи
1. Keira OS — Операційна система, що живить Лілку, обробляє все — від виконання Lua-скриптів до системного менеджменту (синхронізація часу, WiFi-з’єднання, керування периферією). Вона слугує центральним хабом для всіх взаємодій користувача та додатків.
2. SDK (Software Development Kit) — Ми розробили комплексний рівень абстракції від заліза, що надає розробникам готові до використання компоненти: аудіо, дисплей, файлова система та інше. Побудований поверх ESP-IDF та Arduino Framework, SDK дозволяє розробникам використовувати звичні інструменти і функції фреймоворків з доступом до Lilka-специфічного функціоналу.
3. Підтримка Lua-скриптів — Для доступності ми імплементували розширені Lua-біндінги, що покривають роботу з ESP32-S3, операції з дисплеєм, WiFi-менеджмент та системні компоненти. Це дозволяє швидко прототипувати без глибоких знань embedded-програмування.
4. Завантаження додатків через OTA — Одне з наших рішень: ми перепрофілювали механізм OTA (Over-The-Air) оновлень для завантаження додатків з SD-карти. Додатки працюють ізольовано, а після перезавантаження консоль безпечно повертається до Keira OS — креативний підхід, що забезпечує стабільність системи та водночас дозволяє користувачам експериментувати.
5. Партнерство з дистриб’ютором — Ми встановили партнерство з IMRAD, що дозволило їм розповсюджувати повні DIY-набори для самостійної збірки. Це рішення виявилося критичним для масштабування проєкту.
Формула успіху
Успіх зводиться до простого принципу: дати людям можливість творити швидко та самостійно, без необхідності глибокої експертизи в embedded-програмуванні. Це слідує філософії Arduino, яку багато хто критикує як «некомерційну» — проте саме Arduino уможливив безліч інновацій, від 3D-друку до дронів, знизивши поріг входу в embedded-розробку.
Стійкість у воєнний час: як проєкт вижив
У 2024 році засновник нашого проєкту Андрій приєднався до лав Збройних Сил України. Проєкт опинився перед невизначеним майбутнім.
Наприкінці 2024 року Лілка наблизилася до критичної точки. Без візіонера проєкту розробка значно сповільнилася. Однак, розуміючи, чому я долучився до цієї ініціативи — а саме навчати junior-інженерів та сприяти зростаючій потребі України в технічних талантах — я продовжував рухатися вперед.
Наша невелика команда підтримувала проєкт через виправлення багів та невеликі покращення, хоча й з суттєвими перервами. Переломний момент настав у середині 2025 року, коли Андрій визнав, що проєкт залишається життєздатним, і призначив мене Головнокомандувачем проєкту.
Ця передача повноважень дозволила нам прискорити розробку та впровадити зміни, необхідні для виведення Лілки на новий рівень.
Ключові технічні покращення 2025 року
Ми прийшли до стратегічної трансформації:
1. Реструктуризація архітектури репозиторіїв
Ми мігрували з монорепо до 15 окремих репозиторіїв, кожен з яких відповідає за конкретний компонент. Це рішення покращило:
- Підтримуваність коду та чіткість відповідальності
- Доступність для контриб’юторів-новачків
- Ефективність CI/CD пайплайнів
2. Оптимізований реліз-менеджмент
Ми встановили послідовний workflow релізів через:
- PlatformIO Registry для дистрибуції SDK
- GitHub Releases для бінарників Keira OS
- Автоматизоване відстеження версій та генерацію changelog
3. Прошивка через браузер
Ми розробили GitHub Workflows та веб-флешер, що дозволяє користувачам встановлювати Keira OS прямо з браузера через ESPTool-JS — без потреби все скачувати, налаштовувати і самому компілювати прошивку.
4. Англійська локалізація
Keira OS тепер підтримує англійську локалізацію, відкриваючи проєкт для міжнародних контриб’юторів та користувачів.
5. Каталог додатків
Ми запустили catalog.lilka.dev — веб-магазин додатків, який до того ж інтегрований безпосередньо в Keira OS. Користувачі тепер можуть:
- Переглядати додатки, створені спільнотою
- Вивчати вихідний код та документацію
- Завантажувати та встановлювати додатки прямо на консоль
Хайлайти поточного каталогу:
- Doom Port — класична гра на ESP32-S3
- BLE GamePad — мультирежимний Bluetooth HID контролер
- Lilka AI — інтеграція з OpenAI чатом
- FM Radio — підтримка апаратного радіомодуля
- Pico-8 Engine — емулятор fantasy-консолі
6. Функції за запитами спільноти
Ми пріоритезували давні запити спільноти, включаючи підтримку BLE GamePad та інтеграцію Pico-8 engine — і це лише початок.
Філософія розробки: Release Early, Release Often
Маючи близько п’яти років комерційного досвіду в embedded, я послідовно дотримуюся методології «Release Early, Release Fast, Release Often». На практиці це означає швидкий випуск фіч та ставлення до користувачів як до найвідданіших тестувальників.
Чому це працює для Open Source
Виклик: Обмежена команда (3–4 розробники)
Традиційний підхід: Тривалі цикли розробки
Наш підхід: Швидкі ітерації з фідбеком спільноти
Виклик: Відсутність виділеного QA
Традиційний підхід: Формальні фази тестування
Наш підхід: Користувачі валідують у реальних сценаріях
Виклик: Некомерційний проєкт
Традиційний підхід: Пріоритезація функцій невідомим чином
Наш підхід: Прямий фідбек користувачів визначає roadmap
Цей підхід дав виняткові результати. Наша невелика команда послідовно випускає функції, які користувачі дійсно просять, швидко виправляє баги на основі реального фідбеку та підтримує momentum попри нульовий комерційний дохід.
Для некомерційного open-source проєкту без формальної QA-команди та з нульовим доходом ця ітеративна методологія представляє оптимальний шлях до сталого зростання.
Висновки: що може досягти Open Source
Лілка демонструє, що можливо, коли пристрасні інженери віддаються Open Source розробці:
- 1500+ консолей у руках мейкерів, освітян та хобістів
- Активний каталог додатків з іграми, утилітами та експериментальними проєктами
- Вихід на міжнародне охоплення через англійську локалізацію та вихід на іноземний ринок
Проєкт також підкреслює ширшу істину: open-source — це не просто про код — це про побудову екосистем, що дають іншим можливість творити. Хоча Лілка не генерує комерційного доходу, її вплив на українську embedded-спільноту та освітні заклади представляє повернення інвестицій, що виходить за межі грошових метрик.
Не помиляється тільки той, хто нічого не робить
Голосуйте за нас на DOU Awards 2026
В розділі «Найкраща некомерційна ініціатива, яка сприяє розвитку ІТ-галузі»
Ресурси
- GitHub: github.com/lilka-dev
- Документація: docs.lilka.dev
- Каталог додатків: catalog.lilka.dev
- Discord-спільнота: Приєднатися до сервера
- Набори для збірки: Магазин IMRAD
- Набори для збірки: Магазин Arduino.UA
Оригінал статті: dou.ua