EdigE
← ЛЕНТА
MCU · 22.07.2026

WebAssembly становится «пользовательским пространством» микроконтроллера

ESP32-S3 в AkiraConsole отделяет прикладной код от базовой прошивки: модули WebAssembly загружаются по Wi‑Fi, BLE или USB и получают доступ к периферии только через заявленные разрешения. Консоль с 8 МБ PSRAM, экраном и двумя радиотрактами служит стендом для этой схемы. Цена изоляции пока известна главным образом по расчётам самого проекта.

AkiraConsole получила AkiraOS — среду, в которой базовая прошивка на Zephyr исполняет драйверы и системные сервисы, а прикладные программы устанавливаются отдельными файлами WebAssembly. Для микроконтроллера это попытка разделить жизненный цикл устройства и пользовательской логики: обновление RF-инструмента, интерфейса датчика или протокольного шлюза не требует собирать и прошивать весь образ с ядром, стеком связи и драйверами.

Аппаратная платформа построена на ESP32-S3 с двумя ядрами Xtensa LX7 до 240 МГц, 8 МБ PSRAM и 16 МБ flash. В консоли предусмотрены TFT-дисплей, восемь кнопок, энкодер, microSD, USB-C, Wi‑Fi и BLE. Радиочасть заявлена с LoRa-трансивером LR2021 и sub-GHz-чипом CC1121; точный состав последнего тракта стоит считать предварительным, поскольку во внешнем описании проекта фигурирует CC1101. Публично показаны прототипы и платы Rev. A.2, поэтому речь идёт о физическом устройстве, а не только о программной архитектуре.

Исполнение модулей возложено на WebAssembly Micro Runtime. Доступ к GPIO, дисплею, I²C, UART, PWM, HID, BLE, накопителю, сенсорам и RF-функциям выведен в 18 нативных API. Каждый модуль содержит capability-манифест с перечнем разрешений, а вызов через мост к системному коду проходит проверку прав. Проект указывает задержку такой проверки около 60 нс, однако методика замера, частота процессора, конфигурация кэша и состав теста не раскрыты.

На ESP32-S3 заявлены WASM-приложения размером от 50 до 200 КБ, до восьми установленных и до двух одновременно активных. Память PSRAM здесь определяет границы эксперимента: интерпретатор, линейная память WebAssembly, буферы экрана и сетевые очереди конкурируют за один внешний ресурс с заметной задержкой относительно внутренней SRAM. WAMR способен исполнять байткод интерпретатором либо заранее скомпилированным AOT-кодом. Ускорение AOT в 10–50 раз и интерфейс около 33 fps приводятся в документации AkiraOS, но открытых профилей нагрузки и независимых измерений пока нет.

PenEngineering / AkiraPlatform

AkiraOS также заявляет переносимость одного бинарного модуля между ESP32-S3, ESP32-C6, nRF54L15 и рядом STM32-плат, включая B-U585I-IOT02A, STWINBX1, H753 и H723. Этот тезис относится к API самой среды и одинаковой ABI-границе, а не к произвольным WASI-программам. Поддержка STM32 помечена как экспериментальная и ограничена платформами с существенно разными запасами внешней памяти.

Изоляция WebAssembly ограничивает модуль в собственной линейной памяти и сужает поверхность доступа к железу. Она не заменяет MPU: Zephyr, драйверы, WAMR и native bridge остаются доверенной частью системы. Ошибка в обработчике буфера, драйвере радиотракта или реализации API способна нарушить границу, которую capability-манифест накладывает на приложение. Публичных испытаний с намеренно вредоносными модулями, инъекцией сбоев, измерениями потребления и задержек периферийных вызовов пока нет.

Для полевых измерителей, портативных RF-терминалов и специализированных контроллеров подход интересен именно независимой доставкой прикладного кода. Базовый образ устройства может оставаться узким и проверяемым, пока протокольная логика, интерфейс оператора и обработка телеметрии меняются отдельными модулями. Реальная ценность схемы будет зависеть от того, как runtime выдержит длительную нагрузку одновременно от дисплея, сети, накопителя и радиоподсистемы на ограниченной памяти ESP32-S3.