以下の内容はhttps://akkiesoft.hatenablog.jp/entry/20251211/1765450438より取得しました。


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とかバッテリーとかが見えますね。

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




以上の内容はhttps://akkiesoft.hatenablog.jp/entry/20251211/1765450438より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14