Плата размером с ладонь превратилась в компьютер с окнами, играми и удалённым доступом. Разработчик Джейсон Ховард представил BMDS (Bare Metal Do Stuff), самостоятельную операционную среду для ESP32-P4. Система выводит рабочий стол в разрешении 1280×720 при 60 Гц, поддерживает мышь и клавиатуру, запускает программы с SD-карты и позволяет подключаться через SSH.
В основе BMDS лежит FreeRTOS из набора ESP-IDF, а не Linux. Поверх ядра разработчик создал драйверы, оконную систему, файловый менеджер, командную оболочку и загрузчик приложений ELF. По устройству проект ближе к классическому DOS: пользователь один, а программы получают прямой доступ к ресурсам. Интерфейс с панелью задач, значками, темами и окнами напоминает настольные системы 1990-х.
Систему собрали для Olimex ESP32-P4-PC с двумя ядрами RISC-V на частоте 360 МГц, 768 КБ внутренней памяти и 32 МБ PSRAM. Плата размером 90×60 мм оснащена USB-C для питания и прошивки, HDMI, четырьмя USB-портами, Ethernet, разъёмом для microSD и аудиовыходом. Olimex продаёт саму плату за 24,95 евро, без монитора, накопителя и устройств ввода.
Среди приложений есть порт Doom с уровнями Freedoom и музыкой, которую воспроизводит собственный синтезатор BMDS. Автор заявляет скорость игры до 60 кадров в секунду. Хотя Doom раньше запускали даже с загрузкой через DNS, в данном случае игра стала частью полноценной операционной среды. Доступны также пасьянс, карточные игры и программа для работы с аудио.
BMDS умеет воспроизводить MP3, FLAC, Ogg Vorbis и MIDI, поддерживает FM-синтез и передачу MIDI по USB и сети. Терминал работает локально и через SSH, сервер SFTP открывает доступ к файлам, а портированные BusyBox и Dropbear добавляют привычные Unix-команды. Через менеджер pkg можно устанавливать приложения и зависимости по HTTPS, а встроенный Updater обновляет прошивку.
Для разработки предусмотрены SDK на C и встроенный редактор скриптов AngelScript. Написанный на плате сценарий запускается в отдельном окне без сборки на компьютере. Полноценный компилятор C внутри BMDS пока лишь запланирован. В версии 0.2.0, выпущенной 8 ноября, добавлены редактор презентаций, демонстрация графики и звука, а также ускоренный вывод полноэкранных изображений.
Совместимость пока ограничена одной моделью платы и ранними ревизиями ESP32-P4, включая v1.3. Для чипов v3.x нужна отдельная сборка, которую автор ещё не проверил. Поддерживается только режим 720p, раскладки клавиатуры помимо американской остаются недоработанными. Wi-Fi и Bluetooth у платы нет, поэтому сетевое подключение работает по кабелю Ethernet.
У BMDS нет изоляции памяти между приложениями, поэтому сбой одной программы способен остановить всю систему. Пакеты и обновления подписываются ключом разработки, секретная часть которого доступна всем. Подпись позволяет проверить целостность, но не удостоверяет автора сборки. Предусмотрен и режим доверенных ключей. Исходный код открыт под лицензией MIT, проект остаётся экспериментальным.
