Repository navigation
Releases
スタックチャン v2.1.0
スタックチャン v2.1.0
通常のM5Stack CoreS3とM5StackChan CoreS3のファームウェアに、WebRTC会話のネイティブバックエンドを標準搭載します。会話を使うMODを別途導入して開始する構成で、ホストの更新だけで会話やマイク送信が自動的に始まることはありません。
変更
- WebRTCを標準CoreS3ホストと配布ZIPに含めます。未使用時は会話用HTTPS Worker・音声タスク・I2Sを起動せず、終了時はネイティブ音声の解放を待ちます。HTTPS Workerは要求と終了通知のキューを処理し終えてから解放し、次の要求で作り直します。MODの非同期終了処理も、ホストの音声解放より先に完了させます。
- Moddable SDKを10.1.0へ更新し、TLS 1.2のサーバー認証に関するセキュリティ修正を取り込みます。修正にはホストの更新が必要で、MODだけの更新では反映されません。実験的なTLS 1.3は有効にしません。
- 任意導入のAvatar DSL Face MODを追加します。default・omega・aokkoのプリセットで表情、まばたき、視線、口、呼吸を扱い、描画とアニメーションを制限付きのネイティブバックエンドで実行します。標準の顔は変更しません。MOD用ホストの再ビルドとMODの導入が必要です。
- WebツールにAvatar DSLエディターを追加します。編集・インポート・Undo、C/WASMプレビュー、DSL/AVBCのダウンロード、確認操作を伴うFace MODの転送準備に対応します。Mono eyeプリセットを追加し、実験的なWebMCPがないブラウザーでも通常の編集機能を使えます。実機転送には対応ホストの確認、利用者の確認クリック、USBポート選択が必要です。
- Avatar DSLの関数末尾が条件付きreturnの場合に、プレビューが検証エラーで停止したり、次の関数を実行したりする問題を修正します。
- Webのファームウェア書き込みは全消去を既定でOFFにします。全消去が必要な場合だけ、警告を確認して選べます。通常書き込みでも対象セクターは更新されるため、設定やMODの保持はパーティション配置・書込み範囲・データ形式の互換性がある場合に限ります。
- シミュレーターの起動失敗メッセージに英語と簡体字中国語を追加します。
互換性と更新時の注意
製品版とWeb書き込みmanifestは 2.1.0、SDKは 10.1.0 です。ホストAPIは 2 のままで、既存のフラッシュパーティション配置は変更しません。非S3機種にはWebRTCバックエンドを追加しません。
WebとCLIのMODインストーラーはSDK 10.1.xホストに対するXS 17.7〜17.9のアーカイブを認識します。アーカイブ形式の互換性だけでは、MODが必要とするホストモジュールや機能の有無は保証しません。
ソースビルドでは1ターゲットにつき1構成を使います。構成変更時の自動cleanは廃止したため、必要な場合は明示的に npm run clean を実行するか、別のworktreeを使ってください。大きなVM・キャッシュを使うLive用性能設定は引き続き任意です。
Avatar DSLの begin_group(x,y,w,h) は絶対座標の半開区間を厳密にclipし、入れ子では親との共通部分を使います。以前のプレビュー版や上流のgroup hintとは異なるため、独自プログラムは描画対象をgroup内に収めてください。LCD送信用の固定バッファは8.75 KiBです。ホストへのHTTP/NVSアップロードは今回の範囲に含みません。
検証状況
firmwareとWebの自動試験、Avatar DSLのcompiler受け入れ・native/WASM比較・ブラウザー試験を確認しています。候補SHAごとのCIと確認結果はリリースPRに記録しています。自動試験と実機確認は区別し、以下の未検証範囲を残して公開します。
2026-11-09〜10の候補M5StackChan CoreS3 appと既存の実機パーティションで、メンテナー本人が顔・メニュー、音、録音・再生、カメラ、サーボ、LEDを確認しました。別途適合させた会話MODで通常の音声会話が成功し、サーバー側の会話終了・provider finalized・履歴保存も確認しました。今回のcompiler修正について追加の実機試験は行っていません。
M5StackChan CoreS3では、診断overlayによる実音声の接続・停止・通常音声復帰を2回続けて確認しました。各回で実際の応答PCMを受信し、UIと同じ停止処理で資源を解放した後、通常TTSと500 msの録音・再生が成功しています。1回目の復帰後の再接続も成功しました。入力は固定合成音声、出力はミュートで、周辺音声は送信していません。
診断2回目のunderrun4件は、出力キュー不足区間が始まった回数であり、音切れ4回を意味しません。診断出力はミュートだったため、原因と聴感への影響は未特定で、継続観測とします。通常会話の成功は、全native taskのstack余裕、アンプ障害復帰、長時間運転、未実施の共通リリース実機テストの合格を意味しません。これらは未検証のままです。
元のアプリと保護領域の復元一致、元ファームウェアのreadyを確認しました。実機試験は既存パーティションへのapp-only更新で、full-bundleによる移行は未検証です。異なるパーティション構成からの移行で設定やMODの保持を保証しません。保持条件はWeb書き込み仕様を参照してください。通常M5Stack CoreS3の実機受け入れは、メンテナー判断により今回の公開前条件から外し、不具合報告が発生した場合に追跡します。通常CoreS3を実機検証済みとは表示しません。
Avatar DSLエディターの実機USB転送、パネル表示、ホストのまばたき・呼吸との同時動作、長時間運転も未検証です。自動テストの転送確認はモックであり、実機合格を意味しません。
詳細はWebRTC受け入れ条件とリリース前実機テストを参照してください。
Stack-chan v2.1.0
Standard M5Stack CoreS3 and M5StackChan CoreS3 firmware now includes the native WebRTC conversation backend. A conversation MOD must still be installed and started explicitly; updating the host does not automatically start a conversation or transmit microphone audio.
Changes
- Include WebRTC in standard CoreS3 hosts and release bundles. Conversation Workers, media tasks and I2S are not started while unused. Native audio closure is awaited, the HTTPS Worker is retired only after its queue drains, and optional asynchronous MOD cleanup finishes before host audio shutdown.
- Update firmware, typings, CI, the browser MOD compiler and simulator to Moddable SDK 10.1.0, including its TLS 1.2 server-authentication security fix. Update the host to receive the fix; a MOD-only update is insufficient. Experimental TLS 1.3 remains disabled.
- Add an opt-in Avatar DSL Face MOD with the pinned default, omega and aokko presets. A bounded native Piu/Poco backend handles animation, bytecode execution, geometry and rendering. The standard face remains the default. Rebuild a host with the MOD's native module and install the MOD separately.
- Add the Avatar DSL Web editor: edit/import/undo, bounded C/WASM preview, DSL/AVBC downloads and face-MOD transfer preparation with explicit confirmation. It includes Mono eye and works without experimental WebMCP. Device writing requires acknowledgement of a compatible native host, a trusted confirmation click and browser USB-port selection.
- Fix Avatar DSL functions ending in a conditional return being rejected during preview or falling through into the next function.
- Keep full-flash erase off by default in the Web installer, with an explicit erase-all choice and data-loss confirmation. Normal writes still erase their destination sectors. Retention requires compatible storage offsets, write ranges and data formats; it is not guaranteed merely by leaving full erase off.
- Localize simulator startup failures in English and Simplified Chinese.
Compatibility
Product packages and Web flash manifests are 2.1.0 with SDK 10.1.0. Host API 2 and existing partition layouts are unchanged. Non-S3 boards do not gain the native WebRTC backend. Web and CLI MOD installers accept XS 17.7–17.9 archives for SDK 10.1.x hosts; archive compatibility does not guarantee all required host modules or capabilities.
Builds assume one configuration per target. Configuration changes no longer clean automatically: run npm run clean explicitly or use a separate worktree. The larger Live VM/cache/timing profile remains opt-in.
Avatar DSL groups now use strict absolute half-open clipping and nested intersections, unlike earlier previews and upstream group hints. Custom programs must enclose all intended pixels. Fixed LCD pixel buffers use 8.75 KiB. Host HTTP/NVS uploads are not included.
Validation status
Automated validation covers firmware and Web tests, Avatar DSL compiler acceptance, native/WASM parity and browser behavior. Candidate-specific CI and results are recorded in the release PR. Automated tests and hardware acceptance are distinct; this release retains the unverified scope below.
On November 9–10, 2026, the maintainer checked the candidate M5StackChan CoreS3 app on the existing device partitions: face/menu, audio, recording/playback, camera, servos and LEDs. Normal voice conversation with a separately adapted conversation MOD succeeded, and server-side conversation closure, provider finalization and history persistence were confirmed. No additional physical-device test was performed for the compiler fix.
M5StackChan CoreS3 passed two consecutive real-audio lifecycle cycles using a diagnostic overlay. Each received actual downlink PCM, invoked the UI-equivalent stop method, released resources and recovered normal TTS plus 500 ms zero-PCM recording/playback. Reconnection after the first recovery succeeded. Fixed synthesized input and muted output avoided ambient-audio transmission.
Cycle 2 recorded four underruns. This counts the start of output-queue starvation intervals, not four audible interruptions. Muted diagnostic output leaves the cause and acoustic impact undetermined; observation will continue. Successful normal conversation does not establish all-native-task stack margins, amplifier fault recovery, long-duration stability or unperformed common release checks. These remain unverified.
The original app/protected-region restoration and original firmware readiness were verified. Device trials updated only the app on existing partitions; full-bundle migration remains untested. Settings and MOD retention across different partition layouts is not guaranteed; see the Web flashing specification. Ordinary M5Stack CoreS3 hardware acceptance is deferred to issue-driven follow-up by the maintainer, not claimed PASS.
Avatar DSL editor physical USB transfer, panel rendering, concurrent host effects and device soak remain unverified. Transfer automation uses mocks, not physical devices. See the WebRTC acceptance record and release device checklist.
スタックチャン v2.0.1
スタックチャン v2.0.1
M5StackChan CoreS3でMediaPipe BLE追従MODを開始してもSTKが見つからない問題を修正しました。顔が表示されていても、ホストがble local peer transport is not supportedでMODのBLE開始に失敗することがありました。
CoreS3専用manifestで実機用Local Peer bindingを選択するよう修正しています。Settings画面のBLE接続と、低遅延Wi-Fiの電源制御は維持します。
更新方法
安定版Web書込みでM5StackChan CoreS3のホストを更新してください。MediaPipe MOD 1.2.1はそのまま使用できます。同じパーティション構成からの更新では、設定やMODを消去する操作は不要です。
通常起動後、顔追従ページでSTKを選ぶと、アプリ内探索でstackchan-mediapipeへ接続します。BLE開始のための追加メニュー操作やカメラ開始は不要です。BLEはSettingsやMODが必要時に開始します。
製品版とWeb書込みmanifestは2.0.1です。SDKは10.0.2、ホスト互換識別子は10.0.2+stackchan.2を継続します。
検証範囲
M5StackChan CoreS3実機で、既存MODを保持してホストだけを更新し、広告・GATT接続・アプリ探索・再接続・Settingsの設定通知・顔追従を確認しました。設定値は変更せず、保護領域のハッシュとMODの識別情報も更新前後で一致しています。
切断直後の再接続はBlueZで中断する場合がありました。接続できない場合は切断を待ち、再探索してください。再起動なしのSettingsからMODへの切替、異なるパーティション構成からの移行、ほかの機種の実機動作は今回の検証範囲に含みません。
Stack-chan v2.0.1
Fixes MediaPipe BLE failing to advertise STK on M5StackChan CoreS3. The face could remain visible while the MOD logged ble local peer transport is not supported. The board-specific host manifest now selects the physical ESP32 Local Peer bindings. Settings BLE connectivity and the Wi-Fi power policy are retained.
Update the M5StackChan CoreS3 host through the stable Web installer. Existing MediaPipe MOD 1.2.1 remains compatible. No settings/MOD erase is required when retaining the same partition layout.
After normal startup, select STK on the MediaPipe page; application discovery then reports stackchan-mediapipe. No extra menu action or camera startup is required for BLE. Settings and MODs open BLE when needed.
The product version and Web flash manifests are 2.0.1. SDK 10.0.2 and host compatibility identifier 10.0.2+stackchan.2 remain unchanged.
A host-only update retaining the installed MOD was verified on M5StackChan CoreS3: advertising, GATT, application discovery, reconnects, Settings notifications and face tracking. No preference values were changed; protected flash-region hashes and MOD identity matched before and after the update. An immediate reconnect was aborted by BlueZ; waiting for disconnect and rescanning succeeded. Same-boot Settings-to-MOD transitions, other partition-layout migrations and physical operation on other boards were not tested in this release.
スタックチャン v2.0.0
スタックチャン v2.0.0
v2.0.0では、ファームウェア、型定義、ブラウザー用MODコンパイラー、シミュレーターをModdable SDK 10.0.2へ統一します。ホストを先に更新してから、新しいコンパイラーで作ったMODを導入してください。SDK移行による旧ホスト・旧APIとの互換性の変更を含むため、firmwareとWebツールをともにmajor更新とします。
既知の問題
v2.0.0タグ時点のMOD Gallery「MediaPipe BLE追従」の配布アーカイブにはCodex Voiceの実行入口が含まれていました。2026-10-20公開のMOD 1.2.1で修正済みです。現在の安定版Galleryから版付きアーカイブを導入してください。ファームウェアv2.0.0のタグ・配布物は変更していません。
更新手順と互換性
- 必要な本体設定とMODのソースを控え、対応する機種のホストファームウェアを更新します。Webのファームウェア書き込みは全消去を行わず、ホストとパーティション構成を上書きします。異なる構成からの移行では、既存設定やMODを引き継げない場合があります。
- 設定を再登録し、ホストの互換性識別子とMODの要求capabilityを確認します。
10.0.2+stackchan.2はSDK版とhost API世代を示す識別子で、製品版の2.0.0とは別です。 - 新しいブラウザーコンパイラーはXS 17.9アーカイブを生成します。SDK 9.5ホストの対応範囲はXS 17.7–17.8のため、新しいアーカイブを書き込む前にホストを更新してください。
- SDK 10.0ホストのアーカイブ判定範囲はXS 17.7–17.9です。範囲内でも、MODが使うモジュールやhost APIが存在することまでは保証しません。旧SDKで作ったMODも、使用APIを確認して必要に応じて移植・再ビルドしてください。
- 旧
sntp、mdns、classic network socketのimportを使うソースは、現在のECMA-419 provider/APIへ見直してください。TypeScriptのコンストラクターやPiu templateの型にもSDK 10の変更があります。 - CLIのMOD書き込みが認識するSDK系列は9.5.xと10.0.xです。旧8.3.x/9.0.xなどの未対応ホストは、MOD導入前に更新が必要です。
- Media Playerの共有音量
audio.volumeはhost API 2が必要です。Galleryは対応していないホストへの導入を拒否します。 - ソースビルドにはModdable SDK 10.0.2を使用します。ブラウザーコンパイラーの再ビルドにはEmscripten 5.0.1も必要です。SDK 9.5、10.0.0、10.0.1への途中の移行内容は、今回の10.0.2構成へ統合しています。
主な変更
SDK、通信、開発ツール
- HTTP、NTP、DNS-SDとCoreS3電源処理をSDKの現在のAPIへ移行し、HTTP keep-aliveの要求状態を分離しました。SDKの新しいネットワークモジュール配置に対応し、HTTP/MCP、WebSocket、TextEncoder/Decoderを保持しています。
- package MODのビルドで、packageの作業ディレクトリに依存せずボード定義を解決し、大文字を含むパスとpackage名に沿ったアーカイブ出力を扱うようにしました。
- Core2/CoreS3のSDK標準device providerを再利用し、Stack-chan固有のカメラバス、ポーリングタッチ、ヘッドタッチ、サーボ、電源、音声、USB配線を保持しました。Analog、SPI、PulseCount、PulseWidthなどのnative IOも引き続きホストから利用できます。
- SDK標準のFiles/FAT/SDSPIへSD MOD読出しを移行しました。遅延マウント、サイズ・アーカイブ互換性・書込み後検証を保持し、マウント失敗時にはフォーマットしません。音声保存UIやhot swap保証は追加していません。
- XSテスト・デバッグの実行をSDKのxsdbへ揃えました。
音声と会話
- PodcastとMP3 WebRadioを一つにまとめたMedia Player MODを追加しました。RSS・アートワーク、エピソード選択、一時停止・再開、シーク、再生終了を扱い、画面を閉じても再生を継続できます。再生元の切替と古いcallbackの干渉を防ぎます。
- 保存済み
tts.volumeを音声再生と共有します。Media Playerから高・中・低・ミュートを選べ、再接続せずに反映できます。WebRadioも保存音量に従うため、50%設定のgainは従来の0.2から0.1になります。メディアの最大gainは0.2です。 - MP3の44.1/48 kHz入力、HTTP Range、redirect、上限付きRSS・JPEG取得に対応します。HTTPSからHTTPへのredirectは拒否します。再生位置の再起動越しの保存、AAC/HLS、Radikoには対応していません。
- opt-inのCoreS3 WebRTC RealtimeConversationと、直接OpenAIへ接続するGPT-Live MOD例を追加しました。native音声、tool call、開始・停止・muteを扱い、認証情報や会話設定はMOD側で管理します。通常ホストで自動接続する機能ではありません。
- CoreS3 HTTPSの同一origin接続再利用、書込み待ち、cleanup後のDNS callback、WebRTC構成のcodecとallocatorの競合を修正しました。
本体、Face、操作
- M5StackChan CoreS3の内蔵ST25R3916を
device.sensor.RFIDとして公開しました。RFIDはopt-inで、UID検出・除去、ポーリング、アンテナ停止、明示的なType 2 NDEF URI読書きのサンプルを用意しています。MIFARE ClassicのデータIOには対応していません。 - M5StackChan専用サーボの既定pitch範囲をメーカー推奨の5–85°へ制限しました。範囲外や正面の要求は制限内へ収め、既存の校正と明示的な軸制限は保持します。
- CoreS3の低遅延Wi-Fi leaseを追加しました。leaseがない間はmodem sleepを使い、低遅延接続の所有中は起きた状態を維持します。
- PY32のLED初期化に一度だけ200 msの待ちを入れ、初回RGB書込みのI2C失敗を修正しました。Core2とタカオ版Core2のXS stackも増やし、報告されていたPiu起動ループに対応しました。
- ジト目とDeal With ItのFace表現、再利用可能な行単位の吹き出しを追加しました。Faceの自動動作を止めていても直接の表情更新を反映し、重なった傾き・なで反応の後は元の表情へ戻します。
- 設定のアクションボタンにSDK RoundRectを使い、行とヘッダーの描画を整えました。Wi-Fiパスワードはヘッダーの確認ボタンで確定できます。起動失敗時は安全なエラー種別とRestart操作を表示します。
- 本体のSettingsを開いてから5分間だけ、対応キーへのBLE設定書込みを受け付けます。Settingsを離れると受付を閉じ、機種固定の設定は読取り専用にします。
WebツールとMOD Gallery
- Stack-chan CATCHとJUMPを同じMini Gamesアーカイブ・Gallery packageへまとめました。
- Block Editorのダークモードのカテゴリ表示、プロジェクト改名後の古いビルド結果、起動設定を開いているシミュレーターの誤った起動timeoutを修正しました。シミュレーターは初期化や
onLaunchの例外も起動失敗として通知し、「起動中」のまま残らないようにしました。
検証状況
実機で検証したfirmwareは177291a62f2a31a8002f27a553ea36dff8120b2fです。リリース候補のfirmwareソースは同じで、Webシミュレーターには起動失敗通知の修正を含みます。この修正はソフトウェアの回帰テストで検証しています。最終候補SHAとCI・previewはリリースPRで確認してください。
- 2026-10-19、X1接続のM5StackChan CoreS3で通常release hostと一時検証MODを使用しました。default起動とMOD導入後の起動、HTTP 64 KiB受信、73,728バイト応答16回、HTTP監視61回、keep-aliveの404/500後復帰、WS文字列・バイナリ、PCMサンプルとnative再生callbackが成功しました。
- 30分5秒の継続条件を満たし、Drawerをプログラムから17回開閉しました。再起動・監視通信失敗はありません。継続前後でカメラ描画は計4回、2秒録音・再生は計4回完了しました。画像の見え方と音の聞こえ方を保証する試験ではありません。
- 一時MODは除去し、通常default behaviorへ戻しています。NVS、storage、bootloader、partition table、phy_initのハッシュは検証前後で一致しました。
- 設定UIとBLEはユーザー確認済みという報告を受けています。操作条件・回数の内訳はこの記録に含まれないため、設定・BLEのチェックリスト全項目のPASSとは扱いません。
- 本当の電源OFF/ONを3回行う試験、目視・聴感、手動サーボ、Web書込み・Gallery・ブロックエディター、設定消去を伴う操作は、この自動検証では未確認です。SD/LCD相互動作、他機種の実機動作、外部TLS/WSS・会話相手との相互運用も別途確認が必要です。
Web flash、MOD書き込み、設定変更・消去の成功報告も受けています。この報告を、電源OFF/ONの回数や目視・聴感・手動サーボ・SDなど、実機チェックリストの全項目のPASSへ拡張していません。未確認の範囲を記録したうえで、公開する判断を受けています。
配布と公開先
公開時のstack-chan-firmware-v2.0.0.zipには、com.m5stack、com.m5stack.core2、com.m5stack.cores3、m5stackchan_cores3を収録します。Stack-chan RTとタカオ版Core2 + SG90はソースビルド対象です。公開後は同梱のSHA-256で成果物を確認してください。
- 安定版Webツール
- developのWebツール
- リリース候補はPRのCloudflare previewで確認します。
このノートは、凍結元の26件のChangesetsと、同commitまでに統合した変更をまとめたものです。
Stack-chan v2.0.0
v2.0.0 aligns firmware, typings, the browser MOD compiler and simulator on Moddable SDK 10.0.2. Both packages receive a major version bump because older hosts and SDK APIs are no longer supported by all installation paths.
Known issue
The MediaPipe BLE Gallery archive at the v2.0.0 tag contained the Codex Voice entry module. MOD 1.2.1, published on 2026-10-20, fixes the distributed archive. Install the versioned archive from the current stable Gallery. The firmware v2.0.0 tag and release assets are unchanged.
Upgrade the host first
Save the settings and MOD sources you need, update the host, restore settings, then rebuild and install compatible MODs. Web firmware installation overwrites firmware and the partition layout without a full-chip erase. Existing settings and MODs may not carry over from a different layout. The descriptor 10.0.2+stackchan.2 identifies the SDK and host API generation; the product version is 2.0.0.
The new compiler emits XS 17.9 archives. SDK 9.5 hosts accept only XS 17.7–17.8 and must be updated first. SDK 10.0 hosts accept XS 17.7–17.9 at the archive level, but the imported modules and required host capabilities must also exist. Review legacy sntp, mdns, network socket imports and TypeScript/Piu types when migrating MOD sources. CLI installation recognizes SDK 9.5.x and 10.0.x hosts; unsupported older firmware requires a host update. Media Player's shared audio.volume requires host API 2.
Source builds use SDK 10.0.2; rebuilding the browser compiler also requires Emscripten 5.0.1. Intermediate SDK migration notes are consolidated into this final version.
Highlights
- Updates network APIs and module locations, isolates HTTP keep-alive request state, retains HTTP/MCP, WebSocket and text encoding utilities, and fixes package MOD path and archive resolution.
- Reuses standard Core2/CoreS3 device providers while retaining board wiring and native IO. Moves SD MOD reads to standard Files/FAT/SDSPI with lazy mounting and no formatting after a mount failure.
- Adds Media Player with Podcast and MP3 WebRadio, shared saved volume, pause/resume, seeking, artwork and playback beyond the view lifetime. The default 50% WebRadio volume now gives gain 0.1 rather than 0.2; the maximum remains 0.2. Playback positions do not survive restarts; AAC/HLS and Radiko are unsupported.
- Adds opt-in CoreS3 WebRTC RealtimeConversation and a direct OpenAI GPT-Live MOD example. Fixes HTTPS reuse, request cleanup and codec/allocator integration. These features do not connect automatically in the normal host.
- Adds opt-in built-in RFID support and Type 2 NDEF examples, safe 5–85° default pitch limits, low-latency Wi-Fi leases, PY32 LED startup settling and the Core2 XS stack fix.
- Adds Jitome and Deal With It face expressions and row-based balloons; fixes overlapping reaction restoration, settings button/row drawing, Wi-Fi password confirmation and startup error presentation.
- Restricts BLE preference writes to supported keys during a five-minute Settings window and keeps platform-locked preferences read-only.
- Combines CATCH/JUMP in Mini Games and fixes dark Block Editor labels, stale builds after project renames and simulator readiness during startup settings. Explicit startup failures now settle readiness even when initialization or
onLaunchfails before the boot timeout is armed.
Validation boundaries
The firmware snapshot tested on X1 was 177291a. Firmware source remains unchanged; the release candidate also fixes Web simulator startup-failure reporting, covered by software regression tests. See the release PR for its final candidate SHA and CI/preview.
The M5StackChan CoreS3 passed the automated 30m5s condition, 17 programmatic Drawer cycles, 61 HTTP polls, 16 large responses, HTTP/WS/PCM regressions, and camera/audio actions before and after the soak. Camera rendering and record/playback completed four times each with no observed reboot or communication failure. Protected flash-region hashes matched, and the temporary MOD was removed.
Settings UI, BLE, Web firmware installation, MOD installation, settings changes and settings clearing have user-reported success without itemized conditions or counts. Three true power cycles, image appearance, audibility, manual servo behavior, individual Gallery/editor workflows and reset checklist conditions remain unverified here. SD/LCD interactions, other hardware and external TLS/WSS/conversation interoperability also need separate checks. The full physical release gate is not recorded as passed.
When published, `stack-chan-firmware-v2....
スタックチャン v1.1.0
スタックチャン v1.1.0
v1.1.0では、M5StackChan CoreS3と外部機器の接続機能を拡張し、本体設定とブラウザーツールを更新しました。
主な変更
外部機器との接続
- Android端末などの対応する相手機器とUSB接続し、CoreS3のマイクとスピーカーを使って音声対話できるStackchan Dockを追加しました。
- 標準CoreS3ホストへ遅延起動可能なUSB remote sessionを組み込み、Codex Voice MODから必要なときだけ有効化できるようにしました。
- USB bridgeとapplication event処理を起動時から保持し、MODの有効化前に届いたtask状態を引き継ぎながら、古いsessionのtool結果を次のsessionへ混入させないようにしました。
- BLE SerialをLocal Peer通信へ追加し、ブラウザーと実機の間で認証付きメッセージを送受信できるようにしました。
- MediaPipe BLEデモを追加し、カメラで検出した顔向き、表情、目と口、手の動きをCoreS3へ反映できるようにしました。
- XiaoZhi v1互換サーバーへ接続するChatServiceを追加し、CoreS3でOpus音声とテキスト・MCPイベントを送受信できるようにしました。既存の直接OpenAI Realtime ChatConfig経路は維持しています。
本体の表示と操作
- FaceのAppBarへローカル時刻と対応M5Stackのバッテリー残量を表示するようにしました。
- 起動設定へタイムゾーンと音量を追加し、音量を保存すると確認音を再生するようにしました。
- Codexのバックグラウンドタスク実行中は、会話状態とは独立した青色のインジケーターをFaceへ表示するようにしました。
- 英大文字グリフとQRコードレンダラーを標準ホストへ同梱し、認証コードとactivation linkを表示できるようにしました。
- 音量変更時のCoreS3再起動、カメラ再開、USB音声sessionなどの安定性を改善しました。
ブラウザーツールとMOD Gallery
- WebツールをReactとViteによる共通画面へ移行し、ファームウェア書き込み、設定、MOD Gallery、エディター、シミュレーターの操作を揃えました。
- Codex Voice、MCP Server、MediaPipe BLE、Stack-chan JUMPをMOD Galleryから導入できるようにしました。
- Piuの部品、重なり、スクロール、タッチ操作を確認できるmini app UI playgroundをMOD Galleryへ追加しました。
- MODとmini appのentrypointを一つのアーカイブへ同梱できるようにし、host capabilityの事前確認と実装ソースへのリンクを追加しました。
- ブロックエディターへ生成コードのコピーボタンを追加し、flyoutのスクロールバーを修正しました。
- Webツールへ、ファームウェア書き込み時の消去警告とBLE設定前に本体をペアリング可能な画面へ移す手順を追加しました。
- ファームウェア、WASMシミュレーター、ブラウザー用ビルドツールをModdable SDK 9.0.0へ更新しました。
セキュリティ
- MCP Serverの
POST /mcpへBearer token認証を追加しました。 - token未設定、認証ヘッダーなし、またはtoken不一致の要求は
401 Unauthorizedになります。
更新時の注意
- v1.0.0から新しいUSB Dock、BLE Local Peer、電源状態、タイムゾーン、音量の機能を使う場合はホストファームウェアを書き直してください。
- ファームウェアを書き込むと、本体の設定と導入済みMODは消去されます。
- MCP Server MODを使う場合は、起動設定またはWeb設定で
mcp.tokenを設定し、クライアントへ同じBearer tokenを指定してください。 - Codex VoiceにはUSB wire protocol version 2とprovider世代確認に対応したStackchan Dock側ソフトウェアが必要です。
- Web flasherが表示する
9.0.0+stackchan.1は、Moddable SDK版とStack-chan host API世代を組み合わせた互換性識別子です。
Webツールの公開先
mainに対応する安定版を利用者向けの正本とします。developに対応する開発版は次回リリースの確認用です。release/*はGitHub Pagesへ直接公開せず、リリースPRのCloudflare previewで確認してからmainへ反映します。
配布ファームウェア
stack-chan-firmware-v1.1.0.zipには、com.m5stack、com.m5stack.core2、com.m5stack.cores3、m5stackchan_cores3を収録します。
Stack-chan RTとタカオ版Core2 + SG90はソースからビルドできますが、このZIPには含まれません。
SHA-256は同時に公開する.sha256ファイルで確認できます。
リリース前検証
実機検証はリリース前実機テストに従って実施し、対象コミットと結果をリリースPRへ記録します。
v1.1.0では共通項目に加え、C-01からC-05、C-08、C-09を対象とします。
既知の制限
- 必須のリリース前実機テストはM5StackChan CoreS3を対象とします。
- Stack-chan RTとタカオ版Core2 + SG90はCIによるビルド検証を行い、対応実機がある場合だけ追加の手動確認を行います。
- Stackchan Dockは任意拡張であり、対応するAndroid端末またはPC側ソフトウェアが別途必要です。
変更履歴全体はv1.0.0...v1.1.0で確認できます。
Stack-chan v1.1.0
v1.1.0 expands M5StackChan CoreS3 connectivity and updates the on-device settings and browser tools.
Highlights
External connectivity
- Adds Stackchan Dock USB audio for voice sessions that use the CoreS3 microphone and speaker with a compatible peer such as an Android device.
- Bundles a lazily activated USB remote session in the standard CoreS3 host so the Codex Voice MOD enables it only when needed.
- Keeps the USB bridge and application-event runtime alive from boot, retains task state received before MOD activation, and prevents stale tool results from crossing activation lifetimes.
- Adds BLE Serial transport to Local Peer messaging for authenticated communication between a browser and a device.
- Adds a MediaPipe BLE demo that maps tracked face direction, expression, eyes, mouth, and hands to a CoreS3.
- Adds a ChatService connection for XiaoZhi v1-compatible servers, with Opus audio and text/MCP events on CoreS3, while preserving the existing direct OpenAI Realtime ChatConfig route.
Device display and controls
- Shows local time and supported M5Stack battery levels in the Face AppBar.
- Adds time zone and volume controls to startup settings, including a confirmation tone when volume is saved.
- Shows Codex background task activity as a blue indicator independent of the current conversation state.
- Bundles uppercase Latin glyphs and the QR-code renderer in the standard host so authorization codes and activation links can be displayed.
- Improves stability around CoreS3 volume changes, camera restarts, and USB audio sessions.
Browser tools and MOD Gallery
- Migrates the browser tools to a shared React and Vite shell covering firmware installation, preferences, MOD Gallery, editors, and the simulator.
- Publishes Codex Voice, MCP Server, MediaPipe BLE, and Stack-chan JUMP through the MOD Gallery.
- Adds a mini-app UI playground to the MOD Gallery for checking Piu components, layering, scrolling, and touch input.
- Supports MOD and mini-app entrypoints in one archive, checks host capabilities before installation, and links to implementation sources.
- Adds generated-code copying to the block editor and fixes its flyout scrollbar.
- Adds Web guidance about data erased by firmware installation and the device-side pairing step required before BLE preferences connect.
- Updates the firmware, WASM simulator, and browser build tools to Moddable SDK 9.0.0.
Security
- Adds Bearer token authentication to MCP Server
POST /mcprequests. - Requests with no configured token, no authorization header, or a mismatched token receive
401 Unauthorized.
Upgrade notes
- Reflash the host firmware when upgrading from v1.0.0 to use the new USB Dock, BLE Local Peer, power status, time zone, and volume features.
- Flashing firmware erases device preferences and installed MODs.
- Configure
mcp.tokenin startup or Web preferences and use the same Bearer token in MCP clients. - Codex Voice requires Stackchan Dock peer software that supports USB wire protocol version 2 and provider-generation acknowledgement.
- The Web flasher identifier
9.0.0+stackchan.1combines the Moddable SDK version with the Stack-chan host API generation.
Browser tool channels
- The
main-based stable site is the canonical user-facing deployment. - The
develop-based site previews the next release. - A
release/*branch is checked through its Cloudflare pull-request preview and does not deploy directly to GitHub Pages.
Firmware assets
stack-chan-firmware-v1.1.0.zip contains com.m5stack, com.m5stack.core2, com.m5stack.cores3, and m5stackchan_cores3.
Stack-chan RT and Takao Core2 + SG90 can be built from source but are not included in this ZIP.
Verify the download with the accompanying .sha256 file.
Pre-release validation
Record the tested commit and results in the release pull request using the physical-device release checklist.
For v1.1.0, run change-specific cases C-01 through C-05, C-08, and C-09 in addition to the common gate.
Known limitations
- The required physical-device release gate covers M5StackChan CoreS3.
- Stack-chan RT and Takao Core2 + SG90 are build-verified in CI and receive additional manual checks only when matching hardware is available.
- Stackchan Dock is an optional extension and requires a compatible Android device or PC-side peer software.
スタックチャン v1.0.0
スタックチャン v1.0.0
スタックチャンの最初の安定版リリースです。
ファームウェア、MOD開発環境、ブラウザー上のツールとシミュレーターを一体として提供します。
主な変更
- M5StackChan CoreS3を標準構成とし、Stack-chan RTおよびタカオ版Core2 + SG90向けのビルドにも対応しました。
- ホストとMODを分離した実行モデルを整理し、機能単位のcontext API、platform固有driver、manifest検査を導入しました。
- ブラウザーからのfirmware書き込み、設定、Face編集、BlocklyによるVisual Programming、MODのビルドと導入を一つのWeb UIに統合しました。
- WebAssemblyシミュレーターを追加し、Face、モーション、入力、音声、カメラ、Visual Programmingの動作をブラウザーで確認できるようにしました。
- Wi-Fi設定と復旧UI、CoreS3 WebRadio、カスタマイズ可能なFace、mini app、手のアニメーションを追加しました。
- VOICEVOXとElevenLabsに加え、CoreS3上で動くStack-chan Voiceの発話・歌唱合成を追加しました。
- 日本語、英語、簡体字中国語の表示に対応しました。
- Moddable SDK 8.3.1、Node.js 22を基準とする再現可能なbuild、test、bundleのCIを整備しました。
更新時の注意
- v0.2.1またはv1.0.0rcから更新する場合は、host firmwareを書き直し、独自MODをv1.0.0のAPIとModdable SDKで再buildしてください。
- firmwareとMODの構成、module名、context APIは旧版から大きく変わっています。独自実装はfirmware APIガイドとMODガイドを確認してください。
- Webフラッシャーが表示するfirmware versionは、製品versionではなく互換性判定に使うModdable SDK versionです。v1.0.0の配布物はModdable SDK 8.3.1を使用しています。
配布firmware
stack-chan-firmware-v1.0.0.zipには次のターゲットを収録しています。
com.m5stackcom.m5stack.core2com.m5stack.cores3m5stackchan_cores3
Stack-chan RTとタカオ版Core2 + SG90はソースからbuildできますが、このZIPには含まれません。
SHA-256は同時に公開する.sha256ファイルで確認できます。
既知の制限
- MCP ServerのサンプルはBearer認証に未対応です。信頼できるローカルネットワーク内でのみ使用してください。
- 実機release gateはM5StackChan CoreS3で実施しています。Stack-chan RTとタカオ版Core2 + SG90はCIによるbuild検証です。
変更履歴全体はv0.2.1...v1.0.0で確認できます。
Stack-chan v1.0.0
This is the first stable Stack-chan release.
It delivers the firmware, MOD development environment, browser tools, and simulator as one supported system.
Highlights
- Makes M5StackChan CoreS3 the standard configuration and adds source builds for Stack-chan RT and Takao Core2 + SG90.
- Establishes the separated host/MOD runtime model with capability-oriented context APIs, platform-specific drivers, and manifest validation.
- Unifies browser firmware flashing, preferences, face editing, Blockly visual programming, and MOD build/install workflows in one Web UI.
- Adds a WebAssembly simulator for faces, motion, input, audio, camera, and visual programs.
- Adds Wi-Fi setup and recovery, CoreS3 WebRadio, customizable faces, mini apps, and animated hand sprites.
- Adds on-device Stack-chan Voice speech and singing synthesis alongside VOICEVOX and ElevenLabs integrations.
- Adds Japanese, English, and Simplified Chinese UI support.
- Establishes reproducible build, test, and bundle CI based on Moddable SDK 8.3.1 and Node.js 22.
Upgrade notes
- When upgrading from v0.2.1 or v1.0.0rc, flash the host firmware again and rebuild custom MODs against the v1.0.0 APIs and Moddable SDK.
- Firmware and MOD layout, module names, and context APIs have changed substantially. Review the firmware API guide and MOD guide when migrating custom code.
- The firmware version shown by the Web flasher is the Moddable SDK version used for compatibility checks, not the Stack-chan product version. The v1.0.0 assets use Moddable SDK 8.3.1.
Firmware assets
stack-chan-firmware-v1.0.0.zip contains these targets:
com.m5stackcom.m5stack.core2com.m5stack.cores3m5stackchan_cores3
Stack-chan RT and Takao Core2 + SG90 can be built from source but are not included in this ZIP.
Verify the download with the accompanying .sha256 file.
Known limitations
- The MCP Server sample does not support bearer authentication. Use it only on a trusted local network.
- The physical-device release gate covers M5StackChan CoreS3. Stack-chan RT and Takao Core2 + SG90 are build-verified in CI.
Version 1.0.0rc
Merge pull request #226 from meganetaaan/feature/xs-bug-doc Add debug description
Version 0.2.1 "Alpha"
This version is used by "Stack-chan kit alpha" distributed at Maker Faire Tokyo 2022.
Software part ("Getting Started") still needs to be improved. See #65 .
Version 0.2.1 RC
This version is a release candidate for Stack-chan version 0.2.1
Done is better than whatever
The first release of stack-chan. Kind of this-works-on-my-environment version. Making trials are welcome!
- basic feature including setting gaze, following target, changing faces
- defining stable I/F of firmware is still a long way
- case/board for SG-90/RS30X servos available