pdf-icon

StackChan/StackChan Remote Kit

SKU:K151/K151-R

説明

StackChan は、M5Stack とユーザーコミュニティによって共同開発された、とてもカワイイ AI デスクトップロボットです。本製品は、M5Stack の フラッグシップ IoT 開発キット CoreS3 をホストとして採用し、ESP32-S3 をメインコントローラとして搭載しています。240 MHz のデュアルコアプロセッサ、16MB Flash、8MB PSRAM をオンボードで備え、Wi-Fi および BLE に対応しています。メインユニットには、2.0 インチの高強度ガラスカバー付き静電容量式タッチスクリーン、0.3 MP カメラ、近接・環境光センサー、9 軸姿勢センサー(加速度+ジャイロスコープ+地磁気)、microSD カードスロット、1W スピーカー、デュアルマイク、電源およびリセットボタンなどの周辺機器が統合されています。

メインユニットに接続される ロボット本体部 には、USB-C 電源・データインターフェース、550 mAh バッテリー、フィードバック付きサーボモーター 2 基(水平方向 360 度無限回転、垂直方向 90 度可動)、2 列合計 12 個の RGB LED、赤外線送信・受信モジュール、3 ゾーンタッチパネル、フル機能 NFC などの周辺機器が搭載されています。

出荷時ファームウェアは機能が豊富で、AI エージェント、表情豊かで生き生きとしたアニメーション、ESP-NOW によるワイヤレスリモート操作、オンラインアプリのダウンロードに対応しています。スマートフォンアプリに接続して動画の閲覧やリモート分身操作などが可能で、オンラインアップデート(OTA)にも対応しています。また、本製品は Arduino や UiFlow2 などのプログラミングにも対応しており、M5Stack エコシステム内のさまざまな拡張ユニットに接続でき、多様なカスタム機能の実装が容易です。

StackChan コミュニティのコントリビューターの皆様に感謝します。特に以下の方々に:

@stack_chan @mongonta555
Shinya Ishikawa Takao Akaki

注意事項

モーター安全上の注意
モーターが通電・制御されているか不明な状態で、モーターに接続された可動部を手で無理に回転させないでください。ハードウェア破損の原因となります。

クイックスタート

StackChan の出荷時ファームウェアの紹介。スマートフォンアプリとのバインドおよび設定、各機能の使用方法について説明します。

特徴

  • CoreS3 ホストをベースにした設計
  • ロボット本体部
    • USB-C 電源・データインターフェース
    • 550 mAh バッテリー
    • フィードバック付きサーボモーター 2 基(水平方向 360 度無限回転、垂直方向 90 度可動)
    • 2 列合計 12 個の RGB LED
    • 赤外線送信・受信モジュール
    • 上部 3 ゾーンタッチパネル
    • フル機能 NFC
  • 開発プラットフォーム
    • UiFlow2
    • Arduino IDE
    • PlatformIO
    • ESP-IDF

含まれるもの

  • 1 x 収納ケースまたは紙箱(購入した製品キットによって異なります)
  • 1 x StackChan 本体(CoreS3 組み込み済み)
  • 1 x 50cm USB-A to USB-C ケーブル
  • 1 x リモコン(購入した製品キットに含まれるかどうかによります)
  • 1 x キャラクター表情ステッカー
  • 1 x 紙の取扱説明書

アプリケーション

  • デスクトップ向けコンパニオン
  • AI エージェント
  • 音声による質問応答
  • スマートホーム
  • IoT 制御

仕様

仕様 パラメータ
メインコントローラ ESP32-S3
Xtensa® デュアルコア 32-bit LX7、240 MHz
16MB Flash、8MB Quad PSRAM
無線接続 2.4 GHz Wi-Fi、IEEE 802.11 b/g/n
Bluetooth® 5 LE
赤外線受信 IRM56384+赤外線送信
有線接続 USB CDC & Full-speed USB OTG
GPIO、UART、I2C
ディスプレイ 2.0 インチ IPS LCD、解像度 320*240、65536 色、ILI9342C ドライバ
静電容量式マルチタッチ、FT6336U ドライバ
カメラ GC0308、640*480、0.3 MP
センサー デュアルマイク、ES7210 オーディオコーデック
近接・環境光センサー LTR-553ALS-WA
9 軸 IMU BMI270+BMM150(加速度+ジャイロ+地磁気)
3 ゾーンタッチパネル、Si12T ドライバ
フル機能 NFC ST25R3916
ヒューマンインターフェース 1W スピーカー、AW88298 16-bit I2S パワーアンプ
RGB LED WS2812C * 12
電源およびリセットボタン
電源インジケータ LED
拡張インターフェース microSD カードスロット
Grove インターフェース * 3
LEGO® 互換取付穴
モーター 水平方向 360 度回転フィードバック付きサーボ
垂直方向 90 度可動フィードバック付きサーボ
電源 550 mAh バッテリー
USB-C 電源・データ
電源管理 IC AXP2101、RTC BM8563
製品サイズ 54.0 x 70.5 x 61.5mm
製品重量 StackChan:187.0g
リモコン:37.6g
梱包サイズ StackChan:142.0 x 101.0 x 58.0mm
StackChan Remote Kit:155.0 x 109.0 x 65.0mm
梱包重量 StackChan:272.4g
StackChan Remote Kit:372.9g

操作説明

BMM150 磁場干渉
磁石は BMM150 地磁気センサーに干渉し、測定値が異常になる可能性があります。地磁気を用いてデバイスの方位を計算する場合は、強い磁場の近くに本製品を置かないようにしてください。

電源操作

電源オン:電源ボタンを短く 1 回押します(左側の USB-C ポート付近)。 電源オフ:電源ボタンを 6 秒間長押しします(左側の USB-C ポート付近)。 リセット/再起動:RST リセットボタンを短く 1 回押します(下側の microSD カードスロット付近)。

ダウンロードモード

USB-C ケーブルで StackChan とコンピュータを接続します(メインユニットの USB-C ポートおよびベースのはいずれもデータ転送に対応しています。ただし、モーターの動作による不意の事故を避けるため、ベース側のポートの使用を推奨します)。下側の microSD カードスロット付近にある RST リセットボタンを 3 秒間長押ししてください。ボタン横のインジケータ LED が緑色に点灯すると、ダウンロードモードに入ったことを示します。点灯後はボタンを離してください。

回路図

ピンマップ

ここでは主にロボットのボディ部分を説明します。メインコントローラ部分については、CoreS3 ピンマップを参照してください。

ESP32-S3 G6 G7 G5 G10 G11 G12
Servo_TX Servo_RX IR_SEND IR_REC I2C_SCL I2C_SDA

IO 拡張チップ

PY32L020 IO1 IO14
VM_EN RGB

I2C アドレス: 0x6F(ADD_SEL 低レベル、デフォルト)
I2C アドレス: 0x71(ADD_SEL 高レベル)

I2C デバイス

デバイス I2C アドレス
バッテリー監視(INA226AIDGSR) 0x41
NFC(ST25R3916-AQWT) 0x50
タッチ(Si12T、TSM12 互換) 0x68
IO 拡張(PY32L020) デフォルト 0x6F
0x71 に設定可能

拡張インターフェース

HY2.0-4P Black Red Yellow White
PORT.A GND 5V G2 G1
PORT.B GND 5V G9 G8
PORT.C GND 5V G17 G18

製品サイズ

3D

(準備中)

データシート

ソフトウェア

オープンソースリポジトリ

  • StackChan - GitHub、デバイスファームウェア、リモコンファームウェア、モバイルアプリ、サーバーのソースコードを含みます

Arduino

UiFlow2

出荷時ファームウェア

バージョンについて
本チュートリアルは出荷時ファームウェア V1.2.3 およびモバイルアプリ(iOS / Android)バージョン 1.1.1 に対応しています。これ未満のバージョンのファームウェアおよびモバイルアプリはサポートされていません。あらかじめご了承ください。

モバイルアプリのバインドと設定

AI エージェントのバインドおよび設定や、リモート動画などの機能を利用するために、StackChan は StackChan World モバイルアプリと組み合わせて使用する必要があります。本アプリは iOS および Android に対応しています。ダウンロード先:

インストール後、アプリを起動し、M5Stack アカウントでログインまたは新規登録してください(UiFlow、M5Burner、M5Stack フォーラムで使用しているアカウントと同一です)。

StackChan を底部の USB-C ポートで電源に接続するか、左側の電源ボタンを短押しして起動します。画面に Welcome ページが表示されます。Start をタップし、デバイスを硬く安定した平面に置き、手などに触れない状態にしてから、再度 Start をタップしてサーボテストを開始します。StackChan は左・右・上の順に動作し、最後に初期位置(画面がベースに対して垂直で、2 つの「足」の中央)に戻ります。

サーボテスト完了後、Next - Next をタップし、スマートフォンでアプリを開きます。アプリ内の Add a new StackChan をタップすると、スマートフォンは近くの StackChan が送信する Bluetooth バインド要求をスキャンし、リストに表示します。StackChan 画面に表示されている ID(メインコントローラの MAC アドレス)と同じデバイスを選択し、アプリの指示に従って以下の項目を順に設定してください:

  • デバイス名(同じアカウントにバインドされた複数のデバイスを区別するために使用)
  • AI エージェント
    • 名前(AI エージェントが自分自身を呼ぶ名前であり、ウェイクワード Hi, StackChan ではありません。カスタムウェイクワード機能はまだ利用できません)
    • 対話言語
    • AI モデル
    • 音色、話速、声の高さ
    • ユーザー音声認識速度
    • 性格
    • 記憶
  • 接続する Wi-Fi の名称とパスワード(2.4GHz 対応、5GHz 非対応。許可すると、スマートフォンが現在接続している Wi-Fi 名を自動入力できます)

以上の設定が完了すると、StackChan は再起動し、バインドと設定が完了します。

注意
バインド後、app の設定で AI エージェントを変更した場合は、変更を反映するために StackChan を再起動する必要があります。

画面ナビゲーション

電源を入れると、画面にメインメニューが表示されます。左右にスワイプして異なる機能アイコンを切り替え、タップして入ります。各機能内では、画面の上下端から内側へスワイプすると、ステータスバー(ネットワーク、時刻、バッテリー残量)とメインメニューに戻るための Home ボタンをそれぞれ表示できます。

AI Agent

この機能に入るたびに、ネットワーク経由でファームウェア更新を確認し、自動でダウンロード・インストールした後に再起動します。デフォルトの音声ウェイクワードは Hi, StackChan です(カスタムウェイクワード機能はまだ利用できません)。画面をタップして起動し、会話を始めることもできます。

画面左上付近にある RGB LED は、音声インタラクションの状態を示します:

  • :デバイスが音声を聴取中;
  • :デバイスが発話中;
  • 消灯:音声インタラクションは待機状態。

よく使われる音声コマンド:

  • 一般的な質問応答
    • 今何時?
    • 明日の大阪の天気はどう?
    • ジョークを一つ言って。
    • ニュートンについて紹介して。
    • 10 分後に水を飲むようにリマインドしてください。
  • デバイス本体の部品操作
    • (スピーカー)音量を 80% に設定して。
    • (モーター)左に頭を回して。
    • (RGB LED)内蔵ライトを青色にして。
    • (カメラ)今、何が見えている?
    • (バッテリー)バッテリー残量はどれくらい?
  • Home Assistant MCP 接続後(接続手順は以下をご参照ください)
    • 寝室のライトをつけて。
    • エアコンをつけて、25 度に設定して。
    • 今、リビングの温度は何度?

AI Agent モードでは、デバイスがアイドル状態のとき、まばたきなどの表情や頭の動きをランダムに行います。頭頂部のタッチエリアを縦方向にスワイプすると、嬉しい🥰表情と動作がトリガーされます。本体を振ると、めまい😵‍💫の表情がトリガーされます。一定時間操作がない場合は、睡眠😴表情がトリガーされます。

Home Assistant プラグインを介して MCP に接続すると、AI Agent が音声で Home Assistant デバイスを操作できるようになります。操作手順については、現時点では https://github.com/c1pher-cn/ha-mcp-for-xiaozhi/blob/main/README.en.md を参照してください。詳細なチュートリアルは準備中です。

Avatar モバイル通信

StackChan の Avatar 機能は、モバイルアプリ側の Avatar 分身、Monitoring Camera 監視カメラ、Motion 動作、および Dance(Wi-Fi モード)機能に対応しています。モバイル側でこれらの機能を使用・切り替える際は、StackChan を Avatar モードのままにしておけばよく、追加の操作は不要です。

  • モバイルアプリで Avatar 機能に入ると、StackChan はあなたの分身となり、スマートフォン前の人物の動きを模倣します(上下左右の頭の動き、目や口の位置や大きさなど)。音声通話機能はまだ利用できません。
  • モバイルアプリで Monitoring Camera 機能に入ると、StackChan は監視カメラとして動作します。画面上のジョイスティックで各方向に操作できます。
  • モバイルアプリで Motion 機能に入ると、頭の動きや画面の表情を操作できます。rotate オプションでは水平方向の連続回転が可能です。
  • モバイルアプリで Dance 機能に入ると、右上で Network(Wi-Fi モード)を選択できます。音楽、動作(回転角度)、ライトの色を設定して、StackChan のダンスを編成できます。

ESP-NOW リモート操作

本機能は、Wi-Fi ベースの ESP-NOW 無線通信プロトコルを使用してリモート操作を実現します。StackChan は受信側として動作し、リモコンまたは別の StackChan が送信側として動作します。

リモート機能に入ると、Receiver または Sender を選択してデフォルトの操作モードにすぐ入ることができます。また、Advanced をタップすると、Wi-Fi Channel と Receiver ID をカスタマイズできます。StackChan を送信側として使用する場合、頭部を手動で回転させると、受信側も同じ角度に回転します。

リモコンは StickC-Plus コントローラHat Mini JoyC ジョイスティック で構成されています。左側の電源ボタンを 2 秒長押しで電源オン、6 秒長押しで電源オフとなり、コントローラ本体と同様です。電源投入後、右側の小ボタン(BtnB)を短押しして Wi-Fi Channel と Receiver ID の選択を切り替え、ジョイスティックを上下に動かして数値を増減します。前面の大ボタン(BtnA)を短押しするとジョイスティック操作モードに入り、もう一度押すと IMU 姿勢制御モードに切り替わり、さらにもう一度押すと Wi-Fi Channel と Receiver ID の設定画面に戻ります。

Wi-Fi Channel と Receiver ID のルール:同じ Wi-Fi Channel にあるデバイス同士のみ通信可能で、異なる Channel 間では通信できません。受信側は自身の ID を設定し、送信側は操作対象の ID を設定します。ターゲット ID が 0 の場合はブロードキャストとなり、すべての受信側(ID に関係なく)が制御されます(受信側の ID は 0 に設定できません)。ターゲット ID が 0 でない場合は、対応する ID の受信側のみが制御されます。複数の受信側に同じ ID を設定することで、グループ制御が可能です。

App Center

この機能では、パイプジャンプゲーム、IMU スタビライザー、万能赤外線学習リモコンなど、さまざまなアプリをオンラインでダウンロードできます。アプリは順次追加されます。

EZData

本機能は現在未対応です。

Dance

本機能は、モバイルアプリの Dance 機能の Bluetooth モードに対応しています。音楽、動作(回転角度)、ライトの色を設定して、StackChan のダンスを編成できます。

Setup 設定

ここでは、StackChan 本体の各種設定を行います。Wi-Fi ネットワーク、画面の明るさ、スピーカー音量、タイムゾーン、サーボキャリブレーション、RGB ストリップテスト、アカウント解除、ファームウェア更新などが含まれます。

サーボキャリブレーション:一部の場合、サーボの異常はこの機能で再調整できます。キャリブレーション画面に入った後、デバイスを軽く手動で初期位置に回転させます(画面がベースに対して垂直で、2 つの「脚」の中央に位置する状態)。その後、Set Current Position As Home をタップします。次にキャリブレーションが有効か確認します:デバイスを軽く初期位置からずらしてから、Move To Home をタップします。初期位置に戻ればキャリブレーションは成功です。最後に下部の Done をタップして完了します。

モーターの安全のために
手動で回転させた際に抵抗を感じる場合は、モーターが通電され制御中であることを示します。無理に回転させるとハードウェア損傷の原因となります。

ファームウェア更新:AI Agent 起動時と同様に、ネットワーク経由で更新を確認し、自動的にダウンロード・インストールして再起動します。

モバイルアプリ設定

モバイルアプリでは、複数デバイス管理、デバイス名、AI Agent プロファイル、MCP、会話履歴、デバイス解除などの設定が可能です。StackChan 本体での解除操作とアプリ側での解除操作は同じ効果があり、AI Agent 設定の初期化、会話履歴の削除、アプリ接続の解除が行われ、再起動後に別の M5Stack アカウントへ再バインドできます。

出荷時ファームウェアの復元

Arduino、UiFlow などでカスタムファームウェアを書き込んだ場合や、その他の理由で出荷時ファームウェアに戻す必要がある場合は、PC 上の M5Stack 統合書き込みツール M5Burner を使用します:

M5Burner を起動し、StackChan を検索して Only Official にチェックを入れ、Download をクリックして最新のファームウェアをダウンロードします。

USB-C ケーブルで PC と StackChan を接続します。両方の USB-C ポートでデータ通信が可能ですが、動作中の回転による事故を防ぐため、ベース側のポートの使用を推奨します。電源ボタンを短押しして起動します。macOS で接続許可ダイアログが表示された場合は許可してください。

M5Burner で Burn をクリックし、デバイスに対応するポートを選択します。Start をクリックし、進行バーが完了するまで待ちます。

デバイスのポートが不明な場合は、ポート一覧を展開し、デバイスを一度取り外して消えたポート名を確認し、再接続してください。ポートが表示されない場合は、RST ボタンを 3 秒間長押しします。ボタン横のインジケーターが緑色に変わり、ダウンロードモードに入ります。その後ボタンを離してください。