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
数百円から始めるRuby電子工作
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Tarosa
July 18, 2026
Programming
270
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
46
mrubyとWakayama.rb ~mrubyと共に歩んだ10年~
tarosay
0
170
【THETA撮影会 in 大阪】建築・照明デザイナーとエンジニアのための視環境設計 #4
tarosay
0
260
評価画像変換の簡単な説明
tarosay
0
220
建築・照明デザイナーとエンジニアのための視環境設計
tarosay
0
290
模擬人工衛星DangoSatプロジェクト
tarosay
0
310
全方位色彩解析ソフト REALAPS Omni Colorのマニュアル
tarosay
0
220
だんごサットの紹介
tarosay
0
220
Tellusで、串本のおいしいお刺身を!
tarosay
1
510
Other Decks in Programming
See All in Programming
ActionController meets Protocol Buffers
sorah
0
200
カツオ、ご期待ください
suneo3476
0
170
golang-bob.pdf
iwatsukayura
0
130
AIに “答え“を書かせるのを やめてみた
___akari11
0
120
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
4
4.7k
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
22
22k
パスワード再設定メールのURLについて知っておこう
uyuki234
0
140
ChromeでローカルLLM
ryu1013
0
110
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
590
Turning Architecture into Unit Tests in the AI Era (NSSpain XIV)
steliosf
PRO
1
140
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.3k
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
360
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
247
13k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
280
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Thoughts on Productivity
jonyablonski
76
5.4k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
Between Models and Reality
mayunak
4
490
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
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