Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
M5UnifiedとPicoRubyで楽しむM5シリーズ
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Katsuhiko Kageyama
November 29, 2025
Technology
520
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
M5UnifiedとPicoRubyで楽しむM5シリーズ
Katsuhiko Kageyama
November 29, 2025
More Decks by Katsuhiko Kageyama
See All by Katsuhiko Kageyama
PicoRuby as a Multi-VM Operating System
kishima
1
430
PCとPicoRuby-ESP32間でシリアルファイル転送
kishima
1
51
Rubyでmicro-ROS!
kishima
0
160
mruby(PicoRuby)で ファミコン音楽を奏でる2
kishima
1
200
mruby(PicoRuby)で ファミコン音楽を奏でる
kishima
2
780
PicoRuby/R2P2で自分だけのコンピュータを作ろう
kishima
1
590
mrubyと micro-ROSが繋ぐロボットの世界
kishima
3
1.1k
わたしのRubyKaigi Effect
kishima
2
260
思い出の技術書 F-BASICの世界
kishima
0
52
Other Decks in Technology
See All in Technology
基調講演:人とAIをつなぐIoTの今と未来 ー 「フィジカル」と「デジタル」が出会うその先へ【SORACOM Discovery 2026】
soracom
PRO
0
270
CloudWatchから始めるAWS監視
butadora
0
190
エンタープライズデータへ安全につなぐ Production-ready なエージェント設計 ― AI × MCP リファレンスアーキテクチャ ― #AIDevDay
cdataj
1
150
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
AWS環境のセキュリティ不安を解消した企業事例 ~よくある課題と対策を一挙公開~
asanoharuki
0
200
クラウドを使う側から、作る側へ / 大吉祥寺.pm 2026前夜祭
fujiwara3
7
1.6k
人とエージェントが高め合う協業設計
kintotechdev
0
980
Playwright × AI Agent でE2Eテストはどう変わるか AI駆動テストの可能性と実用検証の結果
taiga7543
2
890
それでも、技術なブログを書く理由 #kichijojipm / Why I Still Write Tech Blogs Even Now
shinkufencer
0
1k
AI驚き屋発見器
yama3133
1
350
Claude Mythos、Fable...フロンティアAIの最新動向と企業のセキュリティ対策
flatt_security
0
150
脱Jenkins、インターン生が挑んだCIツールGitHubActions移行
mixi_engineers
PRO
1
140
Featured
See All Featured
エンジニアに許された特別な時間の終わり
watany
108
250k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Agile that works and the tools we love
rasmusluckow
331
22k
Into the Great Unknown - MozCon
thekraken
41
2.6k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
420
It's Worth the Effort
3n
188
29k
Faster Mobile Websites
deanohume
310
32k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
Transcript
M5Unifiedと PicoRubyで楽しむ M5シリーズ
@kishima 組み込み系エンジニア プレイングマネージャ業 mruby好き 電子工作好き 2
2025の流行りはPicoRuby Ruby x マイコンが熱い
PicoRubyとESP32とM5Stack PicoRubyは元々、Raspberry Pi Pico がター ゲット @YuuuさんがESP32へ対応 ESP32を使ったM5Stackという 製品がある
我が家のM5シリーズ(の一部)
M5のなやみ ▸ きれいにまとまったデバイスでかわいい ▸ ふつうはC++で開発 ▸ M5のC++ライブラリを使えば、簡単に画面 描画などもできる ▸ PicoRubyだと自分で
C++ライブラリを叩く mrbgemを実装必要!
M5Stack向けのライブラリをgem化しよう • 標準ライブラリ(M5Unified/M5GFX) ◦ 画面描画 ◦ LED ◦ ボタン ◦
電源 ◦ IMU ◦ スピーカー ◦ マイク ◦ etc https://docs.m5stack.com/ja/arduino/m5unified/helloworld
たくさんのメソッド 描画系(M5GFX)だけで100個以上! バインディングを書く必要あり void drawPixel ( int32_t x, int32_t y,
const T& color) void drawCircle ( int32_t x, int32_t y, int32_t r, const T& color) … … … さすがに無理・・・
どうやって実装するか CだとFFIが使えるが・・・ ※FFI:Foreign Function Interface Cなどの関数を違う言語から直接呼ぶ仕組み マイコン環境で使うことが難しい・・・ 今回は、Claude Codeにやらせた
実装 1. 実装対象の関数をC++ヘッダからスクリプト で抽出 2. 抽出した結果をYAMLにまとめる 3. YAMLからmrubyバインディングのスケルト ン関数を生成 4.
スケルトン関数を段階的に実装 作業量が多いので、そのままではAIでも対応できない ◆実装方針
中間生成物のYAML
現在の結果 描画系 99/180 メソッドを実装 - M5Unified Core: 20/20 (100%) ✅
- M5GFX Color: 12/12 (100%) ✅ - M5GFX Draw: 30/30 (100%) ✅ - M5GFX Fill: 3/13 (23%) - M5GFX Text: 9/31 (29%) - M5GFX Image: 2/13 (15%) - M5GFX Display: 9/29 (31%) - M5GFX Low-level: 4/18 (22%) - M5GFX Utility: 0/13 (0%) https://github.com/kishima/picoruby-m5unified/tree/main
できたので、色々動かしてみる 我が家のM5から以下を試す • M5Stack • M5StickC Plus2
こんな感じで
同じコードで動かせる
課題 AIですべて実装できたとしても、200を超えるメ ソッドを継続的にメンテするのは難しい・・・ Ruby-FFI的な仕組みが必要