RP2040と言えばRaspberry Pi Picoに使われているMCU(マイコンチップ)で有名です!
RP2040はチップサイズが7mm×7mmと非常に小さなチップ(QFN-56)となりますが、自作基板の製作を1年ほどやってきてこのサイズのチップ実装にも慣れてきたので自作のRaspberry Pi PicoといったRP2040を使った自作基板の製作も出来ればと思っており、RP2040の回路構成や基板設計のテストも兼ねてまずはRP2040ブレークアウトボードの製作を考えています。
既にCAD上ではこのような自作Raspberry Pi Picoのイメージ&設計をしているのですが・・・
先述のようにRP2040は非常に小さなチップとなりピッチ変換基板などを使わないと実際に回路を組んでテストなどが出来ず、回路構成など細かい部分の確認が出来ないためRP2040が動く最小構成で組んだボードがあると今後テスト等で使えるはずなので、まずRP2040の全I/O端子を引き出し最小構成で動かすことが出来るブレークアウトボードを製作してみようかと考えています。
製作の過程でRaspberry Pi公式さんが公開されている各種資料は非常に参考になりました。
RP2040を基板に直実装で自作キーボードなどの製作を考えられている方にも参考になると思います!
目次
RP2040が動く最小構成で組むブレークアウトボードの製作!
RP2040を動かすにはどのような回路構成で組めばいいのか?
まずここからのスタートだったんですが、Raspberry Pi公式サイトにある『Raspberry Pi Datasheets』には回路図や構成、KiCadの基板データなどが公開されています。
これは非常に参考になります!
以下、Raspberry Pi Datasheetsのサイトにいくと様々なデータシートが公開されているのですが、その中に『rp2040/Minimal-KiCAD.zip』というファイルがあります。
参考 Raspberry Pi DatasheetsRaspberry PiRP2040を動作させるのに必要な最小構成で組んだボードのKiCadデータが含まれており無料でダウンロードすることが出来ます。
このデータを参考にRP2040ブレークアウトボードの製作を進めています。
rp2040/Minimal-KiCAD.zip
『rp2040/Minimal-KiCAD.zip』をダウンロードしKiCadで開いたものがこちらです。
RP2040を駆動するための3.3Vを作り出すレギュレータ回路やクリスタル(発振回路)、USB端子(microUSB)やI/O端子、またRP2040はフラッシュメモリが内蔵されていないので外部フラッシュメモリといったRP2040を動かすのに必要な最低限の回路構成となったボードです。
RP2040のI/O端子が引き出されテスト等で使える最小構成となったものなので、私の考えている用途としてはこのデータをそのまま使い基板を発注し製作してもいいのですが・・・
手を加えたい箇所がいくつかあり、またKiCadのデータを見ているとCAD設計のテクニックや工程なども学べるものだったので、今回一から自分で設計してみることにしました。
RP2040のテストをやる環境が無かったので、最小構成のテストボード作ってる!
ラズパイ公式にKiCadデータとかも公開されてるから、回路や構成、CADのテクニックみたいなのがすごく分かりやすい👌 pic.twitter.com/yl9kjitEoX
— ガジェット大好き!! (@smartphone_jp1) March 4, 2024
ダウンロードしたKiCadのデータとこちらの『RP2040を使用したハードウエア設計』という資料を照らし合わせながら設計を進めていくと、初めてRP2040を使った回路や基板設計を行う際に非常に参考になるかと思います。
参考 RP2040を使用したハードウエア設計Raspberry PiRP2040の回路設計
こちらがrp2040/Minimalボードの回路構成です。
非常にシンプルですね!
これをベースに手を加えていきました。
最終的にこのような構成の自作RP2040ブレークアウトボードを製作しようと考えています。
rp2040/Minimalから修正した箇所を見ていきます。
I/O端子
デバッグポートを含めRP2040で使える全I/O端子を引き出す構成にしました。
rp2040/Minimalでは片側2列で内1列は全てGNDポートとなっていますが、ブレークアウトボードなので全てI/O端子としピンヘッダーとピンソケットという構成に変更しました。
またUSB端子のデータライン(D+/D-)、VBUS(5V)、3.3V、GND端子を配置して合計20ピン×2のI/O端子とし、これに伴いボードサイズは52mm×52mmになりました。
RP2040まわりの回路
コアとなるRP2040まわりの回路構成は、rp2040/Minimalから変更せずそのまま使いました。
バイパスコンデンサやUSBデータライン(D+/D-)に接続されている抵抗などなるべくRP2040チップの近くに配置するように書かれています。(青文字部分)
これらパーツの定数や配置などは上記『RP2040を使用したハードウエア設計』を読み照らし合わせながらCAD設計を進めていくと分かりやすいと思います。
RP2040には多くのバイパスコンデンサが繋がれていますが、その配置なども参考になります。
またフラッシュメモリとの接続もrp2040/Minimalからそのまま使っています。
SPI接続のフラッシュメモリとなりSSピン(CS)のプルアップ抵抗R3はrp2040/MinimalではDNF(Do not Fit)と書かれている理由やR2の1kΩの接続のことなど上記資料を見ると分かりやすいと思います。
USB端子の変更
rp2040/MinimalではUSB端子にmicroUSB端子が使われていますが、これはType-C端子に変更しました。
電圧レギュレータの変更
RP2040の駆動電源となる3.3V電圧レギュレータは手持ちでたくさんあるAMS1117-3.3に変更しました。
またRP2040には1.1Vという電源ラインがありますが、これはRP2040自身で作れるので問題ありません!
I2Cプルアップ抵抗の追加
通常のGPIOピンとして使う場合は必要ありませんが、I2Cピン(GPIO16-SDA / GPIO17-SCL)にプルアップ抵抗を付けることが出来るように変更しました。
[BOOT] [RESET]スイッチ / オンボードLEDの追加
Raspberry Pi Picoには[BOOTSEL]スイッチが付いています。
スイッチを押しながらUSB接続し起動するとUSBマスストレージデバイスとしてRP2040が認識されるというものです。
テストボードとしては[BOOT][RESET]スイッチがあると便利なので追加しました。
またRaspberry Pi PicoではRP2040のGPIO25ピンにオンボードLEDが接続されています。
テストで使えるようにオンボードLEDも追加しました。
以上、rp2040/Minimalをベースにしてこのような全体構成のボードで製作しようと考えています。
基板設計
回路構成がほぼ決まったので基板設計なんですが、20ピンのピンヘッダーが収まる正方形(52mm×52mm)サイズのボードにしピンヘッダーとピンソケットを配置、ブレークアウトボードなので極力I/Oラベルが見やすくなるように大きめにプリントしました。
rp2040/MinimalではRP2040まわりのバイパスコンデンサ等に一部0402サイズのパーツが使われていますが、私自身このサイズのパーツをまだ実装したことがなくボードスペースに余裕があるので現状では0603サイズのパーツをベースに製作しています。
ほぼ基板設計は出来ているのですが、0402サイズのパーツ実装の経験にもなるのでサイズを変更しようか?とも考えています。
【追記】自作RP2040ブレークアウトボードが完成しました!
RP2040関係の自作PCBの製作を今後考えているので、回路を組みテスト等で使えるRP2040ブレークアウトボードを製作しました。
最後に!
RP2040を使ったテストが出来る環境が無かったことから、自作RP2040ブレークアウトボードの製作を考えています。
冒頭でご紹介したように自作のRaspberry Pi PicoもCAD上で設計してはいるのですが、実回路を使ったテストが出来ず基板密度が高いため動作しないなどトラブルが出た際に問題切り分けも出来ないだろうということから、まずはこのようなRP2040を動かす基本構成のボードを製作しそこから発展させていければと思っています。
自作キーボードの製作なども今後考えているのですが・・・
Raspberry Pi Picoを使わずRP2040チップを基板に直実装した自作キーボードの製作などを考えている方にも、今回ご紹介したRaspberry Pi公式さんが公開している資料は非常に参考になるかと思います。
もう少しRP2040の資料を読み込み、製作したボードが完成したらまた詳しくご紹介出来ればと思います。
コメントを残す