Upgrade to Pro — share decks privately, control downloads, hide ads and more …

M5Stackで作る BLEマウス GPSログの世界

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →

M5Stackで作る BLEマウス GPSログの世界

M5Stackで作る BLEマウス GPSログの世界
Hello LT world『みんなで語る!好きと学びのアウトプット LT Night』
https://findy.connpass.com/event/406556/

Avatar for tomokusaba

tomokusaba

October 15, 2026

More Decks by tomokusaba

Other Decks in Technology

Transcript

  1. Hello LT world 『みんなで語る!好きと学びのアウトプット LT Night』 M5Stack Project Arduino ×

    BLE × GPS M5Stackで作る! BLEマウス & GPSログ の世界 タッチ・ジャイロ・GPS — 小さなデバイスが生み出す大きな可能性 タッチパネル操作 ジャイロ空中操作 GPSログ記録&表示 FutureOne株式会社 Tomomitsu Kusaba (@tomokusaba) / 2026 01 / 07
  2. 自己紹介 • 2022/08-2027 Microsoft MVP (Microsoft Azure, Developer Technologies) •

    2022/08-2027 Microsoft MVP (Microsoft Azure, Developer Technologies) • tomo_kusaba 第001462号 • ドラクエ大好き ドラクエ10のプレイ時間→ 1キャラ目:2716時間 2キャラ目:919時間 3キャラ目:801時間 4キャラ目:190時間(配信用)
  3. このプロジェクトについて M5Stackという小型デバイスひとつで、マウス代わりのHIDデバイスとGPSロガーを自作できる。 プロジェクト① プロジェクト② プロジェクト③ BLE マウス タッチパネル版 BLE マウス

    空中マウス版 GPS ログ記録 & ビューワー M5Stack CoreS3 のタッチ操作でPC を操作 BMI270 ジャイロで空中操作! 位置情報をログして地図で確認 スワイプ → カーソル移動 本体を傾けるだけでカーソル移動 GPSユニットで緯度・経度を取得 タップ → クリック、長押し → ドラッグ BMI270 ジャイロ(400Hz)搭載 [1] SDカードへリアルタイム記録 BleMouse ライブラリでHID認識 [2] 「握らない」新しい操作感を実現 地図上にルートを視覚化して確認 共通テーマ:「M5Stack × Arduino × アクセシビリティ」 Tomomitsu Kusaba (@tomokusaba) / 2026 02 / 07
  4. プロジェクト① BLE HID マウス BLE マウス ① タッチパネル版 M5Stack CoreS3のタッチパネルで「スワイプ・タップ・長押し」をBLE

    HID マウスとして送信する第一歩。 使用デバイス:M5Stack CoreS3(ESP32-S3搭載) [2] BleMouse ライブラリでPCにHIDとして認識させる [2] スワイプ → カーソル移動、タップ → クリック、長押し → ドラッグ [2] 狙い:マウスを握ることが難しい方への代替入力デバイスの可能性を探る [2] ►「まずは確実に動くタッチ入力で検証」→ 次の実装への足場 [2] M5Stack CoreS3 Tomomitsu Kusaba (@tomokusaba) / 2026
  5. プロジェクト ② BLE マウス ② 空中マウス版(ジャイロ) BMI270 ジャイロ(400Hz)で角速度をリアルタイム取得し、空中で本体を傾けるだけでカーソルが動く! 使用デバイス 実装のポイント

    M5Stack CoreS3(BMI270 内蔵IMU) [1] 加速度ではなくジャイロ(角速度)を採用 [1] ジャイロ処理パイプライン 1 傾け始めた「速さ」でカーソル速度を直感的にコントロール ジャイロ(角速度)取得 加速度ではなく角速度でカーソル速度を生成 [1] デッドゾーン・ソフトニー・平滑化・加速 [1] 4段階のフィルタリングで自然な移動感を実現 2 デッドゾーン・平滑化・加速 ソフトニーで自然な移動感を実現 [1] タッチ・クリック・シェイクとの排他制御 [1] 3 排他制御で誤操作防止 操作の衝突を防ぎ誤操作ゼロへ タッチ・クリック・シェイクと連動 [1] 4 BLE HID として送信 M5StickS3(48×24×15mm / 20g)でも展開 [3] PCにワイヤレスマウスとして認識 さらに小型・軽量な選択肢へ 04 / 07
  6. GPS ログ記録 M5Stack GPS ユニットで緯度経度をリアルタイム取得し、SDカードや 外部ストレージへ記録する。 使用デバイス:M5Stack + GPS ユニット(GNSS

    対応) NMEA センテンスを解析して緯度・経度・時刻を取得 TinyGPSPlus ライブラリで位置データをパース 精度向上のポイント:HDOP 値でフィルタリング、衛星数の確保 ► 記録したデータが次のビューワーへつながる 05 / 07
  7. GPS ログ ビューワー 記録したGPSログを地図上に描画するビューワーで、走行・移動ルートを視覚的に振り返れる。 ルートをリアルタイムに地図表示 ビューワー機能のポイント ルートをリアルタイムに地図表示 衛星A 衛星B 地図上へのプロット

    衛星C ログデータをPCやブラウザで読み込み地図上にプロット 衛星別カラー表示 衛星別カラー表示など視覚的なデータ確認が可能 Python / Webアプリ連携 Python / Webアプリとの連携で汎用的な活用へ 記録 → 見る エコシステム 「記録する」→「見る」で完結するエコシステムを構築 衛星別カラー表示 GPS ポイントプロット ルート描画 06 / 07
  8. まとめ & これから 小さなM5Stackが、アクセシビリティ支援デバイスからGPSロガーまで、実用的なIoTデバイスに変わる。 BLE マウス(タッチ版) BLE マウス(空中版) タッチパネルで確実な HID入力を実現

    ジャイロで「握らない」新 しい操作感 小型・低コストで持ち運べ るGPSロガー データを「見える化」して 活用へ CoreS3のタッチ操作でBLEマ ウスとして動作。アクセシビリ ティ入力の第一歩。 [2] BMI270で傾けるだけでカーソ ル操作。M5StickS3でさらに 小型化。 [1] GNSSユニット+ TinyGPSPlusで緯度・経度・時 刻をリアルタイム記録。 地図上にルートをプロット。 Python/Webアプリ連携で汎 用的なエコシステムを構築。 今後の展望 GPS ログ記録 GPS ビューワー Next IMU × 圧力センサー × 各種入力の組み合わせで、さらに多様なアクセシ ビリティデバイスへ。 [1] Tomomitsu Kusaba (@tomokusaba) / 2026 すべてのコードはGitHubで公開中 → 一緒に育てましょう! 7/7
  9. 参考文献 [1] M5Stack CoreS3でBMI270ジャイロを使ったBLE HID空中マウスを自然に操作する - Q... [2] M5Stack S3

    をマウス代わりにしてみた:タッチパネルで BLE マウスを作る実験 - Qiita [3] M5StickS3でBLE HID空中マウスを作る設計メモ - Qiita
  10. 開催日のお知らせ PyCon mini Shizuoka 2027 2027/2/27(土) 会場 B-nest & 静岡市コクリ

    前回と同じ会場です。ぜひ予定の確保をお願いします! #pyconshizu 2027でお会いしましょう! 参加・プロポーザル・スポンサーの募集は追って告知します。 pycon-shizu.connpass.com/event/409477/ 詳細はconnpassへ