🧰 組み立て手順(写真付き)
スタックちゃん K151 + Module-LLM Kit + Bottom3 + FAN + センサー Unit 群を実機に組み上げる手順。
大事な前提
K151 は出荷時に完成品 です。サーボやブラケットを自分でネジ止めする作業は 不要 です。 やることは「追加モジュールを差し込む」と「Grove ケーブルで Unit を繋ぐ」だけ。所要 30 分以内。
🖼 公式の K151 写真(まずこれを見て構造を把握)
実機の見た目は M5Stack 公式ページが一番信頼できるので、まずこれらの写真で 「どこに何があるか」 を把握してください:
全 17 枚は
K151_stack_chan_main_pictures_01.webp〜_17.webpまで番号を変えてアクセスできます。気になる角度を覗いてください。
📚 参考になる先人ブログ・動画(実機の手順感を掴むなら)
K151 そのものではなく 「Bottom 交換・Module-LLM 装着」 の作業感は以下が役立つ:
| リソース | 内容 |
|---|---|
| M5Stack沼人の日記 / mongonta555 | スタックちゃん界の第一人者。Bottom 交換・USB 給電・I2C 制約まで丁寧 |
| YouTube / 分解なし【後半】 | 動画で「分解せずに」組む手順 |
| zenn / 電子工作経験0で組み立てた記録 | 初心者目線で詰まったポイント記録 |
| zenn / 組み立てメモ | バッテリ付きで分解する際の安全策(金属端子をテープで覆う) |
| senbaku.info / 組み立ててみた | 写真多めの実体験 |
| M5Stack 公式 Module-LLM Kit | Module-LLM の基本仕様・接続写真 |
STEP 1: 開封・現状確認(5 分)
これだけ確認
- K151 本体は そのまま顔が出る状態 で動く
- 既にお手元の K151 は前回の作業で firmware を焼き済み・LCD で顔が出る 状態のはず
- 触る前に USB-C を抜く(書き込み済みなので電源 OFF で OK)
K151 のどこに何があるか確認:
| 位置 | 部品 |
|---|---|
| 顔(前面) | LCD(320×240 タッチパネル)・マイク・スピーカー |
| 顔の中(CoreS3) | 本体マイコン。背面に Module バス端子(金色ピン) |
| 顔の下(首) | 横振りサーボ |
| ボディの中 | 縦振りサーボ + サーボ駆動ボード |
| ボディの底 | 既存の Bottom(標準 M5GO Bottom / Bottom2 SC など) |
STEP 2: 既存の Bottom を Bottom3 に交換(10 分)
2-1. CoreS3 をボディから抜く(傷つけ注意)
K151 はネジ無しのスライド構造。ボディ上部から CoreS3 だけを上方向にスッと抜けます(サーボブラケットに引っかかってる場合はゆっくり)。
⚠️ サーボケーブルが CoreS3 側面のコネクタに繋がっています。勢いよく抜くとケーブルが切れる ので、5〜10cm 浮かせたら停止して、ケーブルの接続を目視してください。
参考画像(公式・斜めから見たアングル): https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/1205/K151_stack_chan_main_pictures_07.webp
2-2. 底に付いている Bottom(既存)を外す
CoreS3 の底面には Bottom がカチッと挿さっているだけです(ネジ無し)。両側を均等に持って下方向に引き抜く と外れます。
参考: mongonta555 ブログ - Bottom 交換の章
2-3. Bottom3 を挿す
代わりに M5GO Bottom3 を CoreS3 底面にカチッと装着。 向きは Port.A / B / C が 手前側に並ぶ向き(GROVE 端子を抜き差ししやすい向き)に。
STEP 3: Module-LLM を CoreS3 背面に装着(10 分)
3-1. CoreS3 の背面コネクタを確認
CoreS3 を裏返すと、金色の Module バス端子(2 列のピンソケット) が見えます。これが Module-LLM をスタックする場所。
公式接続参考:
- https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/1131/module_llm_mate_connect_01.jpg
- https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/1131/module_llm_mate_connect_02.png
3-2. Module-LLM をスタック
Module-LLM の底面ピンを CoreS3 の Module バスにまっすぐ挿入。両側を均等に押し下げて、浮きなく着座させる。
⚠ ピンが曲がっていないか、挿す前に必ず目視。
3-3. FAN V1.1 を装着
Module-LLM の上面(または背面)に FAN V1.1 を両面テープで貼り付ける。 ケーブルを Bottom3 の 給電端子(5V/GND) に接続(極性: 赤 +5V / 黒 GND)。
Module-LLM は熱を持つ
本格運用前提なら FAN は必須。短時間テストでも 30〜40 度になります。
STEP 4: CoreS3 をボディに戻す(2 分)
サーボケーブルを傷つけないよう ケーブルの取り回しを確認しつつ CoreS3 をボディに差し戻す。Module-LLM がリュックのように背中側に出っ張る姿になる。
K151 のアクリル背面の干渉
Module-LLM はサイズが大きく、K151 標準のアクリル背面パネルと干渉する可能性 があります。挿さらない場合は背面パネルを外したまま運用するか、軽く加工してください(ホットナイフ等)。
STEP 5: Bottom3 GROVE ポートに Unit を接続(10 分)
Port.A(I2C)→ PaHUB v2.1 → センサー 4 台
I2C は 1 本のバスに複数デバイスを繋げるが、PaHUB v2.1 を使うと配線がきれいで衝突回避も完璧。
- Bottom3 Port.A → Grove 5cm → PaHUB v2.1 IN
- PaHUB v2.1 の OUT 6 ポートに以下を分配:
- Ch.0 → TMOS PIR (I2C 0x5A)
- Ch.1 → ToF Ranging (I2C 0x29)
- Ch.2 → ENV-Pro (I2C 0x76)
- Ch.3 → DLight (I2C 0x23)
Port.B(GPIO)→ Unit IR
Bottom3 Port.B → Grove 5cm → Unit IR
Port.C(UART)→ Unit MIDI
Bottom3 Port.C → Grove 5cm → Unit MIDI
給電端子 → FAN V1.1
Bottom3 の 5V 給電端子 → FAN V1.1 のケーブル(極性注意)
配線完了後の物理構造
顔 ← K151 ボディ ← CoreS3
└─ 背面に Module-LLM (リュック)
├─ 上面に FAN V1.1
└─ 底面に Bottom3
├─ Port.A → PaHUB v2.1 → PIR/ToF/ENV-Pro/DLight
├─ Port.B → Unit IR
├─ Port.C → Unit MIDI
└─ 5V → FANSTEP 6: 電源 ON 前チェックと初回起動(5 分)
6-1. 最終目視チェック
- ☐ Module-LLM のピンが浮いていない
- ☐ FAN ケーブルの極性が正しい(赤 +5V / 黒 GND)
- ☐ Bottom3 が CoreS3 底に 完全に挿入 されている
- ☐ Grove ケーブルが 逆挿し になっていない(カチッと音がする向き)
- ☐ PaHUB v2.1 OUT 側のチャンネル番号と、繋いだ Unit の対応をメモ
6-2. USB-C を Mac に挿す → 起動確認
- ☐ LCD に Donack の顔 が出る (or M5Stack-Avatar のデフォルト)
- ☐ シリアル
pio device monitorで[boot] stack-chan firmware up (v0.2 skeleton)を確認 - ☐ FAN V1.1 が回転 している
- ☐ Wi-Fi 接続成功 → LCD 右上に 🏠 / 📱 / ☁️ アイコン (Wi-Fi プロファイル未設定なら 🔴)
6-3. 簡易動作試験
シリアル経由でログを見ながら:
- ☐ 手をかざす → TMOS PIR で
[pir] presence=1が出る - ☐ 顔を近づける → ToF で距離値が変動
- ☐ 部屋の明るさを変える → DLight で値変動
- ☐ リモコンの信号を Unit IR に向ける → 受信ログが出る
- ☐ 起動時に chimeWake(短い和音)が Unit MIDI から鳴る
⚠ よくあるトラブル
| 症状 | 原因 | 対処 |
|---|---|---|
| LCD が点かない | Module-LLM がしっかり挿さってない/CoreS3 単体問題 | Module-LLM を一旦外して試す |
| FAN が回らない | 給電端子の極性逆 or ケーブル断 | ケーブル抜いて確認 |
[pir] not found on I2C bus | PaHUB v2.1 の I2C 切替忘れ or PaHUB 未接続 | PaHUB の IN/OUT を確認、SDA/SCL ピンを再確認 |
| Wi-Fi 繋がらない | SSID/PSK 不一致 or 互換性モード未設定 | stackchan_config.h か NVS の Wi-Fi プロファイル確認 |
| Module-LLM の応答なし | UART ボーレート不一致 / Module バス挿し直し | LLM_UART_BAUD = 921600、ピン抜けないか確認 |
| シリアル文字化け | monitor_speed 不一致 | 115200 で統一 |
| K151 ボディが閉まらない | Module-LLM の出っ張りでアクリル干渉 | 背面パネルを開けたまま運用 or 加工 |
完了後にすること
- パーツ管理 の状態を ✅ に更新
userData/partsPicture/2026-05-23-assembled.jpegに組み立て後の写真を置く- Issue #29, #30, #31 を close
- 次のフェーズ(音声対話 #6・Backend Router #24・Tailscale Funnel #26)へ
関連ドキュメント
- パーツ資産管理 — 物理接続マップ
- protocol.md — 通信プロトコル v0.4
- Donack キャラ設定 — 表示するキャラクター
- ハードウェア基礎
- PlatformIO セットアップ