M5Stackでも動くOpenClaw「ESP Claw」を動かしてみた

先日、名古屋で初めてM5Stack Japan Tourが開催されました。

Station Aiでの開催ということでスタートアップのM5Stackとは相性が抜群なのでは無いでしょうか。

で、せっかく名古屋で開催するのであればということでも僕もLTで喋りました。

M5Stackチームもいるということでスライドは英語で用意しました。(今見るとスライドのタイトル盛大にTypoしとるw)

www.docswell.com

LTなので触りの部分しか喋れてなかったのとシンプルにスライドが英語だったので、今回はM5Stack Core S3でESP Clawを動かす手順を紹介します。

ESP Clawとは?

ESP32で今話題のOpenClawのようなAIエージェントを動かすことができるフレームワークで主にIoT向けに特化しています。実装はMiniClawに影響を受けているようです。

以下の画像のようにそれまで自前で開発環境を構築してそこからプログラムを書いていたものがESP Clawのサーバーで自律的にありとあらゆるタスクを作成したり、遂行することができるようになります。

タスクの実行には組み込みで使用されているスクリプト言語であるLuaを使用しているようです。

https://github.com/espressif/esp-claw

セットアップできると以下のことができるようです

  • 定期実行
  • 天気予報
  • GPIO制御
  • Web検索(検索エンジンのAPIキーが必須)

必要要件

必要な要件としては、少なくとも8MBのフラッシュメモリと8MBのPSRAMです。

執筆時点(2026年5月)だと以下のボードがサポートされています。

  • ESP32-S3
  • ESP32-P4
  • ESP32-C5

上記が使われていればM5Stackでも動かせるというわけですが、先日公式でもESP32-S3が使われているStickS3やCoreS3向けにM5Burnerから書き込めるように対応させたとのことでした。

試してみる

ファームウェアの書き込み

早速試してみます。今回は家に転がってたCore S3にセットアップしてみます。

まずは、以下のURLからM5Burnerをインストールします。M5Stackシリーズにファームウェアの書き込みを簡単することができるツールです。

docs.m5stack.com

インストールできたら、起動しDevice Typeから Core S3 を選択して、検索窓からESP Clawのファームウェアを探して表示されたファームの右下のBurn ボタンをクリックします。

書き込みが終わって以下の通りザリガニの絵が表示されたらファームウェアの書き込みは完了です。

セットアップ

ファームウェアが書き込まれたら、ESP Clawが動かせるようにセットアップをしていきます。

CoreS3に表示されている文字列がWifiのアクセスポイントになっています。アクセスポイントにスマホかPCで接続したら、ブラウザで http://esp-claw.local/ 、またはデバイスのIPアドレスを指定することで設定画面を開きます。(M5Stack側のアクセスポイントに接続したらおそらく設定画面が開くはずです)

開いたら、まずは接続したWifiのSSIDとパスワードを設定します。

接続先のLLMのAPIの接続情報を設定します。

APIは以下のサービスがサポートされています。その他にカスタムのAPIにも対応しています。

  • OpenAI
  • Anthropic
  • Qwen

今回はAnthropicのClaude Haiku 4.5を使います。

Telegram Botをセットアップ

次にESP Clawで連携するチャットサービスを用意します。

以下のサービスがサポートされていますが、今回は日本でも動かせそうなTelegramを使用します。

TelegramでBotをセットアップするにはBotを管理するBotFatherを自分のアカウントに追加します。

追加は以下のURLからできます。

Telegram: Launch @BotFather

追加したら以下の通り /newbot スラッグを送信すると、チャットベースのやりとりで直感的にBotをセットアップできます。

作成できると、APIトークンが作成されるのでコピーして設定画面のTelegramの項目にAPIトークンをコピペします。また、作成したBotはあらかじめアカウントに追加してもらいます。

Web検索

追加で必要があればWeb検索が使えるようにAPIトークンを入れると検索機能が使えるようになります。

今回はTavilyのAPIに接続します。

動かしてみる

それでは実際に動かしてみます。

以下のポストの動画の通りメッセージを送ると、Botから返答されるようになります。

あとは、天気予報や今の時間などを問い合わせたり、定期実行タスクを作成することができます。実際にツールが呼び出されているところもメッセージで返されます。

M5Stack Core S3はハードウェア接続はGroveのみで対応しているモジュールを持ってなかったのでハードウェア連携はまだ試して無いです。

ただClaudeだと複雑なタスクをやろうとすると以下の通り1分あたりの入力トークンの制限に引っかかることがあるので、この対策を色々試行錯誤したほうが良さそうです。

最初は最新のSonnet4.6で試しましたが、ちょっとツール呼び出しただけでコケたので少し古めのHaiku 4.5に変えたらある程度簡単なツール呼び出すタスクはこなせるようになりました。

まとめ

今回はM5Stack Core S3でESP Clawを動かしてみました。

ESP32だと簡易的はWebサーバーを動かせたりしますが、まさかOpenClawインスパイアを動かせるのは面白いと思いました。

ただ、すぐAPI上限が引っかかったりたまにツールの動作が不安定なところもあるので今後の改善に期待したいところです。