stack-chan

Multi-purpose View the repo

Stack‑chan firmware is an open‑source, JavaScript‑driven robot platform for M5Stack devices (primarily the M5StackChan CoreS3), delivering the core firmware, user MOD applications, and web‑based tools for flashing, configuring, and creating custom MODs.

auto-summary

1729 stars · 224 forks

Maintainer
stack-chan
Chip families
esp32esp32-s3

Runs on these boards

Unverified

  • Core2UnverifiedM5Stack
    Flash Core2guided

    Unverified esp-atlas asserts this board↔firmware link at the shown trust tier — it does not guarantee your specific unit or the current firmware version. Flashing can erase keys/config and can brick the device. At your own risk.

  • CoreS3UnverifiedM5Stack
    Flash CoreS3guided

    Unverified esp-atlas asserts this board↔firmware link at the shown trust tier — it does not guarantee your specific unit or the current firmware version. Flashing can erase keys/config and can brick the device. At your own risk.

README

Stack-chan

日本語

Stack-chan is an open-source, JavaScript-driven, super-kawaii robot built with M5Stack.

This repository provides firmware with M5StackChan CoreS3 as its standard configuration, user applications called MODs, browser development tools, cases, and schematics.

Getting started

If this is your first Stack-chan, start with a preassembled M5StackChan and the browser tools.

1. Get an M5StackChan

The standard M5StackChan AI Desktop Robot (K151) package is enough to get started. The joystick remote controller is optional.

2. Flash the firmware

Connect M5StackChan to a computer with a data-capable USB cable, then open the Web firmware installer in Chrome or Edge. Select "M5StackChan CoreS3" as the device. You do not need to install the Moddable SDK or ESP-IDF.

[!IMPORTANT] Flashing this repository's firmware replaces the factory firmware supplied by M5Stack. To restore it, follow the restore procedure in the M5Stack product documentation and use M5Burner.

3. Try a MOD

Find published MODs and mini apps in the MOD Gallery. Choose a MOD, then run it in the simulator or install it on a device. Block-based samples can be opened directly in the block editor and changed.

Browser tools

Use the Stack-chan browser tools to set up a device, change its preferences, and create MODs in a browser.

| Tool | Purpose | | --- | --- | | Firmware installer | Flash firmware to a supported M5Stack over USB | | Preferences | Change Wi-Fi and device preferences over BLE | | MOD Gallery | Find, try, and install published MODs | | Block editor | Create MODs with Blockly and run them in the simulator or on a device | | Shape face editor | Arrange eyes and a mouth to create a custom Face | | Simulator | Run MODs with the WebAssembly firmware and a 3D model | | MediaPipe BLE tracking | Send tracked face and hand movement over BLE |

Supported hardware

The distributed firmware supports M5Stack, M5Stack Core2, M5Stack CoreS3, and M5StackChan CoreS3. M5StackChan CoreS3 is the standard configuration and the target used for physical-device release validation.

Firmware for Stack-chan RT and Takao Core2 + SG90 can be built from source. See the firmware guide for target-specific commands and constraints.

To build the hardware yourself, see the case guide for parts and assembly instructions. See the schematics for board information.

Repository contents

  • firmware: Host firmware, modules, MODs, and development scripts
  • web: Firmware installer, preferences, editors, Gallery, and simulator
  • case: Case models for 3D printing
  • schematics: Schematics and board layouts
  • docs: Roadmap, specifications, operations guides, and release notes

Development

Contributing

Feature requests, bug reports, and pull requests are welcome. Read the contribution guide, or open an issue.

To support the project financially, visit the GitHub Sponsors page.

License

The resources in this repository are distributed under the Apache License 2.0. See LICENSE.

BibTeX

@misc{stackchan,
  author       = {Shinya Ishikawa and the Stack-chan community},
  title        = {Stack-chan: A JavaScript-driven Super-kawaii Robot},
  year         = {2021},
  howpublished = {\url{https://github.com/stack-chan/stack-chan}},
  note         = {Open-source hardware and software.},
}

Read the full README on GitHub

source github.com/stack-chan/stack-chan