Browser-first flashing
Users can connect a board and flash supported builds from the web UI instead of installing embedded build tools locally.
A browser-native developer product for ESP32-class devices: write focused Python, catch unsupported APIs before save, flash the right firmware, and keep iterating without local toolchains.
MojoScale Studio is intentionally narrower than desktop Python. The editor knows the supported modules, the docs panel shows the available APIs, and the linter can stop code that firmware cannot run.
import system import camera import cv camera.begin("xiao_s3_sense") cv.load("hand_detect") def tick(): result = cv.detect_camera() if result["found"]: print(result) system.schedule("tick", 500, 500, -1, tick)
The user writes constrained Python, but the heavy work runs through firmware-native modules compiled for the board. Python becomes the clean control layer; GPIO, camera capture, displays, networking, and AI model execution stay on fast native paths.
The workflow is built for product users and field teams who need firmware behavior, not a local embedded development environment.
Name the script and choose the supported board target. ESP32-S3 is the first supported chip.
Use the documented device APIs and get syntax, module, callback, and model checks as you save.
The app pulls the correct firmware, filesystem image, script, and optional model artifact for the project.
Once deployed, script changes can be shipped wirelessly without reinstalling a toolchain or rebuilding firmware.
MojoScale Studio keeps the advanced firmware pieces behind the scenes while exposing the parts users actually need: code, docs, validation, firmware target, and flash.
Users can connect a board and flash supported builds from the web UI instead of installing embedded build tools locally.
The same stub-driven surface powers docs, suggestions, lint checks, and transpilation, so supported APIs stay consistent.
Firmware handles the runtime, and the user-facing script can be updated as the project evolves.
Start with a small Python file, choose ESP32-S3, and let the app handle the firmware path.