あっきぃ日誌

ラズピッピブログのようなオタクブログのようななにか

Raspberry Pi OS Trixie on Cutie Pi

Cutie Piに新しいCM4を搭載するついでに、Raspberry Pi OS Trixieを載せてみましたと言う話。ラズピッピACは埋まっているのでタダのブログです。あとこれだいぶ前にやって書くの忘れてた。

CM4 ++

ヤフオクに安くCM4が転がっていたのでポチりました。というのが8月のコミケ前後くらいの話。ギリ5,000円を切っててお得でした。

2GB RAMでしたが、16GB eMMCつき、無線は技適入り、Dialog PMIC搭載リビジョンと申し分ないです。

CM4自体にも技適マーク。やっぱ本体に印字が一番確実なのでありがたいですね。

Dialog PMICを積んだリビジョンだとどうなるかは、昔raspi.jpに書いた通り。PMICのおかげかどうかは別として、消費電力が少し減るはずです。

www.raspi.jp

Cutie Piに載せる

Cutie PiはCM4搭載のタブレット形デバイスです。

akkiesoft.hatenablog.jp

買った当初は2GB RAM、無線付きと、先述のCM4とほぼ同等スペックのCM4が付属しましたが、技適マークがなかったため、無線がない8GB RAMモデルに載せ替えて、USB無線LANドングルを指して運用してきました。

が、やはり無線LANドングルの扱いが面倒なので、購入したCM4をここに投入することにしました。

Trixieを動かしたい

なんかもさくさしているうちに10月に入り、Raspberry Pi OS Trixieが出たので、TrixieをCutie Piで動かすことにしました。

ただ、Cutie Piの電源管理周りのMCUや、画面回転に使われていた加速度センサーを扱いソフトウェアの再コンパイルは難しそうなので一旦見なかったことにして、ディスプレイとタッチパネルが動くところまで作りました。

一旦作ってみたconfig.txtがこちら。

[cm4]
display_auto_detect=0
display_camera_detect=0
dtoverlay=cutiepi-panel
enable_uart=1
dtoverlay=uart1
dtparam=i2c_arm=on
dtoverlay=i2c5,pins_10_11
dtoverlay=i2c-sensor,mpu6050,int_pin=27
dtoverlay=ov5647,cam1
hdmi=off

#EEPROM Update
#dtparam=spi=on
#dtoverlay=audremap
#dtoverlay=spi-gpio40-45

ディスプレイは、cutiepi-panelと言うDeviceTreeがあるので、これを指定するだけでした。が、夏頃までは6.12で動作しないバグがあり(先日のHyperPixel2.1 Roundと似た感じですね)、これが修正されたカーネルが降ってきたのが10月初めかそのあたりだったのでした。

github.com

ディスプレイとカメラは指定するために自動検出を切っています。Cutie Pi内臓のカメラとしてov5647(初代カメラモジュールと同型)を指定。使うことはないですが、ちゃんと動いてます。

uartはMCUと通信するために有効にしているようですか、現在はMCU周りのコードを動かすに至っていないので有効にしただけの状態。i2cを有効化して加速度センサーのmpu6050を認識させるところもしていますが、ディスプレイの回転には非対応です。

下のEEPROM UpdateはCutiePiとは関係なくCM4のEEPROMのためのオプション。EEPROMを更新したいときだけチェックアウトを戻して使います。なお、同時に/etc/default/rpi-eeprom-updateを書き換えてから再起動が必要です。再起動したあとはふつうにrpi-eeprom-update -aで更新できます。終わったらまたコメントアウトして再起動しておきましょう。rpi-eeprom-configも同様。ちなみに、これを有効にしている間はCutie Piのディスプレイが表示されなくなるっぽいので、終わったら戻しましょうと言うか、戻すの必須でした。

# リリースはお好みで(default or latest)
FIRMWARE_RELEASE_STATUS="default"

# 下の2行のコメントアウトを解除
#RPI_EEPROM_USE_FLASHROM=1
#CM4_ENABLE_RPI_EEPROM_UPDATE=1

できた

というわけで基本的なところは動きました。

Cutie Piにはソフトウェアキーボードが付属していたのですが、Tab補完とか色々ができない子で、OSCとかコミケ会場でなんかトラブっては無きながらタイプをしていました。しかし、最近のRaspberry Pi OSでソフトウェアキーボードがつくようになったので、このあたりも苦労することなく作業できるようになったのはありがたいです。

OS的にはBullseyeからTeixieに飛んでいるのですが、無線の設定周りがNetworkManagerに完全移行して、設定UIも整備された環境になったので、そのあたりの調整もしやすくなったのがありがたいポイント。イベント会場のトラブルは基本無線設定忘れですからね……。忘れるなよって話ではあるんですが。

あとはMCUまわりとやり取りできるようになって、電源ボタンであれこれ操作できるようになるとかなり良さそうです。電源ボタンの1回押しでディスプレイのバックライトを切る機能は、節電の観点からほしいので、なんとか欲しい。公式のメンテが止まっているのが惜しいところ。冬休みの自由研究かなあ。でもQtはわからなくてェ……!まあ、いちおう、Raspberry Pi OSの画面ブランク機能で代用はできるはずなので、それで良いのか。

上の写真ではコミケで使う気まんまんなんですが、行けるかしらん。ちょっとドキドキですが行ってみましょうかね。

2026年、ラズピッピで何しよう

ラズピッピAC 16日目です。

Raspberry Pi Advent Calendar 2025 - Adventar

15日目はkazuedaさんの、Pico WからVNCアクセスする話でした。Pico WでVNCクライアントをやる発想はなかったので、わりと興味深いですね。操作は難しいにせよ、モニターはできるので、なんか使えそうな予感。

zenn.dev

来年ラズピッピで何しよう

ネタがなくて、残り3枠だけど終わったなこれ……と思ったけど、思い出しました。来年の抱負でもいいんですよこのAC。書いといてよかったこのくだり。

来年はこれ作ろうとか、目標の話ももちろんOK。

というわけで来年やってみようかなって思っているのをダラっと考えてみましょう。

NASを作りたい気がする

Raspberry PiNASを作る、というのは、私の中ではもぐのさんが二言目には言っていたやつ、という感じだったのですが、Pi 5ともなるとさすがにNASにしても差し支えのない性能を持っています。

自宅のNASがNetgearのNASなのですが、10年選手なのでそろそろ置き換えたく、しかし無駄に高機能で高いので、Pi 5で作れたらおもろいかなあと思っているところです。

akkiesoft.hatenablog.jp

ググると、かなりドンピシャリなものを作っている人がいて、これでええやん!となりました。

www.youtube.com

Building a 4-Bay 3.5" NAS with a Raspberry Pi 5 and 3D Printed Enclosure - The DIY Life

同じ部材が用意できるかとかが課題になりそうですが、そのへんがクリアできればNASをPi 5で構築は、来年の目標にしても良さそうな気がします。

とは言え短期的にはやれないので、購入から5年経過したNASの6TBのHDDを1本だけ交換すべく、おなじ6TBを1本購入して差し替えました。差し替えられたHDDはNASのバックアップディスクとして別途USB接続してジョブを設定していく予定です。

なんか基板を作りたい

漠然としすぎていますが、なんか基板を作りたいですね。

既存の基板で言うと、uHAT Porter Picoは、おかげさまでスイッチサイエンスの委託が好調で、追加納品してはちまちま売れて、また追加納品と言う作業を繰り返している状況です。直近は10月に20枚納品したのが、11月中になぜか完売してしまい、ちまちまどころではないペースで消えました。何が起きたんでしょうね……。というわけでまた納品するように基板を製造発注中です。たぶん今週末には届くので、年末休み前にシューッできるように泣きながらはんだ付けしていると思います。

それはさておき、なんかまた思いつきで変なもん作りたいなあと思っています。Picoモノかなーっ。

あるいは先述のNAS向けのバックプレーンとかも、可能性としてはあるかも。ただ、JLCPCBで作ったら5枚も来るので、NASを5台作ってどうすんねんとはなりそうですが。

ラズピッピの整理をしたい

増やし過ぎなので、少し減らすやつをまたやりたいですね。減らして学生に押し付けるやつをたまにはやりたいところ。PiZero Wとかは……今だともらっても嬉しくないかしら。どうなんでしょ。

Picoも一旦少し整理してもいいかなーと、さっき引き出しを開けて思ったりしてました。ものを増やしすぎるオタク、厳しい。

公式のPoE+ HAT+まだ?

出たら遊びたいね〜と思って2年が経ちました。まだか。

まとめない

来年も思いつき駆動で雑なもん作って遊んでネタにできればと思います。

謎のRaspberry Pi "Compute Module Zero"とは

ラズピッピAC14日目です。おかげさまで半分を越えられました。

Raspberry Pi Advent Calendar 2025 - Adventar

13日目はkazuedaさんのWIZnet W6300を動かすお話でした。W6300はQSPIで100Mbps位出るらしいのですが、例によってサンプルからすんなり動かすのが難しいっぽいので、動かすのは大変だったのではないかと思います。

W6300-EVB-PICO2でWifiClient-W6300.inoを動作する話

謎のRaspberry Pi Compute Module Zero

数日前ですが、Jeffが動画をあげていました。なんすかRaspberry Pi Compute Module Zeroって。

www.youtube.com

www.jeffgeerling.com

実は私もちょっと前に知ったのですが、どうやら中国のEDATECが中国国内向けだけに製造・販売しているCompute Moduleだそうです。SoCはPi Zero 2Wと同じRP3A0を搭載しているため、SiPとして統合されているRAMももちろん512MBで固定です。eMMCの容量と無線の有無のバリエーションは選べるようです。

そして形状はCM4や5、さらに過去のSODIMMとも互換がない、端面スルーホールのみで提供されます。つまり、モジュール単品で買っても、何かしらの対応IOボードにはんだ付けしなければ使えないというシロモノのようです。

PIPには情報があるので、未発売というわけではなく、ほんとうに中国限定らしいです。

pip.raspberrypi.com

9月発表という資料のとおり、早いところではすぐに見つかっていたらしいです。知ったのは11月頭だったので、でおくれです。

www.cnx-software.com

www.hackster.io


中国限定モデルと言えば、先日買って遊んだ初代のRed Pi 1と、1+あたりが存在しますが、まさか令和になって独自形状の物体がでてくるとはという感じです。

akkiesoft.hatenablog.jp

ほしかった(手に入らず)

というわけで、これもまた実はAliExpressで売られているっぽいのを見つけて、ポチってみたのですが、発送したという通知のあと1ヶ月、実際には別の追跡結果では発送待ちで止まったままであることが判明して、無念のキャンセルとなりました。

なんかまだ他の業者もまだ出しているっぽいのですが、ほかも同じことになるんじゃないかと思うと、怖くてチャレンジはできず。ぐぬぬ

あったところでしょせんPi Zero 2W相当なので、黙ってPi Zero 2Wを買っておけばいいと言われればそれまでですが、ラズパイコレクターとしては、1枚くらい持っておきたいですよね……!?いらない?そうかな……そうかも……。

Raspberry Pi RM2モジュールのブレイクアウトボードを試す

ラズピッピACの11日目です。なんか続いてる。

Raspberry Pi Advent Calendar 2025 - Adventar

10日目はかぐらぁさんの「ラズピコでPS2対応の弐寺専コンをつくる」でした。Picoで昔の入力系デバイスをどうにかするの、良いですね。ロマンがあるー。

kgr1k50.hatenablog.com

Raspberry Pi RM2モジュールのブレイクアウトを試す

Pimoroniのブラックフライデーの時に買った物が着弾しました。狙ったわけじゃないですが、これでACのネタがもちましたね。

TINY2350は自作キーボードのコントローラー用に買い足したものなので、ただのキーボードになります。RM2 Breakoutが今日の本題。

RM2は今年正式に発表された、Pico Wの無線LANの部分だけ切り出したやつです。

akkiesoft.hatenablog.jp

Pimoroniはその前からなぜか先行して搭載製品を販売していて、今回のBreakoutも去年から存在していましたが、今回はこいつと、これを接続するためのSP/CE用のケーブルをポチりました。

去年はRM2が載ったPico Plus 2Wの動作確認をやっていますが、これでやるのと、他のPico系につなぐのとではまた話が違いますからね。

akkiesoft.hatenablog.jp

というわけでこれがRM2 Breakoutです。スルーホールもありますが、SP/CEケーブルを使えばはんだ付け不要で他のデバイスに接続が可能という設計です。

RM2 Wireless & Bluetooth Breakout (SP/CE)

技適はまだない

残念ながら例によってRM2の技適はまだ取得されていないため、「技適未取得機器を用いた実験等の特例制度」を利用しての実験となります。

https://www.tele.soumu.go.jp/j/sys/others/exp-sp/

FCC/CE以外はカナダとインド程度と、認証国が増えている様子があまり見られないので、日本が追加されるのはいつの日か……。

Approvals - Compliance - Raspberry Pi Radio Module 2 - Modules - Product Information Portal - Raspberry Pi

Python系のサポートもない

MicroPythonは実装が少し進んだところで止まっているようです。おしい。

Support for RM2 break out boards by peterharperuk · Pull Request #16057 · micropython/micropython · GitHub

CircuitPythonは、RM2の入手性を理由に実装が後回しの模様。ぐぎぎ。

Support for Raspberry Pi RM2 wifi / ble module · Issue #9777 · adafruit/circuitpython · GitHub

しかし、Pimoroniがビルドしているカスタム版MicroPythonなら利用できるので、今回はこれを使います。ホントはPicoでやりたいのですが、network.WLAN()にピン番号指定ができる変更が入ってるのはPico Plus 2向けだけのようなので、pimoroni_pico_plus2-v1.26.1-micropython.uf2を使用しました。Pico2W向けでもだめらしいです。

GitHub - pimoroni/pimoroni-pico-rp2350: MicroPython builds for Pimoroni Pico 2 / RP2350 boards.

接続

Pico2に接続した様子がこちら。

配線の内訳はこうです。SPIっぽいのでSPIに合わせて配線していて、実際違うSPIの場所につなぐと動作NGになったりしたのですが、実際にはSPIではないらしい?です。よくわかっておらず。

ケーブルの色 役割 Picoへの接続先
- 未使用
オレンジ 3V3 3V3
CSn GPIO1
SCLK GPIO2
DATA(IN/OUT/WAKEの3つに指定) GPIO0
WL_ON GPIO3
RM2のGPIO0 未使用
GND GND

こちらのコードをベースに、GPIOの設定を追加したバージョンを作ります。

pimoroni-pico-rp2350/examples/pico_plus_2_w/catfacts.py at main · pimoroni/pimoroni-pico-rp2350 · GitHub

import network
import requests
from time import sleep

wlan = network.WLAN(network.STA_IF, pin_on=3, pin_out=0, pin_in=0, pin_wake=0, pin_clock=2, pin_cs=1)
wlan.active(True)
wlan.connect("ssid", "passphrase")

print(wlan.ipconfig("addr4"))
mac_address = ubinascii.hexlify(wlan.config("mac"), ':').decode()
print(mac_address)

while wlan.isconnected() is False:
    print('Waiting for connection...')
    sleep(1)
    
request = requests.get('http://catfact.ninja/fact').json()
fact = request['fact']
print('Cat fact!')
print(fact)

実行するとこんな感じ。無線LANに接続できて、IPアドレスが取得できました。サンプルのコードでURLから取得しているのは、猫のうんちくみたいなのを垂れ流す謎APIのようです。

Waiting for connection...
(中略)
Waiting for connection...
('192.168.29.125', '255.255.255.0')
28:cd:c1:XX:XX:XX

Cat fact!
 A cat only has the ability to move their jaw up and down, not side to side like a human can.

もっと小さく

Pico2につなぐならPico2Wを使えばいいじゃんという話になりますが、そもそもRM2は、自分でRP2040/2350を組み込んだ基板とかに載せて使われることを想定しています。なので、本来的にはPicoのスルーホールでは提供されていない、Pico Wで使われるのと同じGPIOに接続すれば良いことになっています。

ただ、あいにくその予定はないので他のケースを考えると、例えばPico以外のRP2系のボードとかに載せられれば便利になるかもしれませんね。意外と無線を搭載していないボードとかはありますし。

というわけで、TINY2350につないでみました。サイズを追求する代わりに無線は搭載されていないので、TINY2350向けにアドオンボードなんかが作れたら楽しそうです。まあ、Seeed XIAO ESP32C3あたりを使えと言われればそれまでですが、いいの!

そして接続した様子がこちら。GPIO 0〜7はPicoからGNDを抜かした以外同じ配列なので、隙間を詰めて差し替えるだけでした。ファームウェアは先程と同じpimoroni_pico_plus2-v1.26.1-micropython.uf2を使用します。

結果は問題なく動作。フーム、こう言うのを見ると、コンパクトなやつが作れそうだな?というインスピレーションが沸いてきそうです。

ちなみに、本来はWaveShareのRP2040-LCD-1.28に載せてみたくて、その検証用に買ったのですが、RP2向けで使えるMicroPythonが見当たらなかったので、一旦断念という感じです。動くことがわかってから変えと言われればそうなのですが。これで動くのがわかれば、RM2が載る拡張ボードとかも作れますね。絶妙に使いみちがなくて困ってるので、なんとかネットワーク接続に対応したいところ。つって、有線LANに対応したやつも使い所を思いつけなくて放置してるので、もうこれ自体だめなんじゃないかという説も。

akkiesoft.hatenablog.jp

今後に期待、技適は早くくれ

手軽に扱うためのPython系の実装が見当たらないので、私は一旦様子見という感じになりそうです。実装オナシャス。

……というパッとしないブログを読まされてきて「じゃあいまいちっぽいし、技適も来ないんじゃね〜」と思うじゃないですか。でも海外ではRM2を組み込んだ面白そうなブツがポコポコ作られていくわけで、そうなった時に日本じゃ使えねえ〜!となってしまうので、技適自体は頑張って取得いただきたい次第です。

先行でRM2採用製品を作ってきたPimoroniはつい最近、新たにバッジシリーズ「Badgeware」を発表してきました。Badger2040とかのシリーズをアップデートしつつ、RM2を載せた製品になっています。

badgewa.re

個人的にはBlinkyが気になっています。

裏面、RM2とかバッテリーとかが見えますね。

……みたいな、いい感じアイテムが出てきても、特例を使わないと日本じゃ使えないよ〜、都度検証内容書くの面倒だよ〜!なんてことになるので、技適はよ頼む〜!という感じです。

続・HyperPixel2.1 RoundのRPi OS Linux 6.12対応 & CM5のIOボードのリビジョン変更(なお半年前)

ラズピッピAC2025 9日目、やりますか。

Raspberry Pi Advent Calendar 2025 - Adventar

8日目はkazuedaさんの、Pico系に載せたLCDをGUD規格でPCのサブディスプレイにできる話でした。全然知らんかった。あと、これをやってるオリジナルがfbtftのnotro氏なんですね。fbtftもちっさい系ディスプレイ向けな感じなので、そう言うのすきな方なのかも?

zenn.dev

kazuedaさんの記事のURL、Adventarの方はアカウント名が抜けてエラーになっていたので、直してもらえると助かります〜。

続・HyperPixel2.1 RoundのRPi OS Linux 6.12対応

できたやつをIssueのコメントに書いたところ、コードを確認した6by9氏からいくつかコメントを貰いました。基本的に私の理解不足が起因なので、どの指摘についても、知らなかったっす……と返すしかなかったのですが、それらについて追加で修正をもらっていて、手元でも問題なく動作したので、このままsquashコミットとしてプルリクされました。(追記:Mergeされました。次の6.18向けにも採用されたようです。)

Raspberry Pi OSのことながら、Linuxカーネルのコミットに名前が入ることになり、オゥフ……という感じですね。

github.com

本家Linuxカーネルに入れるには、ハードウェアがピンポイントすぎるのと、リセットピンの扱いをRequiredからOptionalに変えてしまっているのとで、おそらく難しいのかなと思います。あと、本家のHEADがどうなってるのかまで見てないですし。あとで見てみようかな。

CM5のIOボードのリビジョン変更(なお半年前)

hacksterの記事から、CM5のIOボードがリビジョン変更していたようです。

www.hackster.io

記事では本家の発表はないと書かれていますが、こう言う変更がある場合は、Raspberry Pi Product Information Portal(PIP)に情報が上がっています。ちゃんと上がっていました。

PCN - Raspberry Pi Compute Module 5 IO Board - Modules - Product Information Portal - Raspberry Pi

PDFを読むに、変更自体は6月には行われていたようなので、前のリビジョンの在庫が捌けて、新リビジョンが流通し始めたので気づかれたという感じでしょうか。ただ、IOボードはポートの位置が若干変わっていたり、ケースもファンの位置が変更されているそうなので、バラバラに買ったらリビジョンが違って載せられないとかになるとしんどそうですね。

IOボードの変更は以下の通り。主にファンの改善が大きそうですね。

  • シャットダウン時のファンコントロールの改善
  • ファン出力にプルアップ抵抗を追加して、内部にプルアップ抵抗を持たないファンに考慮。
  • LEDの回路をシンプルになるよう見直し
  • USB_OTG_IDとSync_Outピンのシルク印刷のエラーを修正

リビジョン2と1の違いは、基板上の製品名の部分で見分けられるそうです。R2の文字があればRevision2とのこと。

R2ってWindows2003を思い出すな……(ジジイ!)

さておき、Revision1持ちとしてはやや気になりますが、買い替えるほどかと言われるとそうでもないので、そんなこともあったんだ〜、くらいの感想でした。