Skip to content

An experiment of running a lot of wasm apps on esp32 M5 atom matrix board

Notifications You must be signed in to change notification settings

kabbi/m5-atom-wasms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wasms

This is a POC project to run many wasm apps on a single esp32 board (in my case, M5 Atom Matrix, with a nice neopixel 5x5 display matrix). All I wanted to do - is to run a different wasm app for each pixel, and it (kinda) works! I had to do a bit of optimizations, and reduced all stacks and memory limits to minimum, but I finally got all of 25 pixels running.

Each pixel on this esp32 board is controlled by a different WebAssembly app. #arduino @wasm3_engine pic.twitter.com/ioZZJzUvAw

— zubr kabbi (@zubr_kabbi) September 11, 2021

Using wasm3 as wasm runtime. Apps are written in c (for now), see them in ./wasm folder.

Try for yourself (you'll need wasi-sdk and wasm-micro-runtime)

export WAMR_DIR="path to wamr installation" ; that's where I've stolen the build script from
./build-apps.sh && ls wasm/*.wasm | xargs -n 1 xxd -i > src/data.h
pio run -t upload

About

An experiment of running a lot of wasm apps on esp32 M5 atom matrix board

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published