Public
Like
m5_simple_launcher
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in miliseconds.
index.ts
https://dcm31--22ce2f98551911f0b9cbf69ea79377d9.web.val.run
A clean, unified development environment for M5StickC Plus2 apps with both simulator and real device support.
- Unified Interface: Single web page with M5 simulator and app management
- Simple Workflow: Run apps in simulator, then send to real device
- Clean Launcher: Simplified M5 launcher code that mirrors the web interface
- One-Click Deploy: Send code to real M5 with a button click
- Web Interface: Visit the project URL to see the simulator and app manager
- M5 Setup: Flash
launcher_code.py
to your M5StickC Plus2 via UIFlow2 - Development: Test apps in the web simulator, then send to M5
- Blue Screen: Simple demo app that shows a blue screen
- Press PWR+B to return to launcher (both in sim and real device)
- Click A/B/PWR buttons to interact
- "Run in Sim" to test apps in browser
- "Send to M5" to deploy to real device
- A Button: Run the selected app
- B Button: Cycle through available apps
- PWR+A: Refresh launcher display
- PWR+B: Exit current app (return to launcher)
Apps are defined in index.ts
in the BUILTIN_APPS
object. Each app needs:
"app_id": {
name: "App Name",
description: "Brief description",
code: `# Python code for M5
# Your UIFlow2 Python code here
`
}
- Web Interface: React app with M5 simulator and app management
- API Endpoints: Serve app code and handle M5 communication
- M5 Launcher: Simple Python script that downloads and runs apps
- Unified Experience: Same app behavior in simulator and real device
- Develop and test apps in the web simulator
- Click "Send to M5" to deploy to real device
- Use the same controls (PWR+B to exit) on both simulator and M5
- Iterate quickly with unified launcher behavior
The simulator shows exactly what your M5 screen will look like, and the button interactions work the same way in both environments.