Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
M5UnifiedとPicoRubyで楽しむM5シリーズ
Search
Katsuhiko Kageyama
November 29, 2025
Technology
660
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
同人誌とVMづくり
kishima
1
66
Tab5をRubyで動くパソコンにする
kishima
2
450
Family mrubyの進捗
kishima
1
160
PicoRuby as a Multi-VM Operating System
kishima
1
570
PCとPicoRuby-ESP32間でシリアルファイル転送
kishima
1
65
Rubyでmicro-ROS!
kishima
0
230
mruby(PicoRuby)で ファミコン音楽を奏でる2
kishima
1
290
mruby(PicoRuby)で ファミコン音楽を奏でる
kishima
2
870
PicoRuby/R2P2で自分だけのコンピュータを作ろう
kishima
1
850
Other Decks in Technology
See All in Technology
公共分野での生成AI活用
toru_kubota
1
310
AWS Quick 入門 | 目指せ Quick マスター 01
inariku
PRO
2
260
アラートを見直していたら営業組織への理解にちょっとだけ繋がった話
z63d
0
110
Copilot Coworkで「みのるん式」やってみた
minorun365
PRO
2
1.7k
AWS構成から考えるWebセキュリティ ― WordPressの構築経験から考える公開範囲と更新運用【JAWS FESTA 2026 in AKITA】
cscengineer
PRO
2
380
慶應義塾大学 AI実践05 論文執筆の仕組み化
keio_smilab
PRO
7
3.8k
cdkd (CDK Direct)
gotok365
4
280
AWS基盤改善を支える 私たちの理念と行動指針
kentosuzuki
0
140
Content Mapper APIの応用例~CSS Modules、言語ファイル~
uhyo
2
630
仕様と現実の間で落とし所を探るリモートMCPの認証・認可 — Sansanの認証基盤における課題と実践
sansantech
PRO
2
210
プロダクションコードにおける encoding/json から encoding/json/v2 へのスムーズな移行
sansantech
PRO
1
230
[General] 개발자로 해외 기업에서 일하기
skydoves
1
310
Featured
See All Featured
Speed Design
sergeychernyshev
33
2.2k
30 Presentation Tips
portentint
PRO
1
460
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
300
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
560
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
300
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.6k
The SEO Collaboration Effect
kristinabergwall1
1
620
The Curious Case for Waylosing
cassininazir
1
610
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
980
Google's AI Overviews - The New Search
badams
0
1.7k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
Context Engineering - Making Every Token Count
addyosmani
9
1.3k
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的な仕組みが必要