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

9月頭に実際にPicoCalcが実際届きました。5月に注文していたので、4カ月弱で届いたことになりますね。

PicoCalcはRaspberry pi Picoで動くコンソールマシンです。

320x320の液晶とキーボードにスピーカーなどもついてきます。

付属のPicoにブートローダソフトがあらかじめインストールされており、SDからアプリを起動することができます。

インストールされているバイナリのソースはこちら。

GitHub - clockworkpi/PicoCalc: A calculator like nothing you’ve ever seen before, right?
A calculator like nothing you’ve ever seen before, right? - clockworkpi/PicoCalc

以下、PicoCalcの写真たち。

外箱
組立前の中身
PicoMiteを起動させたところ

開発環境

ファームウェア側をいじることになるため、毎回手作業でファイルコピーするのは面倒です。そのためPicoProbeを繋いでみました。ただ、そのままで背面からデバッガー用の線を出すのはちょっと厳しかったので、ケースの背面の一部だけカットして線を通す穴を作ってます。

Probeを接続したところ

改造の方法

PicoCalcでPicoRubyを動かすためには、PicoRubyの文字列の入出力周りを置き換える必要があります。

PicoRuby Overflow Kaigiで展示した以下の資料で考え方を説明しています。

PicoRuby Overflow Kaigi

この時は、まだ実機が無かったので、類似の液晶コントローラで動いている液晶と、キーボードはI2C対応の別のM5Stackから出ているやつを使ってます。

実際にPicoCalc実機に移植するときは、最低限の修正で1日で動かすことができました。

コードはこちら。PicoCalcお持ちであれば試せます。私はRpi-Pico 2で試してます。

GitHub - kishima/picocalc-R2P2: PicoRuby shell for PicoCalc
PicoRuby shell for PicoCalc. Contribute to kishima/picocalc-R2P2 development by creating an account on GitHub.

実際に起動させるときには、横幅の解像度が標準より狭いので、そのままだとPicoRubyのロゴが表示されません。そのためShell起動処理にあるロゴの絵文字を手作業でいじって、ぎりぎり収まるように修正してます。

PicoRubyを起動させたところ

一応、基本的な機能は使えるはずです。

課題

画面のスクロールするときに全画面かきなおしているため、スクロールがとても遅いです。液晶コントローラとうまく連携して高速描画やスクロール処理するなど、改善が必要です。

今後のこと

いったん、動かせて満足しちゃったところはありますが、自作のESP32コアの基板と連携させたりできたらいいな、とか、この素晴らしい機体を生かす方法は考えていきたいと思っています。

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

昔、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
電子工作遍歴をたどる(1)

電子工作遍歴をたどる(1)

経緯 最近、Rubyの界隈で自作キーボードからの派生も含めて電子工作を始める人が増えているようで、もう少し前からやってた自分としては、そんな状況がとても嬉しく小躍りしてます。 私は色々動画とか見つつ、それに憧れて、真似をしたり創作をしたりを繰り返して、だんだん作りたいものを作るのに何をすればよいか判断できるようになってきました。 一応組み込みに近い開発やら研究やらPMの仕事をしてきましたが、直接的にマイコンを触ることはほとんどなかったので、背景知識はありつつも、それ以外は初心者からスタートした人間です。 最初のハードルの高さを超えると一気に楽しくなった実感があるので、そのハードルを下げるお手伝いを色々したいなと思っています。 話は変わりますが、先日、PicoRuby Overflow会議というのがあり、少しポスターセッション的な枠で参加したりして、とてもいい時間を過ごしてきました。そこで色々新しいことの挑戦される方の話を聞いて、応援したい気持ちが更に高まりました。 支援の一つとして、昔書いた「ゼロから始めるmrubyデバイス作り」のLight版を無償公開しました。 htt

By kishima