概要
Stack-Chan Minimalベースの4足歩行ロボを作ります。
備考
- 文章は人間が一生懸命タイピングしてます。
- コードについて
- ベースとなる会話部分はA-Uta氏が書いてます
- その他差分は(使用量の多い順に)ChatGPT 5.5 xhigh(Codex), Composer 2.5(Cursor), Claude Sonnet 4.6 high(Cursor), ごくごく一部 Gemini Flash 3.5 Medium(Antigravity IDE)が書いています。
- 本体のモデリングは人間が一生懸命Fusion360を使って作りました
完成図
スタック(ワン)チャン pic.twitter.com/H4nySAvAdO
— るち (@Ruchi12377) May 25, 2026
スタック(ワン)チャン歩いた#RuchiDev #ツクリカタログ pic.twitter.com/tM0ZAjdU2n
— るち (@Ruchi12377) May 29, 2026
必要な部品 (購入するもの)
| 品名 | 数量 | リンク |
|---|---|---|
| ATOMS3R AI Chatbotキット | 1 | Switch Science |
| PCA9685 16ch PWMサーボドライバ | 1 | Switch Science |
| マイクロサーボ9g SG90 | 8 | 秋月電子 |
| GROVE互換ケーブル | 1 | Switch Science |
| ピンソケット 1×6 | 1 | Switch Science |
| 電池ボックス | 1 | 秋月電子 |
| GROVE 4ピンコネクタ | 1 | Switch Science |
| M2×5mm ねじ | 4 | 秋月電子 |
| 配線ケーブル (赤・黒・その他2色 AWG24〜26程度) | 適量 | — |
プリントする部品
以下のリポジトリにSTL形式のデータがあります。(ファイル名の末尾にx1と書いてあるものは1つ、x2と書いてあるものは2つ必要です。) github.com
まとめると以下です。
| STL | 印刷数 |
|---|---|
hardware/cases/Body_x1.stl |
1 |
hardware/cases/Leg_L_x2.stl |
2 |
hardware/cases/Leg_R_x2.stl |
2 |
hardware/cases/Foot_L_x2.stl |
2 |
hardware/cases/Foot_R_x2.stl |
2 |
PLAのフィラメントをBambu Lab A1で印刷しました。 以下のPLAを使っています。アフィリエイトリンクではないです。
- Amazon.co.jp: ELEGOO マットPLAフィラメント ブラック 1kg 1.75mm径 3Dプリンターフィラメント 高精度 1kgスプール(2.2ポンド) ほとんどの3Dプリンターに対応 : 産業・研究開発用品
- OVERTURE PLAフィラメント ホワイト 1.75mm 1kgスプール
組み立ての前にはんだづけ
GROVE 4ピンコネクタとGROVEケーブルを用意して、コネクタにケーブルを繋げます。どこにはんだづけすればいいのわかりやすくなります。
次に、15cmの適当な長さに切った赤黒緑青の銅線を用意します。 黒赤はそのままはんだ付けすればいいのですが、黄色は緑の銅線、白は青の銅線をはんだづけしてください。
(銅線の両端にあらかじめはんだ(予備はんだ)をつけておくとはんだづけしやすくなります。)

ピンソケット 1×6を用意して同様にはんだ付けしていきます。これもPCA9685にあらかじめつけておくとわかりやすいです。 画像の様に、上から黒、空き、緑、青、赤、赤の順にはんだづけしてください。本来外部電源(今回は電池)を使う場合、マイコンの電源をVCCのみに接続するのですが、動作が安定しなかったのでV+もはんだ付けしたら動作が安定する様になりました。理由がわからないので、詳しい人いたらコメントで教えてください。
はんだ付けはこれだけです。

組み立て
AtomS3Rの組み立て
まずAtomS3R Chatbotキットを取り出してください。
(Switch Scienceのサイトから引用)
4ピンと5ピンのところ同士をくっつけます。向きを間違えずに済むフェイルセーフで良いデザイン!

OK!

ボディの組み立て
サーボ x8と取り付けネジx16を取り出してください。
Footの凸とLegの穴にはめてください。きついと思いますが、手で何回かFootをぐるぐるさせるとスムーズになります。

その後に、切り欠きに合わせてケーブルをはめて、固定用のネジを絞めます。サーボの回転する部分がはめるときに干渉しますが、気合いではめます。また、一応モデルにφ1mmの穴が空いてるんですけど、ネジが上手く締まっていかない場合はリューターとかで削ると良いです。僕はドライバーでねじ込みました。(この時点でまだサーボホーンは付けないです)

同様にLegの凸をBodyの穴にはめてください。サーボをはめて固定するまでは前述の手順と全部同じです。サーボの回転する部分をはめる時こっちはかなり硬くてはめづらいので頑張ってください

以下の画像のようにジョイントの部分が外側、ホーンをつけるべき位置が内側になるように取り付けることに注意してください。

これを4回繰り返したら足の取り付けは完成です。まだホーンを付けてないので足がぶらぶらしてると思いますが一旦これでOKです。
PCA9685の取り付け
M2のネジx4とPCA9685が必要です。
ピンヘッダが付いてない方がAtomS3Rと同じになるような向きで配置します。

インサートナットを使うほどでもないですし、ナットを埋め込むのも小さくてサポート取るので精一杯になると思ったので、ネジを熱でねじ込みます。300°Cくらいのはんだごてで以下の画像の様に押し込みます。臭いので、換気をしてください。

このとき一緒に6ピンのケーブルも繋いでおいてください。 サーボのコネクタも繋ぎましょう。ピンソケットがある方からAtomS3Rがある方に向かってCH0~CH15と割り当てられています。(全部で16個のサーボ、またはPWMでLEDなどを制御できます)。
以下の様に配線するとリポジトリのサンプルがそのまま動かせて便利だと思います。
| CH | サーボ |
|---|---|
| CH0 | 右前 Foot |
| CH1 | 右前 Leg |
| CH2 | 右後 Foot |
| CH3 | 右後 Leg |
| CH4 | 左前 Foot |
| CH5 | 左前 Leg |
| CH6 | 左後 Foot |
| CH7 | 左後 Leg |
最後に電池ボックスをBodyの裏に両面テープで固定します。電線を引っ張ってきてPCA9685の外部電源用のターミナルに繋ぎます。向かって右が+(赤)で、向かって左が-(黒)です。

ファームウェアの書き込み
local_config.example.hをlocal_config.hにリネームしてからSSIDとPWを書き込んでください。
USBでAtomS3Rを繋いで以下のコマンドで書き込めます。ポート番号は適宜修正してください。
pio run -d /Users/ruchi/Documents/GitHub/StackChan_Minimal/walk_only_sample -e m5stack-atoms3 -t upload --upload-port /dev/cu.usbmodem*
足の固定(組み立てラスト!)
ファームウェアを書き込んだAtomS3RにUSBを繋いで、電池ボックスをOnにするとサーボが90°に固定されます。このタイミングでサーボホーンを全て取り付けます。ホーンの固定用ネジを閉める時にサーボに負荷がかかりすぎない様に注意してください。
ホーンを全てつけ終わったらいよいよAtomS3Rを正面の穴にはめて完成です!!!!!!!やったー!
歩かせる
AtomS3RにUSBを繋いでWiFi接続が完了すると数秒間ローカルのIPが表示されます。これを控えといてください。
次に、リポジトリ内の/walk_only_sample/robot_viewer.htmlを開き左上にさっき控えたIPアドレスを入れて接続ボタンを押すと接続されます。
下の方のタイムラインっぽいUIのループボタンを押すと歩き出します!!かわい〜!

↓歩いてる様子↓
スタック(ワン)チャン歩いた#RuchiDev #ツクリカタログ pic.twitter.com/tM0ZAjdU2n
— るち (@Ruchi12377) May 29, 2026
ちなみに接続している時にモーションの再生・ループ再生をするとサイト内のロボも一緒に動きます。 逆に、モーションの再生・ループ再生をしてない時にはサイト内のハンドルでロボットの動きを操作できます。 操作に癖がありますがモーションを作ったりアレンジしたりもできます。
最後に
TwitterのTLで流行っていたスタックチャンをみて「面白そうだけど2万円もするし、すぐ売り切れちゃうな〜」と思って調べていた時に見つけたのがA-Uta氏のStackChan_Minimalでした。このリポジトリがあったからこそAtomS3R AI Chatbotにファームウェアを書き込んでTTSなどの環境を整えるだけですぐに動くものが作れたと思います。この場を借りてA-Uta氏に感謝申し上げます。
※ 現在はまだ会話と移動が別々の実装となっているのですが中間テストが終わり次第(6/4〜)実装したバージョンに差し替えます。