2021年1月2日 07:09 ET更新:テスト方法の不一致を修正するため、消費電力テストを更新しました。テスト結果により、当該ラウンドの勝者は変更されませんでした。
オリジナル記事
ArduinoとRaspberry Pi Picoはどちらも、フルOSを実行する際のオーバーヘッドなしに、ライト、モーター、センサーを確実に動作させることを主な目的とするフィジカルコンピューティングプロジェクトに最適です。どちらも通常のRaspberry Piと組み合わせて使用し、片方をAIなどの高レベルタスクに、もう片方を電子部品とのインターフェースに使うことも可能です。
最初のArduinoボードは2005年に発表され、それ以来、数百万台が販売され、巨大なエコシステムが形成されました。一方、Raspberry Pi Picoは最近発売されたばかりですが、すでに多くの支持を集めています。では、どちらが優れているのでしょうか?次のプロジェクトではどちらを使うべきでしょうか?判断の参考として、機能、価値、消費電力などの観点から、2つのプラットフォームを比較してみましょう。
Raspberry Pi PicoとArduinoの機能とGPIO
Raspberry Pi Picoは、Raspberry Piエコシステムに新たなフォームファクタ、40ピンの「DIP」型PCBを導入します。40ピンはすべて標準のパッドに分割されており、周囲にはキャスタレーション(突起)が設けられています。これを使用することで、表面実装型電子部品と同様にPicoをキャリアボードにはんだ付けできます。はんだごてが必要な場合は、最適なはんだごての豊富なリストをご用意しています。
DIPパッケージは目新しいものではなく、Arduino Microなどのボードでは長年採用されています。DIPパッケージはキャリアボードにはんだ付けしたり、ブレッドボードに取り付けたり、互換性のあるアドオンの上に重ねたりすることができます。Raspberry PiやArduino Unoのような、より大型のレイアウトを好むレイアウトと比べて、より使い勝手の良いパッケージです。DIPレイアウトを採用したRaspberry Pi Picoは、プロジェクトへの組み込みが容易な、使いやすいフォームファクタを実現しています。
Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。
Raspberry Pi Pico GPIOは、豊富なデジタルI/O、3つのアナログ入力、そして複数のI2C、SPI、UART接続を提供します。さらに、PicoはWS2812「NeoPixels」などの他のインターフェース/プロトコルをシミュレートするように設定可能な一連のプログラマブルIO(PIO)ピンも備えています。これらのピンは、複雑なタスクをバックグラウンドプロセスにオフロードするためにも使用できます。これらすべてを4ドルのボードで実現しているため、Raspberry Pi Picoは低コストのGPIOピンの「スイスアーミーナイフ」と言えるでしょう。
優勝者: Raspberry Pi Pico
Raspberry Pi PicoのSoCとArduinoの比較
旧式のArduinoボードはATMega328PなどのAtmelチップを搭載していましたが、後期型のボードはArm CPUを搭載しています。例えば、ArduinoのPortenta H7はデュアルコアのArm Cortex M7+M4 CPUを搭載しています。ATMega328はArmプロセッサに匹敵するものではありません。しかし、数え切れないほど多くのArduinoプロジェクトが、このチップがプロジェクトにとって信頼できるものであることを証明しています。
Armチップはマイクロコントローラーでますます一般的になりつつあり、Adafruit、Seeed、SparkFunはいずれもArmチップを搭載したボードを開発しています。マイクロコントローラーは通常、プロセスの一部分に使用されるため、必ずしも複数のコアと高速処理を必要としません。
Raspberry Pi Picoに搭載されているRP2040は、一般的なマイクロコントローラよりも一歩上のレベルです。まず、デュアルコアArm Cortex M0+を搭載し、最大133MHzで動作します。これは、Raspberry Piの16MHz 328Pよりもはるかに高速です。RP2040のSRAMは264KBで、これもRaspberry Piの2KBを大きく上回ります。一方、Raspberry Pi Picoのフラッシュストレージはわずか32KBで、Raspberry Pi Picoの2MBには及びません。
しかし、PicoはArduinoのフラッグシップボードであるPortenta H7と比べてどうなのでしょうか?Portenta H7は、最大480MHzで動作するデュアルコアArm Cortex M7 + M4を搭載し、最大2MBのフラッシュストレージと1MBのRAMを備えています。Portenta H7は、Wi-Fi、Bluetooth、カメラインターフェース、GPUも搭載しています。Portenta H7は、価格を除けば、あらゆる点でRaspberry Pi Picoを圧倒しています。Portenta H7の小売価格は89.90ユーロ(税抜)、つまり約109ドルと、その高い技術力を考えると高価です。ちなみに、109ドルでRaspberry Pi Picoボード27枚が買える計算になります。
優勝者: Raspberry Pi Pico
Raspberry Pi PicoとArduinoのコーディング
Arduino IDEはArduinoプロジェクトに最適なエディタですが、PlatformIOやArduinoのクラウドIDEであるArduino Createといった代替手段もあります。しかし、多くの人が「Arduino」と聞いて思い浮かべるのは、依然としてArduino IDEです。
Arduino IDEは長年にわたり改良を重ね、現在では複数のボード管理機能や、アドオンやアクセサリ用のパッケージライブラリの検索・インストール機能などが搭載されています。Arduino CreateはArduino IDEのクラウド版です。IoTプロジェクト向けに設計されていますが、基本的なArduinoコードの開発にも使用できます。PlatformIOには、コマンドラインツール、専用IDE、そしてMicrosoftのVisual Studio Codeなどの既存のIDEと統合できる3つのバージョンがあります。
Raspberry Pi Picoのレビューでも述べたように、この新しいプラットフォームはC言語とMicroPythonという2つの言語を公式にサポートしています。現在、Raspberry Pi PicoでC/C++を使用するのは、上級ユーザー向けのワークフローです。実際、Raspberry Piは、特に初心者向けに、PicoでMicroPythonを使用することを公式に推奨しています。
Raspberry Pi PicoでC言語のコードを記述する場合、主に2つの選択肢があります。エディタ(Vi / Vim、nanoなど)でコードを記述し、ターミナルツールを使ってビルドするか、MicrosoftのVisual Studio Codeをセットアップし、いくつかの拡張機能を使ってワークフローを作成し、コードをビルドしてPicoにフラッシュするかです。どちらのアプローチも実現可能ですが、ユーザーフレンドリーとは言えません。しかし、Arduino IDEのRP2040チップサポートのアップデートによって、近いうちに改善される可能性があります。
Pythonがお好みの言語なら、Raspberry Pi Picoはマイクロコントローラ向けのPython 3であるMicroPythonをサポートしているので、とても便利です。リリース時点では、MicroPythonは2つの方法で記述できます。REPL(Read, Eval, Print, Loop)と呼ばれるPythonシェルに直接記述するか、バージョン3.3.0以降でサポートが組み込まれているThonnyなどのIDEを使用する方法です。最も簡単な方法はMicroPythonを使うことです。優れたThonnyエディタからコードを素早く記述してデプロイでき、非常に人気があり、様々なプラットフォームで使用されている標準言語を使用することができます。
優勝者: Raspberry Pi Pico
Raspberry Pi PicoとArduinoの使いやすさ
他のRaspberry Piボードはコンピューターです。OSをSDカードにインストールすれば、普通のコンピューターと同じように使えます。しかし、Raspberry Pi Picoではワークフローが変わります。
言語の選択に関わらず、その言語のイメージをPicoに書き込む必要があります。これにより、ボードに直接コードを書き込んで保存できるようになります。イメージのフォーマットはUF2です。これはMicrosoftのUSBフラッシュフォーマットで、AdafruitのCircuitPythonシリーズボードで採用されています。Micro USBケーブルを接続しながらBOOTSELボタンを押し、UF2ファイルをRPI-R2ドライブにドロップするだけで、数秒でコードの書き込みを開始できます。この使いやすさは、MicroPythonワークフローに顕著に表れています。PicoにMicroPython UF2ファイルを転送したら、Thonnyを使って接続するだけでコードの書き込みを開始できます。
C/C++のワークフローは少し高度で、最終製品の作成にかなりの「ハードル」を越える必要があるため、初心者にとっては敬遠されるかもしれません。ターミナルからテキストエディタでプロジェクトコードを記述し、追加のアプリケーションと依存関係をダウンロードした後、プロジェクトをUF2ファイルに「ビルド」し、それを手動でPicoにコピーします。
MicrosoftのVisual Studio Codeを使えば、もう少し自動化されたプロセスが利用できます。これを使えば、プロジェクトコードを記述して、数回クリックするだけでビルドできます。初心者にとってはあまりユーザーフレンドリーなプロセスではありませんが、Arduinoのおかげで状況は変わりつつあります。Arduinoチームは、RP2040用のArduinoコアを開発中であると発表しました。これは何を意味するのでしょうか?つまり、Raspberry Pi Picoやその他のRP2040ベースのボードでArduino IDEを使用できるようになるということです。
Arduino IDE ワークフローは、長年の改善とフィードバックの影響を受けており、プロセス全体がユーザーからの操作が非常に限られたアプリ内で実行されます。上級ユーザーは、プロジェクトで使用されるボード、ポート、ライブラリを変更できます。これらの機能は、最近の Arduino IDE リリースで大幅に改善されています。
Arduino IDEの代替として、Arduino Create(クラウド版)があります。Arduino Createは機能制限付きで無料で利用できますが、「本格的な」開発を行うには有料プランに登録する必要があります。Arduino Create IoT Cloudは、Arduinoエコシステムをベースにしたアプリケーションを作成するためのツールで、非常に優れた機能を備えていますが、使い方を習得するには少し時間がかかります。
PicoボードとArduinoボードは、物理的にどれくらい使いやすいのでしょうか?まず大きな違いは、Raspberry Pi Picoははんだ付けされていないことです。しかし、はんだごてがあれば、自分でピンをはんだ付けするのは簡単なので、これは大きな問題ではありません。Arduinoボードは通常、はんだ付け済みで出荷されますが、Arduino Nano EveryやNano 33 IoTなどのDIPベースのボードは例外です。はんだ付け済みのArduinoボードなら、箱から出してすぐにハッキングを始めることができます。
優勝者: Raspberry Pi Pico
Raspberry Pi PicoとArduinoの消費電力の比較
Raspberry Pi Picoは、組み込みプロジェクトに最適なボードです。Picoはマイクロコントローラーを採用しており、コンピューターのようなオーバーヘッドがないため、一般的なRaspberry Piと比較して消費電流が大幅に少なくなっています。
レビューテストでは、Raspberry Pi Picoに5.21V電源から12個のNeopixel LED(白色)を最大輝度で駆動させました。消費電流は600mAで、Neopixelとボードの電源で3.1Wでした。これは、何も接続されていないアイドル状態のRaspberry Pi 4の4~5Wよりも低い値です。つまり、Raspberry Piと比較するとPicoは消費電力が少ないということですが、同じテストを行ったArduino Unoと比べるとどうでしょうか?
同じ5.21V電源から、Arduino UnoとNeopixelsでそれぞれ5.18V、290mA、1.5Wを記録しました。Arduino Unoの消費電力は最も低いですが、これはArduino Unoが最も低速なプロセッサを搭載していることを考えると当然の結果です。Portenta H7など別のボードで同じテストを繰り返すと、Portentaに搭載されているArm CPUはRP2040よりも強力なので、消費電力ははるかに高くなるでしょう。
勝者: Arduino
Raspberry Pi Pico と Arduino のどちらが優れていますか?
わずか4ドルで、豊富なGPIOピン、使いやすさ、そして充実したドキュメントを備えたRaspberry Pi Picoは、マイクロコントローラープロジェクトに最適なボードです。このわずかな価格で、他のクローンボードとは異なり、公式ハードウェアが手に入り、期待通りに動作することが保証されています。
誤解しないでください。私たちの工房にはクローンボードがたくさんありますが、それぞれのボードには独自の癖があり、それに対処する必要があります。今のところ、Picoをすぐに使い始めるにはMicroPythonが最適ですが、Arduino IDEがPicoをサポートするようにアップデートされれば、C/C++ワークフローが大幅に改善され、Arduinoファンでさえ、以前のお気に入りではなくRaspberry Pi Picoを試してみたくなるかもしれません。
スワイプして水平にスクロールします
ラウンド | ラズベリーパイ ピコ | アルドゥイーノ |
---|---|---|
機能とGPIO | ✗ | |
SoC | ✗ | |
コーディング | ✗ | |
使いやすさ | ✗ | |
消費電力 | ✗ | |
合計 | 4 | 1 |
レス・パウンダーは、トムズ・ハードウェアのアソシエイトエディターです。クリエイティブテクノロジストとして、7年間にわたり、老若男女を問わず、教育と啓発のためのプロジェクトを手がけてきました。Raspberry Pi Foundationと協力し、教師向けトレーニングプログラム「Picademy」の執筆・提供にも携わっています。