Томас Капричелли разрабатывает Sylphide OS — операционную систему общего назначения для компьютеров, построенных на микроконтроллерах. Такие платы обычно не имеют MMU и не способны запускать полноценный современный Linux, однако их производительности уже достаточно для среды, напоминающей домашние компьютеры 1980-х. Проект занимает промежуточное место между отладочными платами без привычных устройств ввода-вывода и одноплатными компьютерами, способными работать с Linux.
Автор определяет целевой компьютер через несколько обязательных возможностей: клавиатура и мышь через PS/2 или USB, стандартный VGA- или HDMI-выход, настоящий framebuffer и накопитель вроде microSD. Сеть приветствуется, но не требуется. По его замыслу, современные микроконтроллеры позволяют создать новую аппаратуру с ощущением ретрокомпьютера, а не восстанавливать старую машину или эмулировать её. Ограничения памяти, цветности и периферии здесь становятся частью как пользовательского, так и программного опыта.
Основой Sylphide OS служит FreeRTOS, предоставляющий задачи и низкоуровневые функции. Поверх него добавляются драйверы мыши, клавиатуры, дисплея, накопителей и сети, графический интерфейс и программы. Низкоуровневый код, драйверы и рендеринг написаны преимущественно на C, интерфейс — на C++ с ограниченным набором возможностей, чтобы не увеличивать объём программы. Для отдельных платформ используются ассемблерные драйверы. Конфигурация построена на kconfig, а общая инфраструктура скрывает различия SDK и целевых платформ.
Текущая версия имеет номер 0.1. В неё входят низкоуровневая работа с framebuffer, растровыми изображениями и шрифтами, драйверы для трёх аппаратных целей и эмулятора, а также рабочий стол с окнами, меню и значками. Информационная панель показывает сведения об аппаратной и программной части и демонстрирует цветовые возможности. На этом этапе автор сосредоточился на устойчивой основе и корректной поддержке выбранных устройств.
Среди ещё нереализованных функций — microSD и USB-хранилища, Ethernet и Wi-Fi, стандартные элементы интерфейса вроде кнопок и модальных диалогов, а также загрузка внешних исполняемых программ с карты памяти. Исходники программной и аппаратной частей открыты и размещены в Mercurial-репозитории; печатная плата проектируется в KiCad. Автор приглашает предлагать подходящие платы и разрабатывать новые порты, но просит сначала связаться с ним для координации.