ちょっと Tea Time!? RP2040マイコンカード色々 2024.3.21

PICOは高性能
ラズパイ財団が開発したRP2040というMPUをつかったマイコンボードであるPICOが出て
ほぼ3年になりました。このMPUボードは2MBのプログラム領域(外付けフラッシュ)と256kBのRAMを持っていて
動作速度も133MHz(MAX:実際は125MHz)で、マイコンの中でもかなりの高性能です。
なんといっても低価格なのがいいです。

RP2040を搭載したMPUボードのPICO。これが代表選手でしょう。秋月で770円です。

PICO自体はよくできたMPUボードだと思いますが、一つ難点があるとすればRSTスイッチが外付けに
なる点です。プログラムを書き込むときはBOOTスイッチを押しながら電源を投入するか、あるいは
BOOTスイッチを押しながらリセットをかけるかのどちらかになりますが、前者はUSBケーブルを引っこ抜く
などをしないといけないので極めて不便です。そのためプログラムの開発においてはRSTスイッチが
あるとUSBケーブルを挿しながら作業ができます。

秋月のRP2040ボード

そういったことをうけてか、秋月からRSTスイッチも実装したRP2040マイコンボードがでています。
こちらは、PICOより若干安くて700円です。PICOに比べて、サイズが少し小いですが、外出しの
IOポートも30本とPICO(26本)より増えています。まあ、そのためGND端子がかなり減っています。
IOポートが30本もあれば、40PINのPIC(IOは最大36本)と同程度のことが出来そうですし、なによりも
高速です。


秋月のRP2040ボードはPICOに比べてRSTスイッチも搭載され、外だしIO数も増えて、さらに安価です。

中華製はもっと安価

ふとALIでRP2040で検索してみると、色々とMPUボードがでてきます。
ほぼPICOと同等と思われますが、なによりも安いです。国内でPICOを買う値段の1/3くらいです。
これなら、PICなどのマイコンと同じように気楽に使える値段です。
さらにPICOの難点であったRSTスイッチも搭載されています。

購入に送料がかかりますが4〜5個も買えば、1個あたり350円程度になりそうです。
これは、面白そうなので買ってみましょう!

PICOとほぼコンパチと思われるMPUボードです。なんといっても、価格が安いです。

またサイズが小さいものもありました。
外部のIOポート数は少し少なくなりますが、これだけ小さいとなると18PinのPICとさほど
変わりませんから、基板を小型化したいときには便利そうです。
lこれも試しに買ってみましょう!


かなり小さいRP2040をつかったMPUボードです。RP2040は基板の背面実装されています。

コレクション?

まあ、実機につかうかどうかは別なのですが、RP2040をつかったMPUボードが集まってきました。


RP2040をつかった基板が色々と集まりました。
左から@PICO A秋月RP2040ボード B中華製PICO C中華製RP2040ボード

PIN配置を整理


同じような基板類ですが、みていると違うところがありそうです。
すこしPIN配置を整理です。


Raspi PICO vs 中華製PICO

PIN35,37が違いますね。中華製PICOではADC VREFは基板内にランドがあるので、それを
使います。隣が3.3Vピンなので、それにつなげればいいでしょう。
また3.3V ENは中華製PICOではなく、代わりにGPIO23になっています。これは、こっちの方が
助かるかな〜。なんせGPIOは沢山必要です。


Raspi PICOと中華製PICOでは微妙に違いますが、実際使うには中華製の方がよさそうです。


中華製PICOでADCを使うときは、このように接続するのでしょう。

秋月RP2040と中華製(小)RP2040

秋月RP2040はIOがGPIO0〜GPIO29まで連続してでているので使いやすいです。
中華製(小)RP2040はGPIO16〜GPIO25までがごっそり抜けています。
これはサイズ的に仕方ないでしょう。
ただ.面白いことに、基板の裏面に小さくパッドがありますので、これをつかえば
GPIO16〜GPIO25が使えることになります。ただし、パッドが小さいので、これに
接続するのは至難の技だなあ〜。


秋月RP2040ボードと中華製(小)RP2040ボード


中華製(小)は、黄色の部分を使えばすべてのGPIOが使えそうですが、
これを半田付けするのは難しそうです。

動くかな? 

まあ、安いのはいいのですが、ちゃんと動くかどうか一応確認です。
USB−Cを差し込んでRasPiにつなぎ、BOOTスイッチを押しながらRUN(RST)
を押すとしばらくして.MPUボードがディスクとして認識されました。
ここにコンパイルしたバイナリーのuf2ファイルをドロップしてやれば
動作を始めるはずです。

USBを差し込めば、
ちゃんとMPUボードがディスクとして認識されました。

ためしに、簡単にGPIO0をON/OFFさせるLチカプログラムを
入れてみました。とくに問題なく動きました。
1kHzでON/OFFするように時定数を設定したのですが、
オシロの波形も1kHzですから、動作速度はPICOと同じ125MHzですね。


Lチカプログラムも問題なく動作しました。


つぎは、320x240のグラフィックパネルに接続です。
これは基本的には4本の制御線で繋がるので、とても便利な表示器です。
PICで動かすと、すこしもたもたしますが、流石にRP2040だと速いです。
で、こちらも問題なく動作確認です。

320x240のGLCDに接続して動作確認です。

まとめ
 中華製のRP2040を試しに購入して動かしてみました。
 安価な上に、高速なので便利に使えそうです。
 とくにいままで多用しているPICと価格も同程度なので、今後はこちらを
 つかっていってもいいかもです。
 ただPICの方がAD入力端子が多いし、また外部クロックの計数カウンター
 もあったりして、便利な側面も多いのですよね〜。 
 まあ、適材適所ですね。

 さてさて、何につかいましょうかね〜

データありました 2024.3.22

ネットで「互換PICO」で検索してみたら、同じMPUボードがでてきました。
そこにはピン配置などの情報もありました。
うれしいことに、基板上のUSRボタンの接続先とLEDの型番が書いてありました。
気になったのはフラッシュの容量ですが、これは16MBになっています。
PICOは2MBなので、かなり増強されている感じです。

検索したら、同じMPUボードがでてきました。国内で買うと結構高いです。フラッシュは16MBあるようです。

今持っているフラッシュの容量を確認してみましたが、32MBitのものでしたので、
こちらは4MBだったようです。そういえば、購入するときにいくつかMPUボードが選択できましたが、
フラッシュの容量なんて全然気にしていませんでした(安い方を選んだ?)
ちなみに、4MBと16MBだと値段の違いは50円でした。50円の違いだったら16MBを選んでも良いでしょうね。
ただ、そんな容量を使うわけもないので、やっぱり安い方でいいかな〜。

WINBONDの25Q32なので32MBitのフラッシュです。
ということは4MBですね。



ピン配置表がありました。 USRボタンとLEDの型番もわかりました。

基板上に実装されているLEDはマイコン内蔵のフルカラーのものでした。
型番はWS2812というものですが、秋月でも売っているようです。
2個で50円です。
データシートをみて思い出しましたが、以前に買って実験的に動かしてみたことがあります。

これが基板上に実装されています。秋月で2個50円です。 WS2812B_20200225.pdf データシート

このLEDはRGBの24Bitのシリアルデータを送り込めば、任意の色で点灯してくれます。
ということで、簡単にプログラムを組んで点灯実験です。


色を変えて点灯させることができるので、各種情報表示に使えそう。

(つづく?)