Лілка () — українська навчально-ігрова консоль для розробки з відкритим вихідним кодом, зібрана з доступних компонентів. Лілка має власну друковану плату, операційну систему, готову бібліотеку для спрощення розробки, а ще набір програм, ігор, демонстрацій і детальну документацію.

Консоль створив Андрій Дунай (відомий у спільноті як «Андерсон» або «space.caveman») разом з командою ентузіастів. Перший реліз вийшов 2024 року. В основі пристрою — мікроконтролер ESP32-S3; конструкція розрахована на самостійну збірку з модулів, доступних у роздрібному продажу.

Ключова особливість проєкту — доступність: пристрій збирається із серійних компонентів і не потребує замовного виготовлення чи рідкісних деталей. Оглядачі описують Лілку як наступний крок для тих, хто опанував базові навички роботи з мікроконтролерами й переходить до складніших вбудованих систем.

Попри ігрову зовнішність, схожу на спрощений геймпад від SNES, Лілка — не зовсім ігрова консоль. Радше це універсальна платформа з набором інструментів, яку застосовують для різних завдань: розробки ігор, навчання програмуванню, підключення датчиків і створення власних пристроїв.

Назва консолі походить від імені кішки розробника. За тією ж логікою операційну систему назвали KeiraOS — на честь іншої його кицьки Кіри.

Апаратна частина

Друкована плата

Лілка побудована на власній друкованій платі; актуальною є ревізія v2.3. Креслення плати у форматі Gerber відкрито опубліковані в репозиторії проєкту, що дозволяє виготовити її самостійно на сторонніх сервісах друку.

Оформлення плати містить низку тематичних зображень, нанесених шовкографією: портрет Тараса Шевченка з його цитатою «Борітеся — поборете», державну символіку (тризуби), стилізовану котячу лапку (відсилання до кішки, на честь якої названо проєкт) та QR-код із посиланням на документацію.

Мікроконтролер

Основою Лілки є модуль ESP32-S3-WROOM-1-N16R8 виробництва Espressif. На відміну від окремої мікросхеми, модуль WROOM містить флеш-пам'ять, додаткову оперативну пам'ять (PSRAM), кварцовий резонатор та антену, що спрощує проєктування й монтаж плати.

+ Основні характеристики ESP32-S3 Параметр Значення Ядро Xtensa LX7, 2 ядра Тактова частота 240 МГц Оперативна пам'ять 512 КБ + 8 МБ PSRAM Flash-пам'ять 16 МБ NOR Flash GPIO 45 (36 виведено в модулі) Бездротовий зв'язок Wi-Fi 802.11 b/g/n, Bluetooth BLE USB USB-OTG / CDC (без зовнішнього UART-перетворювача) Криптографія апаратне прискорення AES, RSA, RNG, HMAC

Роз'єм розширення

Однією з ключових особливостей Лілки є 12-контактний роз'єм розширення, через який до плати під'єднують зовнішні модулі — датчики, дисплеї, сервоприводи тощо.

На роз'єм виведено живлення 3,3 В, землю, два піни апаратного UART (TX/RX) та шість ліній загального призначення (GPIO) з номерами 12, 13, 14, 21, 47 і 48. Завдяки вбудованому мультиплексору кожен пін можна налаштувати як вхід/вихід або задіяти під шини I²C, SPI чи UART. Піни 12, 13 і 14 додатково під'єднані до аналого-цифрового перетворювача (АЦП), що дозволяє зчитувати аналогові сигнали.

Комплектації

Для здешевлення збірка передбачає три варіанти комплектації:

Базова — дисплей, кнопки, п'єзо-динамік, слот microSD; живлення від USB Type-C. Базова + Батарея — те саме плюс модуль заряду-розряду для LiPo-акумулятора, після чого консоль стає по-справжньому портативною. Підходить будь-який акумулятор на 3,7 В: 18650, BL-5C тощо. Базова + Аудіо — те саме плюс підсилювач MAX98357 з динаміком 8 Ом / 1 Вт або роз'єм 3,5 мм для навушників.

Решта компонентів

Окрім мікроконтролера, на платі розташовані IPS TFT-дисплей з роздільною здатністю 280×240, слот microSD (картка форматується у FAT32, обмежень за об'ємом фактично немає), п'єзо-динамік, цифро-аналоговий перетворювач (ЦАП) та 12-контактний роз'єм розширення. Саме цей роз'єм виводить шини I2C, SPI і UART разом з лініями GPIO, ADC та PWM — через нього й під'єднують зовнішні модулі.

Складання

Більшість пайки нескладна, проте найвідповідальніший етап — монтаж самого модуля ESP32-S3: по периметру чіпа розташовано близько 40 контактів завширшки менш ніж міліметр, які зручно паяти не тонким жалом по одному, а «протягуванням» припою долотоподібним жалом. Послідовність монтажу має значення: контакти кнопки SELECT розташовані під аудіомодулем, тому її потрібно припаяти раніше за нього.

Корпус

Окремої офіційної «коробки» проєкт не має, зате спільнота розробила кілька 3D-друкованих корпусів, які вільно поширюються:

LilCase (автор — Костянтин Поліщук) — корпус, що має кілька версій; нижня частина адаптується під різні типи акумуляторів. Slim Case — тонкий корпус (24×58×149 мм) під акумулятор PR-285083. Low Profile Case — низькопрофільний (22 мм), розрахований на акумулятори Nokia BL-5C/BL-6C. Rear Panel — проста задня кришка, яку можна надрукувати або вирізати з акрилу чи фанери.

Програмне забезпечення

KeiraOS

Програмною основою пристрою є KeiraOS — операційна система на базі FreeRTOS (через фреймворк ESP-IDF від Espressif), написана мовою C++. Вона вміє виконувати кілька завдань одночасно (ESP32-S3 має два фізичні ядра: одне відмальовує екран, інше виконує код), працювати з мережею і запускати програми та прошивки прямо з SD-карти. Програмне забезпечення побудоване за рівнями: нижній рівень — Lilka SDK, що звертається безпосередньо до апаратних компонентів і надає спрощені виклики для графіки, звуку та вводу; верхній — KeiraOS з меню, застосунками й фоновими службами (наприклад, підтримкою Wi-Fi чи веб-інтерфейсу). Програми для Лілки розробляють трьома мовами:

C++ — компільована мова; код пишуть у PlatformIO з бібліотекою lilka, після чого прошивку перезбирають і завантажують на пристрій, як і будь-яку Arduino-програму. Lua 5.4.6 — скрипти не потребують компіляції: файл копіюють на microSD і запускають безпосередньо на пристрої. mJS — мінімалістичний діалект JavaScript від Cesanta, доданий у KeiraOS 2.6.5; як і Lua, запускається з картки без компіляції, але має суттєві обмеження порівняно з повноцінним JavaScript.

Lua надає модулі для роботи з апаратними компонентами: display (екран), controller (кнопки), buzzer (звук), а також gpio, i2c, spi, wifi, http і crypto для доступу до периферії та мережі. Основною мовою для написання програм команда проєкту рекомендує Lua як функціональнішу та стабільнішу за mJS.

Альтернативні прошивки

Оскільки проєкт має відкритий код, для нього створено низку сторонніх прошивок:

Pixeler (колишня MeowUI) — дозволяє розробляти й тестувати графічний інтерфейс прямо на комп'ютері, без постійних перепрошивок, і навіть підтримує мережеву гру. Rustilka — невеликий проєкт для тих, хто пише мовою Rust. DOOM Port — порт гри DOOM. arduino-nofrendo — NES-емулятор для запуску старих ігор у форматах .rom і .nes. PicoPico — порт фентезі-консолі PICO-8.

Сторонні прошивки не замінюють основну систему остаточно: після перезавантаження пристрій повертається до KeiraOS.

Прошивання

KeiraOS можна встановити кількома способами: через браузерний веб-прошивач (за технологією Web Serial), оновленням «по повітрю» (OTA) через вбудований веб-сервіс Keira Web Manager, утилітою командного рядка esptool від Espressif або збиранням прошивки з вихідного коду в середовищі PlatformIO.

Каталог застосунків

Готові програми зібрані в каталозі catalog.lilka.dev, доступному і з браузера, і прямо з консолі. ВВін поділений на два розділи: Apps (Lua-скрипти, готові .bin-прошивки та C++-програми) і Mods (фізичні модифікації — корпуси, кнопки, плати розширення). Користувачі додають власні програми до каталогу через pull request у його репозиторій.

Ігри та програми

Попри те, що Лілка не позиціонується як ігрова консоль, для неї створено низку ігор та застосунків:

NES-емулятор (Nofrendo) — для ігор NES (Dendy). DOOM — порт класичної гри. Лілтрекер — триканальний трекер з ефектами тремоло, вібрато й арпеджіо. ESP32 не має звукового чіпа, тож увесь звук синтезується програмно — а звучить це як суміш SID-чіпа Commodore 64 та 2A03 з NES. Тамагочі — симулятор догляду за віртуальним улюбленцем. Стугна — 2D-слешер на тему російсько-української війни (розробку призупинено). Астероїди — клон аркади Asteroids 1979 року. Погода — прогноз за координатами через Wi-Fi. BLE Геймпад — перетворює Лілку на бездротовий контролер. GPS Tracker — мапа з GPS-координатами. Pastebin, FTP-сервер та Keira Web Manager — для бездротової передачі файлів і завантаження скриптів.

Сфери застосування

Завдяки роз'єму розширення та вбудованим Wi-Fi і Bluetooth Лілку застосовують не лише для ігор, а й як:

платформу для самостійного вивчення програмування; навчальний пристрій для уроків з Arduino та мікроконтролерів у школах і вишах; пристрій моніторингу температури, вологості чи якості повітря (через I2C-датчики); контролер ЧПУ-верстатів; інструмент пентестингу — аналіз Wi-Fi, BadUSB; вузол мережі Meshtastic (з LoRa-модулем); елемент розумного будинку — інтеграція з Home Assistant та MQTT через ESPHome; основу для інтерактивних арт-інсталяцій і саморобних музичних інструментів.

Доступність

Лілка поширюється як набір для самостійної збірки; партії розкуповуються швидко, тому набори періодично бувають відсутні в продажу. Окрім готових комплектів, у продажу трапляються зібрані консолі та окремі компоненти від українських постачальників.

Пристрій можна виготовити й самостійно: файли друкованої плати (Gerber) відкрито опубліковані в репозиторії проєкту, а саму плату виготовляють на типових сервісах друку PCB. Орієнтовна вартість виготовлення невеликої партії плат — близько 25 доларів США за десяток. Готові набори продають переважно українські постачальники, тому покупцям з-за кордону доводиться замовляти компоненти окремо за переліком матеріалів (BOM) із посиланнями на сторонні магазини.

Спільнота

Розробка та обговорення проєкту значною мірою зосереджені на Discord-сервері спільноти, де учасники діляться досвідом збірки, варіантами корпусів, прошивками та новими програмами. Проєкт отримав увагу й за межами України — зокрема, його висвітлювали профільні майданчики Hackaday.io та Hackster.io. У 2026 році Лілку номінували на премію DOU в категорії «Найкраща некомерційна ініціатива».

Спільнота проводить і офлайн-заходи. Так, у травні 2026 року в київському хакерспейсі Nu31 відбувся воркшоп зі збірки, пайки та прошивки консолі, у якому взяли участь засновник проєкту Андрій Дунай, мейнтейнери та учасники спільноти; більшість присутніх зібрали й прошили власну консоль під наглядом менторів.

Репозиторії

Увесь код зібрано в організації lilka-dev на GitHub (загалом 16 репозиторіїв). Ключові з них:

Репозиторій Призначення keira Операційна система KeiraOS sdk Бібліотека для роботи з апаратурою lilka Схеми та документація пристрою examples Приклади Lua-коду для початківців catalog Сайт каталогу програм doom_port Порт DOOM arduino-nofrendo NES-емулятор PicoPico Порт PICO-8

Примітки

Посилання

Офіційний сайт Лілки Документація (українською) Каталог застосунків Веб-прошивач GitHub-організація lilka-dev Discord-сервер спільноти

Огляди та публікації

Українська DIY-консоль Лілка. Повний гайд — DOU Лілка. Від ідеї до проєкту — DOU Українська DIY-консоль Лілка (Частина 1) — HackYourMom Лілка: практичне використання та освітні проєкти (Частина 2) — HackYourMom Сторінка проєкту на Hackaday.io Boost Your Hardware Skills with This $15 ESP32 Handheld — Hackster.io Build log: The Lilka hobby console — Guilty Gamer Лілка в каталозі пристроїв ESPHome