FeaturesTemplatesShowcaseTownie
AI
BlogDocsPricing
Log inSign up
dcm31
dcm31m5_simple_launcher
Clean M5StickC Plus2 launcher with unified sim/real workflow
Public
Like
m5_simple_launcher
Home
Code
6
fonts
1
README.md
apps.ts
gfx-font-renderer.ts
H
index.ts
launcher_code.py
Branches
1
Pull requests
Remixes
History
Environment variables
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.
Sign up now
Code
/
Code
/
Search
index.ts
https://dcm31--22ce2f98551911f0b9cbf69ea79377d9.web.val.run
README.md

M5StickC Plus2 Simple Launcher

A clean, unified development environment for M5StickC Plus2 apps with both simulator and real device support.

Features

  • 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

Quick Start

  1. Web Interface: Visit the project URL to see the simulator and app manager
  2. M5 Setup: Flash launcher_code.py to your M5StickC Plus2 via UIFlow2
  3. Development: Test apps in the web simulator, then send to M5

Built-in Apps

  • Blue Screen: Simple demo app that shows a blue screen
    • Press PWR+B to return to launcher (both in sim and real device)

Controls

Web Simulator

  • Click A/B/PWR buttons to interact
  • "Run in Sim" to test apps in browser
  • "Send to M5" to deploy to real device

Real M5 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)

Adding New Apps

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 ` }

Architecture

  • 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

Workflow

  1. Develop and test apps in the web simulator
  2. Click "Send to M5" to deploy to real device
  3. Use the same controls (PWR+B to exit) on both simulator and M5
  4. 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.

HTTP
  • index.ts
    dcm31--22…d9.web.val.run
Code
fontsREADME.mdapps.tsgfx-font-renderer.ts
H
index.ts
launcher_code.py
Go to top
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Product
FeaturesPricing
Developers
DocsStatusAPI ExamplesNPM Package Examples
Explore
ShowcaseTemplatesNewest ValsTrending ValsNewsletter
Company
AboutBlogCareersBrandhi@val.town
Terms of usePrivacy policyAbuse contact
© 2025 Val Town, Inc.