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
数百円から始めるRuby電子工作
Search
Tarosa
July 18, 2026
Programming
240
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
数百円から始めるRuby電子工作
関西Ruby会議09のLT資料です。
Tarosa
July 18, 2026
More Decks by Tarosa
See All by Tarosa
AIで宇宙甲子園 缶サット部門 近畿大会のテーマソングを作る
tarosay
0
44
mrubyとWakayama.rb ~mrubyと共に歩んだ10年~
tarosay
0
160
【THETA撮影会 in 大阪】建築・照明デザイナーとエンジニアのための視環境設計 #4
tarosay
0
260
評価画像変換の簡単な説明
tarosay
0
210
建築・照明デザイナーとエンジニアのための視環境設計
tarosay
0
290
模擬人工衛星DangoSatプロジェクト
tarosay
0
300
全方位色彩解析ソフト REALAPS Omni Colorのマニュアル
tarosay
0
210
だんごサットの紹介
tarosay
0
220
Tellusで、串本のおいしいお刺身を!
tarosay
1
510
Other Decks in Programming
See All in Programming
週末にAI-DLCを本気で回したら$1,600溶けた
hbashimizu
0
130
Pythonの実行はどこまで賢くなったのか? CPythonとPyPyから見る最適化のしくみ
curekoshimizu
4
2.8k
[GoCon2026] When Goroutines Are Not Enough: Runtime Locality in High-Throughput Go
takehaya
3
390
ALB ログから Trace を気合で繋げる技術
fohte
7
880
デプロイ直後のレイテンシスパイクを調べたら、 Railsの仕様にたどり着いた
nhsykym
0
110
Building an Out-of-Order CPU
latte72
1
710
Foundry Localでエージェント開発
seosoft
0
140
Hono + Inertia + React で LP を構築した話
oukayuka
2
220
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
750
「つくるAI」だけではバグは見つからない ~テストに必要な「見つけるAI」を分離させる戦略~
mfunaki
0
230
go-spidermonkeyでAIエージェントのCode Modeを実装する
syumai
3
1.5k
【デモ】Kiroで体験する仕様駆動開発|設計からコーディングまでAIと進める開発フロー
cmkudo
0
600
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
440
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
290
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
250
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Test your architecture with Archunit
thirion
2
2.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.9k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
260
Believing is Seeing
oripsolob
1
210
A better future with KSS
kneath
240
18k
Transcript
関西Ruby会議09 Lightning Talk 数百円から始める Ruby電子工作 UIAPruby — ブラウザだけで完結する マイコン ×
Ruby 環境 たろサ / Wakayama.rb(和歌山発Rubyコミュニティ) 1
Rubyで電子工作、始めようとすると… ボードが高い 入門ボードでも数千円。 気軽には壊せない 環境構築が重い クロスコンパイラや 専用ツールの準備が必要 mrubyはビルドが必要 Ruby +
rake が前提。 Arduino IDE だけでは 完結しない 「やってみたい」の前に、ハードルが 3つ。 2
UIAPruby — ハードは約600円 ¥290 UIAPduino 本体 CH32V003(RISC-V)搭載 + ¥300 microSDカードアダプタ(目安)
Flash 16KB / RAM 2KB 「え、それでRubyが?」 → 動きます(工夫は後ほど) あとは Chrome / Edge だけ • インストール不要 • クラウド不要 • コンパイルも転送も • すべてブラウザの中で完結 3
大事なことを、先に言っておきます Official Party で 15名様 にプレゼント! 関西Ruby会議09 特別版(左:裏面 microSD /
右:表面) 7/18(土)19:00〜 Official Party THE CALENDAR(大津駅前)にて ただし、条件がひとつ PicoRubyKaigi 2026 Assemble (10/31(土)浅草橋)に、UIAPruby を 使った作品を出してください! トーク / ショーケース 応募〆切:8/31(月) 4
しくみ — 書いて、押して、挿すだけ 1. Rubyを書く ブラウザのエディタで。 サンプルもワンクリック → 2. ブラウザ内
コンパイル @ruby/prism (WASM) で AST解析 → .urb バイトコードへ変換 → 3. WebHIDで SDへ転送 USBを挿して ワンクリックで書き込み → 4. TinyVMが実行 main.urb なら 電源ONで自動実行 マイコン上で Ruby VM は動かさない — 実行するのは軽量バイトコード 5
mruby の rake を、ブラウザに移した mruby のやり方 • mrbgems を選んで構成を書く •
rake でビルド(Ruby 必須) • クロスコンパイラ環境も PC に用意 → Arduino IDE だけでは完結しない UIAPruby のやり方 • Webでコンポーネントを選ぶだけ • 必要な機能だけ入りの単一 .ino が生成 • Arduino IDE でそのまま書き込み → ビルド環境の構築ゼロ コンポーネント選択 = mrbgems 相当。 ブラウザが rake になる。 6
ふつうの Ruby 文法で書ける # LED を 0.2 秒ごとに点滅 led =
GPIO.new(2, GPIO::OUT) loop do led.on sleep(0.2) led.off sleep(0.2) end コンパイル後はわずか数十バイトの .urb に 使える機能(コンポーネント) GPIO / ボタン Tone(ブザー) PWM(モーター) ADC(アナログ) 超音波 HC-SR04 I2C 通信 乱数 rand 小数(Q16.8) 仮想メモリの実装 $count 電源を切っても消えない変数(SDに永続保存) 7
例えば、こんなものが作れます 作例 — ラッキーおみくじマシーン 超音波センサが目、サーボモーターが針 — すべて UIAPruby で動作 使うのは
4 コンポーネント 超音波 Us(目)/ PWMサーボ Pw(針) 乱数 Rn(運勢)/ 小数演算 Q1 遊び方は、一礼するだけ おみくじマシーンにお辞儀をすると start 針が 2 往復したあと、ランダムな角度で 止まって「今日の運勢」を指します 実機あります。休憩・懇親会にぜひ遊んでください! 8
Flash 16KB に詰め込む工夫 Flash 使用量(BASE構成) 12,816 / 16,384 bytes(78%) Q16.8
固定小数点 小数演算を int32 で。 1.0 = 256。FPU なしでも g = 0.1 * 0.5 が動く ラムダはインライン 展開 コンパイル時に呼び出し先へ 展開 — 実行時コストゼロ、 追加 Flash ゼロ コンポーネント選択 式 使う機能だけを組み込み。 Tone +1008B、ADC +328B と 数百バイト単位で加算 VM を丸ごと載せるのではなく、「Ruby の最大の魅力である書き心地」だけを持ち込む 9
今日から試せます tarosay.github.io/uiap-hid-web/uiapruby.html 「UIAPruby」で検索でもたどり着けます デバイス接続は Chrome / Edge のみ WebHID API
を使用するため。 Firefox / Safari は非対応 コンパイルとダウンロードは どのブラウザでも OK .ino / .urb の生成・保存は WebHID 非対応でも動きます 10
数百円のマイコン + ブラウザで、Rubyがそのまま動く rake の役割はブラウザへ — 環境構築ゼロ Wakayama.rb 発、GR-CITRUS に続く「二つ目の扉」
ご清聴ありがとうございました たろサ / Wakayama.rb 11