esp-wasmachine-skill

Guides creation, configuration, and debugging of ESP-WASMachine WebAssembly firmware on ESP32 chips.

28|3|Updated Jun 24, 2026
One-click install
npx skills add https://github.com/JasonYANG170/esp-dev-skill --skill esp-wasmachine-skill-jasonyang170
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: esp-wasmachine-skill
Source: https://github.com/JasonYANG170/esp-dev-skill/tree/main/repos/esp-wasmachine
Command: npx skills add https://github.com/JasonYANG170/esp-dev-skill --skill esp-wasmachine-skill-jasonyang170

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Developing ESP-WASMachine firmware requires precise knowledge of WAMR runtime initialization order, Kconfig dependency chains, partition tables, and WASM native API registrations, and mistakes in any of these cause build failures or runtime crashes that are hard to diagnose. ## Core Features & Use Cases - Scenario Recipes: Twelve recipes covering project creation, build/flash, board selection, iwasm execution, App Manager remote management, littleFS packaging, native extensions (libc/HTTP/MQTT/LVGL/RainMaker/Wi-Fi provisioning), Extended VFS, and data_seq serialization. - Grounded API & Kconfig Reference: Every WASM native import signature, host-side API, and WASMACHINE_* Kconfig option is extracted from real esp-wasmachine source, with explicit rules against inventing symbols. - Pitfall Prevention: Twelve WRONG/CORRECT pitfall pairs covering init order, storage flashing, MQTT/App Manager dependency, UART console conflicts, and partition sizing. - Use Case: A developer asks the AI to create an ESP32-S3-BOX project that runs a WASM app with MQTT and LVGL; the skill produces the correct sdkconfig.defaults, app_main init sequence, BSP ops registration, and build/flash commands. ## Quick Start Ask the AI to create a new ESP-WASMachine firmware project for ESP32-S3 that runs a WASM app with the shell and App Manager enabled.

Frequently Asked Questions about esp-wasmachine-skill

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run a WebAssembly app on ESP32 with ESP-WASMachine?

Place the compiled .wasm file in main/fs_image/wasm/, build with idf.py, then run idf.py storage-flash followed by idf.py flash monitor. At the WASMachine> prompt, execute iwasm wasm/your_app.wasm with optional -s and -h flags for stack and heap sizes.

How do I enable MQTT in a WASM app on ESP-WASMachine?

Set CONFIG_WASMACHINE_WASM_EXT_NATIVE_MQTT=y together with CONFIG_WASMACHINE_APP_MGR=y, since the MQTT native extension depends on the App Manager. The WASM app then uses imports like wasm_mqtt_init, wasm_mqtt_publish, and wasm_mqtt_subscribe registered in the env module.

Which ESP32 chips does ESP-WASMachine support?

ESP-WASMachine supports ESP32, ESP32-S3 (including S3-BOX), ESP32-C6, and ESP32-P4 with ESP-IDF v5.1.x through v5.5.x. LVGL native extensions require a BSP and only work on S3-BOX or the ESP32-P4 Function EV Board.

Why does littleFS fail to mount when ESP-WASMachine boots?

The storage partition was never flashed with a file system image. Run idf.py storage-flash to burn the littleFS image generated from main/fs_image/ before or alongside the firmware flash, and verify the partition CSV contains a storage partition.

Can I build the ESP-WASMachine host_tool on Windows or macOS?

No, host_tool only builds on Linux. Clone wasm-micro-runtime, navigate to test-tools/host-tool, and build with cmake and make on a Linux machine or WSL, then use it to install, uninstall, and query WASM applets over TCP.

When should I not use ESP-WASMachine?

Do not use it for writing or compiling the WASM applet itself, which requires a separate toolchain like wasi-sdk, or for general ESP-IDF questions unrelated to the WASMachine runtime. It also does not apply to non-Espressif runtimes such as wasmtime, wasmer, or WasmEdge.