mruby

PicoRubyとMicroRubyの歩き方

tech

PicoRubyとMicroRubyの歩き方

この記事は、mrubyファミリ (組み込み向け軽量Ruby) Advent Calendar 2025に参加してます。 今日は、PicoRubyとMicroRubyについて、具体的にどんな技術なのか、どんな活用が可能なのか、いまいち想像がついていない方向けへの情報を提供できればと思っています。 PicoRubyとは PicoRubyとは、hasumikinさんが開発されたオリジナルのmrubyバイトコードコンパイラとmruby/cのVMを組み合わせた、Raspberry Pi Picoのようなメモリのリソースが少ない環境向けのRuby環境です。 mruby単体でもコンパイラやVMを持っていますが、それだとRaspberry Pi Picoで動かすにはちょっとメモリが足りなかったのもあり、開発されたようです。 PicoRubyは、限られたリソースでmruby互換のコードを動かすだけでなく、以下のような特徴を備えてます。 * フラッシュメモリ上のファイルシステムをFATで実装 * 動的コンパイルの仕組みを導入、ファイルシステム上のコードをrequireも可能に *

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

esp32

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
PicoRubyベースのミニコンピュータ(PicoCalc編)

mruby

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

mruby

昔、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
関西Ruby会議08で発表してきました

tech

関西Ruby会議08で発表してきました

ありがたいことに投稿した発表が採択されたので、2025/6/28 京都にて開催された関西Ruby会議08にて、発表してきました。 とてもよい2日間だったので、その記憶を残しておきたいと思います。 CFPに応募した経緯 2月にあったTokyu.rb(=飲み会)に参加した際に、どんな話の流れだったか覚えてないですが、@makicamelさんから、kishimaさんも参加しましょうよ!という話をしてもらって、それがきっかけで、イベントの存在を知りました。 遠征するのであれば、発表するくらいの理由がほしいと思っているのと、久しぶりに個人開発も再開していきたいと思ったので、会議ドリブン開発も意図して応募してみました。 直近の半年くらいのお仕事がROS 関係でだいぶ忙しく、その分、未知の分野の経験が蓄積された感触があったので、これをなんとかRubyの世界に引っ張ってきたいと思って生まれたテーマです。 当日までの準備 久しぶりに本格的にmruby触るので、勘所復習するところからで、なかなか大変でした。特にビルド環境整理したり、寄り道でPicoRuby関係のデバッグしたりに時間をだい

By kishima

mruby

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で、これもまた味わいがあってよきですが、やはり自分としてはmruby動かしたい、ということで、Raspi PicoといえばPicoRubyの出

By kishima

mruby

PicoRubyを理解する1

PicoRubyA Ruby interpreter implementation for one-chip microcontrollers - PicoRubyGitHub ちゃんと中身を理解できてなかったので、コードや資料を読んで理解したい。 特にパーサーやVMの周りをどうやって小さくできているのか。 まずは基礎知識から。 公式情報 PicoRuby DocumentationAPI documentationPicoRuby Documentation 羽角さんの資料 2025 MicroRuby: True Microcontroller RubyRubyKaigi 2025, #rubykaigiRubyKaigiRubyKaigi 2025 で発表したMicroRubyとはなんだったのかMicroRuby: True Microcontroller Ruby というタイトルの発表をしました。hasumikin MicroRubyとは? Ruby会議には参加できてないので、詳細はブログの記事からの理解ですが、以下のような、図のような感じなのかと

By kishima