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

2025年の振り返りと2026年の抱負

2025年の振り返りと2026年の抱負

明けましておめでとうございます。今年も無事新年を迎えられてありがたい限りです。 昨年は色々対外的な活動も増やしたり、自分の趣味プロジェクトも新しく始めたりしたので、活発な一年だったと思います。 今年は仕事始めて20周年でもありますし、色々頑張り時な年だと思うので、抱負と合わせて、昨年の振り返りを残しておきたいと思います。 2025年振り返り 2025年は、4月までは仕事のほうがかなり忙しく、日々仕事で忙殺される日々でした。 2/2 Tokyu.rb新年会2025 まだ忙しい季時期でしたが、地方出張前に荷物抱えて参加した記憶があります。 Tokyu.rbは、みんなで美味しいもの(主に肉)をいただく集まりなのですが、そこで関西Ruby会議のことを聞いたことが、この後の動きの伏線になりました。 5月になって仕事が落ち着いてきたので、一念発起して久しぶりに地域Ruby会議へのプロポーザルを送ったのでした。 5/26 PicoPicoRuby #1 待望のmruby関連の勉強会!ということでウキウキで参加しました。 以降も月イチで安定して開催されており、私の活動のモチ

By kishima
電子工作遍歴をたどる(2)

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

前回の話のつづきです。 作例5 ラズパイとGroveによる音楽プレーヤ 2017/08ごろ ラズパイで遊び始めて、そろそろ単なるミニPCとしてではなく、いろいろ電子工作っぽいことをやってみたくなってきました。 そのころSeeedのGroveというものを知って、これなら初心者でも色々電子デバイス試せる!となって色々買ってきて作ったのがこちらです。 A first step to Raspberry Pi project | Kishima blogThis was a first step to Raspberry Pi project done in last year. RaspiMusicServer This an…Kishima blogkishimaGitHub - kishima/RaspiMusicServer: An music server on Raspberry pi and ArduinoAn music server

By kishima
Family mruby OS:FreeRTOSベースのMicroRubyマルチVM構想

Family mruby OS:FreeRTOSベースのMicroRubyマルチVM構想

この記事は、mrubyファミリ (組み込み向け軽量Ruby) Advent Calendar 2025の12/25の記事です。25日の枠が空いていたので、滑り込ませていただきました。 今日は私が最近取り組んでいる個人プロジェクトであるFamily mrubyとそこから発展したFamily mruby OSについて紹介したいと思います。 開発に至る経緯 Family mrubyは2019年から開発着手したプロジェクトです。2020のRubyKaigi Takeoutでも初期型について発表しました。 Family mrubyとは? Family mrubyKishima’s projectsKishima Craft Works 今は昔、子供が最初に触れるプログラミング言語といえば、BASICという時代がありました。 制約は多いですが、パソコン以外にも、MSXやファミコンでBASICができるFamily BASICという製品もあり、そこからプログラミングの面白さを知り、プログラマーになった方もたくさん居られると思います。 そして現在は無料で大抵のプログラミング言語の開発環境

By kishima