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
100
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
38
mrubyとWakayama.rb ~mrubyと共に歩んだ10年~
tarosay
0
150
【THETA撮影会 in 大阪】建築・照明デザイナーとエンジニアのための視環境設計 #4
tarosay
0
250
評価画像変換の簡単な説明
tarosay
0
200
建築・照明デザイナーとエンジニアのための視環境設計
tarosay
0
280
模擬人工衛星DangoSatプロジェクト
tarosay
0
290
全方位色彩解析ソフト REALAPS Omni Colorのマニュアル
tarosay
0
200
だんごサットの紹介
tarosay
0
210
Tellusで、串本のおいしいお刺身を!
tarosay
1
500
Other Decks in Programming
See All in Programming
Prismを使った型安全な暗号化_関数型まつり2026
_fhhmm
0
150
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
100
はてなアカウント基盤 State of the Union
cockscomb
1
1.3k
Foundation Models frameworkで画像分析
ryodeveloper
1
130
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
140
分散システム、なんですぐ死んでしまうん?耐障害性を高めたいあなたのためのレジリエンスパターン入門
mshibuya
7
6.7k
これからAgentCoreを触る方へトレンドはGatewayです
har1101
6
500
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
2.9k
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
100
광주소프트웨어마이스터고등학교 DevFest 특강 - 바이브 코딩 시대에서 주니어 개발자로 살아남는 방법
utilforever
1
150
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
170
The Bowling Game- From Imperative to Functional Programming - Part 1
philipschwarz
PRO
0
340
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
340
58k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
550
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
810
The Spectacular Lies of Maps
axbom
PRO
1
870
A better future with KSS
kneath
240
18k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
250
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1k
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