m5-onboard

Installation
SKILL.md

M5Stack Onboarding

This skill automates the full cold-start workflow for an M5Stack ESP32 device: detect on USB, identify model, flash UIFlow 2.0, and push a MicroPython app bundle onto /flash/ so the device boots into user software. The apps we ship (Claude Buddy, Snake, Hello) talk over BLE or USB. The workflow runs on macOS, Linux, and Windows; the skill was developed against an M5Stack Basic v2.6 (CH9102 bridge, ESP32-D0WDQ6-V3, 16 MB flash) and generalized to cover the rest of the Core family, with the Cardputer-Adv (ESP32-S3, native USB) as the current default target.

Where the scripts live

This skill ships as part of the cwc-makers plugin for reference, but the executable scripts and the buddy/ app bundle live in a local clone of https://github.com/moremas/build-with-claude (the /maker-setup command creates this clone). Run every scripts/*.py invocation below from inside that clone's onboard/ directory so --apps buddy resolves to the sibling buddy/device/ payload.

When to use

Use this when a user plugs in an M5Stack device and wants it provisioned. The decision tree:

  • Fresh/unknown device → run onboard.py --apps buddy end-to-end (detect → identify → flash → install apps). This is the default path.
  • Already-flashed device, user just wants apps installed/refreshed → run install_apps.py --src buddy (or any --src <path> to a directory of .py files).
  • Flashed device, something feels broken → run smoke_test.py (I2C + LCD + speaker + button check).
  • User wants to know what's on the bus / what the device can dosmoke_test.py.

If multiple devices are plugged in, ask which port to target — don't guess. If the user is provisioning a device they previously worked with (e.g. "same thing as last time" or "another Buddy"), default to --apps buddy unless they say otherwise.

Related skills

More from anthropics/claude-plugins-official

Installs
67
GitHub Stars
19.2K
First Seen
7 days ago