WebAssembly apps on ESP32-S3 without reflashing — thoughts from building AkiraOS

Been working on a Zephyr-based OS for ESP32-S3 (and a few other targets) that separates firmware from application logic — apps compile to .wasm and deploy over Wi-Fi/BLE/USB without touching the base firmware. Figured this crowd might have opinions given how often reflashing comes up in ESP32-S3 threads here.

Recently ran a proof of concept: took a bare RGB controller PCB with zero existing software and had it running production firmware in 2 days using this approach — no custom OS work, just deploy a .wasm app on top of the base image.

Repo’s open if anyone wants to look at how the OTA/sandboxing works: https://github.com/ArturR0k3r/AkiraOS

Curious if this kind of app/firmware separation is something people here have wanted, or if PlatformIO’s workflow already solves this pain point differently.

Impressive! How much AI was involved in that work?

Minimal, mostly for boilerplate/scaffolding. The 2-day timeline is really because the app logic itself is small, the OS already handles the hardware layer (drivers, radio, sandboxing), so writing the RGB control app was more “write the specific behavior” than “solve the systems problem.” That’s kind of the point of the OS/app split, most of the hard work only had to happen once.