Docker for Microcontrollers? AkiraOS combines Zephyr RTOS with WebAssembly (WASM) applications

AkiraOS is a Zephyr-based embedded OS that runs sandboxed WebAssembly applications on microcontrollers and lets users deploy and update firmware OTA without reflashing. In other words, it’s similar to Docker containers, but for microcontrollers.

The open-source embedded platform separates the OS from the application. That means the firmware stays stable, while apps are independent .wasm binaries deployable over-the-air without touching the OS, and portable so a single binary works on ESP32-S3, nRF5x, or STM32 MCU boards.

AkiraOS

AkiraOS highlights:

  • User space
    • Up to 8 wasm apps can be installed
    • Up to two apps can run at the same time
    • Footprint: 50KB to 200KB per app
  • Akiraz runtime – Custom WASM runtime
    • App Manager
    • UI Framework with 32 widgets
    • Shell/console
    • 18 API modules
    • WebAssembly Micro Runtime (WAMR) – Two options: Interpreter or Ahead-Of-Time (AOT) compilation with 10 to 50x higher performance
  • RTOS – Zephyr RTOS
    • Scheduler
    • Network stack
      • HTTP for OTA updates
      • Bluetooth LE for AkiraMesh
    • Drivers
    • LittleFS file system
  • Benefits
    • Update apps in the field without a firmware flash cycle
    • No recompilation for the apps – One binary runs on ESP32-S3, nRF5x, or STM32 — no recompile
    • Device stays up even if a bad app crashes
    • Every app gets only the hardware access it explicitly requested

AkiraOS architecture
AkiraOS architecture

AkiraOS is supported on the following hardware targets:

  • Tier 1 support (best)
    • Espressif Systems ESP32 series
      • ESP32-S3 (LX7) and ESP32-H2/ESP32-C6 (RISC-V)
      • ESP32-S3-DevKitM-1 recommended, and upcoming open-source hardware AkiraConsole V3 on Crowd Supply (we’ll check it once launched with full info including price)
    • Native_sim for fast iteration on x86-64 machines with no MCU hardware needed
  • Tier 2 support
    • Nordic nRF54L15 Arm Cortex-M33 MCU with BLE 5.4
    • STM32 Arm Cortex-M microcontrollers

AkiraConsole V3
Upcoming AkiraConsole V3 board

You’ll find the source and instructions to get started on GitHub, and a separate repo contains an SDK to develop apps for AkiraOS. More details can be found in the documentation on the project’s website, where I notice a mobile app is being developed to retrieve device info & status, manage apps, trigger an OTA firmware update, access the shell/terminal, and browse files on the target device. There’s also a management web interface accessible through WiFi or USB.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress. We also use affiliate links in articles to earn commissions if you make a purchase after clicking on those links.

Radxa Dragon Q8B Edge AI SBC with Snapdragon 8cx Gen3 SoC
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
6 Comments
oldest
newest
Boardcon MINI1126B-P AI vision system-on-module wit Rockchip RV1126B-P SoC