WASM on Zephyr: Securely Running Code in Any Language
summary
Shows a working setup that fetches a Rust-compiled WASM module to Zephyr, runs it interpreted and triggers host imports to log alerts when temperature crosses a threshold. Uses WAMR with a Zephyr port, a NRF52840 + ESP32 dev kit, a Golioth DTLS/Settings pipeline, and a small module (~452 bytes base64) that is swapped live and re-instantiated on the device and in a browser client. Notes: WAMR ~885 KB runtime cost, 452-byte WASM, NRF52840 + ESP32, interpreted execution with limited ABI types, memory-passing via offsets, and harder debugging.
AI-written summary · about
chapters (19)
- 0:00WebAssembly on Zephyr intro
- 1:42How WebAssembly works
- 8:49Imports and exports in WASM
- 10:17WASI and Component Model
- 11:42Why WASM on microcontrollers
- 13:09Dynamic code execution need
- 15:20Safety vs performance trade-offs
- 17:50Platform independence
- 20:38WASM on heterogeneous systems
- 23:05WASM Micro Runtime
- 25:34Demo: temperature alert
- 33:45Live demo and updates
- 34:06Q&A: JIT compilation
- 34:55Q&A: file size benchmarks
- 35:38Q&A: remote execution
- 37:02Q&A: impact on web dev
- 37:45Q&A: debugging on devices
- 38:26Q&A: footprint comparisons
- 39:54Closing remarks
related talks
40mWASM on Zephyr: Securely Running Code in Any Language
53mWASM Wonders Decoding WebAssembly's Inner Workings
53mWebAssembly
30mWASM in the Wild West: A Practical Application Tale
49mWasmer Things: An Upside-Down Guide to WebAssembly
20mUsing Rust and WASM
50mWeb Assembly
55mUsing WebAssembly to run, extend, and secure your .NET application
