
別シリーズにてラズパイPico 2ベースのUSBスティック型「RP2350-GEEK」着弾。メーカのWaveshare社版のMicroPythonをインストールしてみたので、こちらシリーズでその使い勝手を調べてみます。フツーのMicroPythonに見えるけど。まずはダウンロードできたExampleを動かしてみます。
※「MicroPython的午睡」投稿順 Indexはこちら
Waveshare社版MicroPython
多分、スタンダードなラズパイPico2用のMicroPython処理系をRP2350-GEEKに書きこんでも動作するのではないかと思われるのですが、Waveshare社の以下のWikiページには、Waveshare社版の処理系がおかれていました。
https://www.waveshare.com/wiki/RP2350-GEEK
上記ページからダウンロードしてインストールしたのは以下のファイルです。
WAVESHARE-RP2350-20250807-v1.26.0-16MB.uf2
着弾回にて、インストール時にちょいと確かめたことは書いたので、今回は続きの調査です。
まずデフォルトでインストールされているモジュールです。こんな感じ。
上記を見る限り、「多少の凸凹」はあるような気がしますが、フツーのRaspberry Pi Pico 2 版と大差ない感じがいたします。
RAMのフリー容量が「多少大きい」のではないか(同じデバイス、同じRAMサイズなので、過去のバージョンより処理系がコンパクトになって「ユーザが使える容量がちょっと増えた?」)のではないかと、着弾回で述べました。
今回は、Flashメモリ上に展開されているファイルシステム “/” 以下について調べてみました。以下結果を見てみると、登載されているFlashメモリ16MBのうち、15MBがファイルシステムに割り当てられているようです。
ファイルシステムの内容をThonny IDEから眺めたものが以下に。ThonnyからはRaspberry Pi Picoと認識されとります。
Waveshare社版付属のExample
上記のディレクトリに、スクリプトファイルなどがコピーされてますが、そいつらは、上のWikiページからダウンロード可能なExampleを手元のRP2350-GEEKにコピーしたものです。ダウンロードファイル名は以下です。
RP2350-GEEK-CODE.zip
上記を解凍すると、C言語版とpython版のExampleの両方が含まれてます。今回は当然のpython版です。中をみると
-
- 01-LCD
- 02-SD
- uf2
なるフォルダが存在します。uf2フォルダには、こちらでインストールしたMicroPython処理系よりは古いバージョンのuf2形式のオブジェクトが含まれてました。
01-LCDには登載のLCDを使うExample、02-SDにはmicroSDカードスロットにmicroSDカードを刺したときに使える Exampleが含まれています。
02-SDに
boot.py
が含まれているので、これを / にコピーすれば起動時に自動実行され、SDカードスロットを使うためのSPIの設定を行ってくれます。
また、以下のファイルにはsdカードを使うためのユーティリティ関数などが含まれているようなので、import可能なパスにおいておくと便利かと思われます。
sdcard.py
起動後、import os して /sd を調べてみたのが以下に。
最初の 32768 がブロックサイズで、4番目の948860が空きブロック数です。
32768 x 948860 = 31,092,244,480
差し込んだのは32GB microSDカードなので、容量はOKじゃないかと思います。
01-LCDの方には表面のLCDを使うためのサンプル、ユーティリティプログラムが含まれてます。
-
- bmp_reader.py
- lcd_example.py
bmp_reader.pyは、ファイルシステム上におかれたBMP形式の画像ファイルを読み取ってLCD表示するためのユーティリティです。lcd_example.py 内をみると、直接テキストをLCD表示する方法、上記のBMP画像表示の方法などが分かります。
なお、上記では、RP2350-GEEKと書かれたBMPファイルを表示していますが、ダウンロードした時点の lcd_example.py はRP2040-GEEK用です。以下で黄色のマーカを引かれた部分をRP2350と書き替えないと上記のような図形は現れませぬ。
これで、LCD表示もできるし、SDカードも扱えるしで、鬼に金棒?ホントか?