PicoRubyを理解する1

PicoRuby
A Ruby interpreter implementation for one-chip microcontrollers - PicoRuby

ちゃんと中身を理解できてなかったので、コードや資料を読んで理解したい。

特にパーサーやVMの周りをどうやって小さくできているのか。

まずは基礎知識から。

公式情報

PicoRuby Documentation
API documentation

羽角さんの資料

2025

MicroRuby: True Microcontroller Ruby
RubyKaigi 2025, #rubykaigi
RubyKaigi 2025 で発表したMicroRubyとはなんだったのか
MicroRuby: True Microcontroller Ruby というタイトルの発表をしました。

MicroRubyとは?

Ruby会議には参加できてないので、詳細はブログの記事からの理解ですが、以下のような、図のような感じなのかと理解しました。コンパイラをカスタムして準備してしまうのが驚くべきところ。パーサーもPrismに置き換わっているらしい。

で、コンパイラの周りやmrbgemの扱いなどは、やはりコードを追っていかないといけない。

2024

Unlock The Universal Parsers: A New PicoRuby Compiler
RubyKaigi 2024, #rubykaigi
令和の隙間産業——PicoRubyはどこから来てどこへ行くのか - HASUMI Hitoshi - Rabbit Slide Show
Presentation slide for 大阪Ruby会議04
Ruby Prize 2021 最終ノミネート者 羽角 均 インタビューRubyPrize
Rubyコミュニティの「個人賞」
Matz:「そっか、256KBあったらmryubyのVMだけなら動くのか。」

ESP32でPSRAM 8M乗ってるとmrubyのパーサ/コンパイラも込みで動かせた実績あるので、Raspi PicoでもPSRAM搭載ボードなら行けるはず。

羽角さん「僕としては、PicoRubyとかmrubyのエコシステムを広げていくのに、PicoRubyコンパイラを作っただけじゃ面白くなくて、使われないと楽しくないわけですよね。」

とても共感。C書けるなら、Cで書いてしまっても良いのだけど、せっかく環境を作るからには他の人に使ってほしい。羽角さんは一人でエコシステムまで作ろうとしててほんとすごい。

n月刊ラムダノート Vol.4, No.1(2024)
計算機好きのための技術解説情報誌 エヌゲッカンラムダノート(不定期刊行)106ページ A5判 紙書籍は1色刷 2024年2月6日 第4巻第1号/通巻7号 発行 目次 #1 手を動かして学ぶストリーム処理入門(中谷翔)#2 WebAssemblyの制約を越える(齋藤優太) #3 PicoRubyといっしょに学ぶ、プログラミング言語が電気回路を動かす仕組み(羽角均)

買って読んでみた。

基本的なところからとても丁寧に書いてあるので、PicoRubyちゃんと使いこなしたい方は必読と思いました。

その他

mruby/c and data-flow programming for small devices
RubyKaigi 2025, #rubykaigi

https://www.slideshare.net/slideshow/mruby-c-and-data-flow-programming-for-small-devices/278614229

mruby/cについて、田中先生のスライドが公開されていた。

Node-REDから使えるようにした、というお話。

次のステップ

PicoRubyのコードを読む。

Read more

PicoRuby向けのM5Unified/GFX mrbgemを作る話

PicoRuby向けのM5Unified/GFX mrbgemを作る話

この記事は、mrubyファミリ (組み込み向け軽量Ruby) Advent Calendar 2025に参加しています。 本日の記事では、先日のTokyuRuby会議16 でLTした内容をブログ記事としても残しておきたいと思います。 ESP32とPicoRuby PicoRubyはもともと、@hasumikin さんがRaspberry Pi Picoをターゲットとしてスタートしたプロジェクトです。 その後、ESP32への対応も@Yuuuさんの尽力もありなされています。(picoruby-esp32) PicoRubyをESP32のcomponentsとしてビルドしてリンクするような形でポーティングされています。 現在は主なESP32シリーズで、PicoRubyを動かすことができるようになっています。 M5Stackシリーズを使いたい ESP32を使いたい理由の一つとして、市場にいろいろなバリエーションのESP32をコアとしてパッケージングされた製品があるという点があると思います。 M5Unified/GFXを使いたい M5シリーズにはディスプレイやボタンや

By kishima
チキントマト煮と鶏レバーペーストのレシピの記憶

チキントマト煮と鶏レバーペーストのレシピの記憶

昨日はTokyuRuby会議16があり、そこで差し入れ料理の投票で1位を取ることができました。食べて頂いたみなさん、ありがとうございました。 長年スタッフ側で参加してて、いつか飯提供したい気持ちをずっと、温めてたんですが、今回は一般参加で飯提供の念願叶った上に、飯王までとれて最高でした。 その時のレシピを自分のためにも残しておきます。 分量は目分量でやってたので、そのあたりは適宜補完ください。 今回の料理の品目アイデア出しのブレストにはChatGPTにも手伝っていただきました。ありがとう。 チキントマト煮 材料 * 国産鶏むね肉(ハナマサで購入) * トマト缶 * 赤ワイン * たまねぎ * にんじん * にんにく * マッシュルーム * ローリエの葉 * ローズマリー(生) * 塩 * コンソメの素 * オリーブオイル * サラダオイル 下処理 鶏肉はまず塩を強めに降って揉み込んで数十分おいておく 塩で処理した鶏肉は水で洗い流して、余分な油を切り落として、一口サイズに切り分ける 切り分けた肉は皮を背にして、サラダオイルを引いたフラ

By kishima
PicoRubyベースのミニコンピュータ(PicoCalc編)

PicoRubyベースのミニコンピュータ(PicoCalc編)

以前の記事で、PicoCalcが届いたら、PicoRubyを動かしてみたい、というお話をしていました。 PicoRubyベースのミニコンピュータ先日、SNSを見ていたらPicoCalcというデバイスを見つけた PicoCalc | ClockworkPiClockworkPi - Creators of PicoCalc uConsole DevTerm and GameShell, Open Source Portable Hardware for Every Dev.ClockworkPi これはclockworkから出ているRaspberryPi Picoをコアとして、キーボードとモニタを搭載したスタンドアロンなポケットコンピュータキットです。 clockworkはRaspberryPiベースのロマンあふれるデバイスをこれまで提供している会社で、私も昔クラウドファンディングに参加したこともありました。 私自身も、以前、ラズパイをタカチケースに入れて気合でポケコンもどきを作ったりしたこともあったので、この洗練された筐体には当然心が躍りました。 デフォルトで動くのはBasicで、こ

By kishima

昔、Arduino Uno(RAM 2KB)でmrubyのバイトコードを走らせた話

背景 最近、生活が落ち着いてきたので、また電子工作やmrubyを触るようになりました。 ここ数年はPicoRubyが一部で盛り上がっており、私も勉強会に参加しつつエンジョイしているところであります。 PicoRubyのすごいところは、Raspberry Pi Picoのような264kBというメモリが少なめの環境でも、マイコン上でmrubyのコードをコンパイルして、実行できるところです。これまでいちいちPCでバイトコードにコンパイルしてマイコンに焼いたりしないといけないところが不要になります。加えてPicoRubyではターミナルで動くShellや、USBストレージまで実装されていて、それもまた使いやすさに大きく貢献してます。 ※ちなみに素のmrubyでもESP32のPSRAM(2MBや4MB)付きのものであればマイコン上でコンパイルできます。(Family mrubyの取り組み) 作者の羽角さんと以前、Arduinoでmrubyをなんか動かしたことがある、という話をしたときに、ふつう動かないよね?となったのですが、その時自分でも自分が何をしたのか完全に忘れていたので、それを振り

By kishima