tl;dr
- RP2350A はRaspberry Pi Pico 2に搭載された新しいマイコンだよ
- 内部ロジック用1.1V電源が、内蔵ドロップダウンレギュレータから、内蔵DCDCコンバータに変更され、多くの注意があるよ
- いくつか欲しい機能があって作ったよ
RP2350A とは
Raspberry Piから、新しいRaspberry Pi Pico 2と、それに搭載されたRP2350Aが発表され、発売されました。
🚨 Meet Raspberry Pi Pico 2, our new $5 microcontroller board 🚨
— Raspberry Pi (@Raspberry_Pi) August 8, 2024
The next big tiny thing, built using RP2350: a high-performance, secure microcontroller designed here at Raspberry Pi.https://t.co/33hLbwummW pic.twitter.com/SWuStdMp3W
CPUはARM Cortex-M0+からARM Cortex-M33に強化され、さらにRISC-Vも積載しています。
4種類のMCUが用意され、フラッシュも内蔵のもの、48ものGPIOがあるものもあります。
RP2040自体の販売は続けられ、私の利用する範囲ではRP2040で十分ではあるのですが、新しい機能として何が必要とされたのかとか気になるため、RP2350も使えるようになりたいと思いました。
RP2040/RP2350 へのモチベーション
Raspberry Pi財団が発売しているだけあって、メインターゲットが趣味開発者になっているのを、以下の点で感じます。
- マイコンに基礎知識がなくても、読み解いて利用できるデータシートになっている
- C/C++ SDKにサンプルコードが多い
- MicroPythonも公式で推奨されている
- 開発環境にVS Codeを推奨していて、拡張機能も用意されている
- 開発ボードが非常に安価に手に入る
- 開発ボードにLEDがあり、はんだごてがなくても、Lチカまで到達できる
そして、わりと高性能ながら、110〜160円とかなり安価(2024/02/05にDigiKeyで109円で購入してました)で、入手性も良いです。
私は自作キーボードキットに積載したりして、活用していました。
開発ボードを作りたい
以前、RP2040を手はんだ実装できるようになると、創作の幅が広がると思い、RP2040開発ボードを作成し、結構苦しみました。そのはまったポイントについては、技術同人誌『土曜日のRaspbery Pi Pico』にまとめました。
このとき作った開発ボードを『RP2040を手はんだ実装に挑戦する開発ボードキット』として販売したところ、割と好評です。
PCBデザインについては、私の本を参考にするよりも、公式に詳細なドキュメントが用意されているので、作りたい方はこちらのドキュメントを熟読することをお勧めします。
https://datasheets.raspberrypi.com/rp2040/hardware-design-with-rp2040-JP.pdf
RP2350 についても、公式のドキュメントが用意されています。
https://datasheets.raspberrypi.com/rp2350/hardware-design-with-rp2350.pdf
RP2350 の内蔵 1.1V DCDCコンバータ
RP2350で回路、PCBデザイン上変わったところとして、内部電源用の1.1V電源が、内蔵レギュレータから、内蔵DCDCコンバータに変更されました。より、低電力にするための措置と思われます。
これに伴い、公式ドキュメントでは、かなりPCBの配線にまで詳細にドキュメントを記述されています。仕様を記述するだけではなく、Raspberry Pi Pico2のPCBを設計するに当たって考えたことまで、ハードウェアデザインガイドに記述されています。
https://datasheets.raspberrypi.com/rp2350/hardware-design-with-rp2350.pdf
さらに利用するインダクタについては、新しく製品を開発し、その製品を利用するように指定しています。「もし私たちの例を使わないのであれば、それは自己責任で行ってください。」とまで記載されています。まだその製品は流通していません。
私としては、ひとまず以下のようにしました。
- 推奨パターンをなるべく利用する。
- 推奨部品と同じ0806(M2016)を使う。推奨部品が手に入ったら置き換える。
- コンデンサ、抵抗は0402(M1005)は実装が辛いので、0603(M1608)を使う。
推奨パターンは、ハードウェアデザインガイドの例として配布されているKiCadファイルからも直接見ることができます。
https://datasheets.raspberrypi.com/rp2350/Minimal-KiCAD.zip
推奨部品はまだ手に入らないため、0806サイズの以下のインダクタを使っています。届いてから分かったのですが、指向性を示すマーキングも付いていました。
DCDCを検証していた
動かなかったら…と思い、検証基盤を先に作りました。
これはDCDCコンバータの接続部分に大きめのパッドを付けて、複数製品を検証できるようにしました。 いざとなったらドロップダウンレギュレータも接続可能にしました。
1V1 DCDCのインダクタ、いくつか置き換えてみたけれど、ひとまず動いてはいる(起動以外はやってない)。2.0x1.6mmに置いとけば、Picoのも同じなのでそれが出回って使えるだろう。https://t.co/tReXfjV6B4https://t.co/a1PPz65DKChttps://t.co/TUzHoCRKnI https://t.co/sYTTsyC7hE pic.twitter.com/Wo6tkI6a7I
— 74th (@74th) August 31, 2024
まだ「USB経由で書き込みができ、Lチカが動作した」以上の検証は行っていませんが、以下の製品で動作することを確認できました。
「USB経由で書き込みができ、Lチカが動作した」レベルしかしていないので、検証としては不十分です。CPU、その他のMCUの機能をフルフルで作り、1.1V電圧が低下したり、動かなくなったりしないか検証すべきでしょう。
他の開発ボードはどうしてる?
既にRP2350の開発ボードは出回っているのですが、あまりシールドのついたインダクタを使っている製品はなさそうでした。動きはするようですね。
手はんだできるような基板にする
RP2040はICの裏面にランドがあるため、スルーホールを空けたフットプリントを作っています。
RP2040の、0.4mmピッチの実装を完璧にこなすため、手はんだでやる技術を以下の「RP2040手はんだ指南ガイド」にまとめてました。
しかし、RP2040を直接実装したキーボードキットを作るうちに神経を使い過ぎるとなり、位置合わせ器具を作りました。
今回はサイドのスルーホール経由で使えるようにしました。
また、Pico幅の基板に当たって、Flash W25Q32JVについてこれまではSOIC-8パッケージのW25Q32JVSSを使っていました。DCDCコンバータ周辺回路で面積を使ってしまうため、SOIC-8を納めることができませんでした。そのため、USON-8パッケージのW25Q32JVUUを使いました。
こちらは裏面にパッドが付いています。このパッドをICの外側に引き出せるランドを用意して、実装可能にしました。ちゃんとはんだが付いているか確認できてはいないですが、少し長めにはんだごてをあてると、はんだがシュルっと吸い込まれていく感じがあったので、ここまで到達できているだろうと思われます。
Pico 2からの変更点
RP2040のボード作成時はPico互換としていましたが、今回は互換にしませんでした。以下の部分が欲しかったからです。
- GPIO29 ADC4(Picoは電源電圧検出)
- GPIO25(PicoはLED)
ピン配置もPicoはGNDが多く感じられたため、減らして少し縦サイズを抑えました。
さらに、以下を追加しました。
- USB-C
- リセットボタン
- UART付きSWD10Pinポート
UART付き10Pinポートにより、以下のDapLinkを繋ぐだけでUARTとSWDと電源供給が可能です(従来のSWD10ピンには電源供給とUARTはありません)。
できたもの
RP2350AのIC単体では入手できないため、Raspberry Pi Pico 2から剥がして使いました。RP2350の実装自体は、RP2350のパッドに残ったはんだの除去が面倒だった(除去しないとでこぼこではんだごてでは実装できない)ので、プリヒーターを使いました。RP2040で既に手はんだ実装できた実績があったため、この部分は検証項目ではありません。
RP2350Aを手に入れる
— 74th (@74th) August 31, 2024
そして検証用ボードへ pic.twitter.com/FHox5UKdge
これを実装し、動かすことができました。
自作 RP2350A ボード、Picoサイズのできた!
— 74th (@74th) September 11, 2024
Lチカまで確認できた pic.twitter.com/cNyR1anPmn
狭く接地された部品が多いですが、実装順序を間違えなければ特に問題はありませんでした。
RP2350Aでピンが全て正しく実装されているか確認できるファームウェアも作成し、全てのピンが動作することも確認できました。
作ったボード、やりと上手く実装できてて、意味もなく惚れ惚れと眺めてしまう pic.twitter.com/r0aBnJrF3i
— 74th (@74th) September 12, 2024
わりときれいにできたと感じており、時折眺めてしまいます。
KiCadファイル自体は公開中
RP2040のボードを作ったときもそうですが、KiCadファイル自体は公開しています。販売を予定しているものですが、販売するために制作したものではなく、趣味の研究の一つです。 オープンソースであることで参考になる方がいるかもしれないと思っています。
今後
私にとって使いやすいRP2350ボードができあがりました!
ともかく、RP2350Aが単体では気軽に手に入らない状況です。これが改善してから、また手はんだ実装挑戦キットとして販売したいと思っています。