プロジェクトに適した「頭脳」の選択
DIYプロジェクトの設計であれ、組み込み設計コンテストへの参加であれ、ご自身のアイデアに適した電子ハードウェアを選択することは極めて重要です。特に、時間が重要な要素となるハッカソンにおいては、この点が特に当てはまります。プロジェクトのアイデアに適したハードウェアを最短時間で選択できるかどうかが、コンテストでの勝敗を左右することさえあります。
図1:映画ハリー・ポッターから着想を得たAIによる描写。(ソース:AI生成)
部品の選択、実装、さらにはソフトウェアアーキテクチャさえも、初期に選択したボードに依存することがよくあります。たとえば、障害物回避ロボットプロジェクトにArduino UNO R4を選択した場合、Arduino互換モジュールやArduinoドーターボードへの選択肢を絞り込む手助けとなり、プロセスが容易になります。
具体例として、DigiKeyにおける利用可能な部品(プロジェクト用の超音波センサ)数が、Arduinoとの互換性に基づいてフィルタリングした際にどのように変化するかを確認してみましょう(図2)。選択肢が多いことは素晴らしいことですが、多すぎると選択が難しくなります。幸いなことにDigiKeyのパラメトリック検索が解決策となります。
図2:Arduinoの電圧(およびその他の条件)に基づくフィルタリングにより、選択肢の数がどのように減少したかを示しています。(提供:DigiKey)
プロジェクトに適した「頭脳」を選択する方法
これまで、評価ボードを最終的に決定することが部品選定を効率化する上でどのように役立つかについて説明してきました。では、そもそもマイクロコントローラやマイクロプロセッサをどのように決定すればよいのでしょうか。なお、このプロセスが必ずしもボードから始まるわけではない点にも留意が必要です。センサや通信モジュールを先に選定し、それらを最適にサポートするボードを選ぶこともあります。
とはいえ、「プロジェクトの要求が開発ボードを選ぶ」(図1)と言えるのは依然として妥当です。これはハリー・ポッターの映画に登場する人物、ギャリック・オリバンダーが「杖が魔法使いを選ぶ」と述べた言葉に似ています。 つまり、プロジェクトの要件がハードウェアの選択を決めるべきなのです。プロジェクトの種類に基づいた評価ボード選定の簡易ガイドに関しては、表1を参照してください。
ハッカソン簡易ガイド
| ボード | ハードウェア仕様および使用例 | 使いやすさ | 長所 |
| Raspberry Pi 5 | 非常に強力なプロセッサ(クアッドコアARM Cortex)、PCIe 2.0 x 1拡張スリット、デュアル4K HDMI、USB 3.0、フル機能Linux OS搭載しています。コンピュータビジョン、ライトAI、マルチメディアプロジェクトに最適です。 | 中程度 - OSのフラッシュと設定が必要ですが、大規模なコミュニティサポートとすぐに使えるisoイメージが利用可能です。 | AI/ビジョンやマルチメディアを多用する試作に最適で、強力なI/Oとエコシステムをサポートします。ただし、リアルタイムプラットフォームではありません。 |
| STM32 Nucleo WB55 | デュアルコアARM Cortex-M4/M0+ MCU、Bluetooth 5およびZigbeeを搭載し、ST-Linkデバッガ内蔵、Arduinoピン互換性を備えています。ワイヤレスセンサネットワーク、BLE、Matter、ZigbeeのIoT開発に最適です。 | 中程度 - セットアップにはSTM32CubeIDE/CubeMXが必要ですが、プロ仕様の制御性とリアルタイム機能を提供します。 | 低消費電力でセキュアなワイヤレスアプリケーションに最適で、堅牢なRTOS(FreeRTOS)をサポートし、上級ユーザーが最大の恩恵を受けられます。 |
| ESP32-S3 Devkit | デュアルコアのXtensa LX7を搭載し、Wi-Fi 4およびBluetooth 5(LE)を統合、AI高速処理用のベクトル命令を備えています。IoT、AIoT、ワイヤレス制御、DIYロボット、音声認識、ホームオートメーションに最適です。 | 非常に容易 - Arduino IDE、MicroPython、ESP-IDFで動作可能。 高速起動、強力なコミュニティサポート、豊富なライブラリを提供します。 | ワイヤレスDIYやIoTプロジェクトに最適です。RTOSおよびTinyMLに対応しています。ニューラルネットワーク高速処理が可能です。 |
| Jetson Nano 2GB開発者キット | 128コアMaxwell GPU + クアッドコアARM A57 CPU、2GB RAM、CUDA、TensorRT、OpenCVをサポートし、UbuntuベースのJetPack SDKを実行します。エントリレベルのAI/ML、コンピュータビジョン、自律型ロボット、エッジコンピューティングプロジェクトに最適です。 | 中程度 - SD/eMMCの設定が必要で、Linuxの知識が求められますが、完全なPython/C++、AIツールチェーンが利用可能です。強力なコミュニティとドキュメントサポートがあります。 | エッジAI、コンピュータビジョン、自律型ロボティクスの基礎を学ぶのに理想的ですが、起動/設定に時間がかかります。 |
| UNO Q | Qualcomm QRB2210(MPU)とリアルタイムSTM32U585マイクロコントローラを組み合わせたデュアルブレインハイブリッドボードです。従来のUNOシールドと下位互換性があります。IoT、AIエッジ、コンピュータビジョンプロジェクトに最適です。 | 非常に容易 - ウェブIDE、ドラッグ&ドロップによるスケッチのアップロードが可能で、既存のUNOエコシステムと連携します。 | 高速起動を実現し、教育用IoTやロボティクスプロジェクトに最適です。RTOS、Python、Arduino App Labをサポートしています。 |
| Microbit V2 | 超初心者向けのボードで、Cortex-M4 MCUを搭載し、オンボードの5 × 5 LED、ボタン、加速度センサ、コンパス、マイクロフォン、BLEを備え、STEM、ウェアラブル、簡易制御ロジックに最適です。 | 非常に容易 - ブロックコーディングとMicroPythonをサポートし、USB経由の即時フラッシュ、充実したドキュメントとコミュニティが特長です。 |
教育やプログラミングの入門用に最適で、プロジェクトのデモやワイヤレスプロジェクトに最適な低消費電力設計です。ただし、GPIOと処理能力に制限があります。 |
表1:プロジェクトのタイプに基づいた評価ボード選定のためのクイックリファレンスシートです。
適切な開発ボード選択の際に役立つその他の要素
表で説明した内容以外にも、プロジェクト設計時に考慮すべき要素はいくつかあります。
1.マイクロコントローラとマイクロプロセッサの選択
まず第一に、アプリケーションに必要なものが以下のいずれかであるかを決定する必要があります。
- マイクロコントローラベースの評価ボード(Arduino UNO R4、ESP32、STM32 Nucleo、Raspberry Pi Pico、またはTI LaunchPadなど)、または
- マイクロプロセッサベースのシングルボードコンピュータ(SBC)(例:Raspberry Pi 5、Arduino Uno Q、NVIDIA Jetson Nano)
マイクロコントローラはリアルタイム制御アプリケーション(小型ロボット、モータ制御、センサインターフェース、IoTノードなど)に最適であり、マイクロプロセッサは高性能またはマルチスレッド処理を必要とするタスク(AIアプリケーション、コンピュータビジョン、エッジ処理、ウェブサーバなど)に適しています。マイクロコントローラとマイクロプロセッサの違いについては、以下のブログをご参照ください。
2.有線アプリケーションと無線アプリケーション
次に、アプリケーションに有線接続と無線接続のどちらが必要かを決定します。
- 有線接続:単純なシリアル、I²C、SPI、UART、またはCANバス接続で十分です。
- 無線接続:無線通信が必要な場合は、組み込みサポート付きのボードを選択するか、互換性のあるスタンドアロンモジュールを利用してください。
- Wi-Fi(ESP32、Raspberry Pico W)
- Bluetooth/BLE(ESP32、Arduino Nano 33 BLE)
- LoRa(RYLR896、RYLR993_Lite)
- GSM(SIM800L、SIM7600SA)
この選択は、エネルギー使用量とどの評価ボードを選択するかに大きな影響を与えます。
注記:ボードに無線機能が内蔵されていなくても、上記の有線プロトコルいずれかを使用して無線モジュールを追加することが可能です。ただし、お使いのボードが、無線モジュールが採用する有線通信規格をサポートしていることを必ず確認してください。また、上記で明示的に言及されていない場合でも、多くのボードが複数の無線プロトコルに対応しています。
3.処理能力とメモリ要件
プロジェクトの計算処理要件を確認してください。
- プロセッサ速度(MHz/GHz) - タスクの実行速度に影響します。
- RAM - データのバッファリングや大規模なコードの実行に不可欠です。
- フラッシュ/ROM - 保存可能なファームウェアやソフトウェアの容量を決定します。
4.動作電圧および電流
- センサや周辺モジュールの電流要件を、ボードのソースおよびシンク電流容量と比較してください。
- センサの動作電圧(一般的には3.3Vまたは5V)を確認し、ボードのI/Oレベルと一致していることを確認してください。
- ボードのロジックレベル(例:3.3Vまたは5V TTL)を理解してください。
- I/O規格の詳細については、以下の詳細なドキュメントを参照してください。
- 互換性がない場合は、レベルシフタが必要となる場合があります。
5.通信範囲とプロトコル
通信距離に応じて、適切なプロトコルを選択してください。
- 短距離:Bluetooth、Zigbee、Wi-Fi
- 中距離:LoRa、サブGHz帯RFモジュール
- 長距離/グローバル:GSM、LTE、衛星、またはNB-IoT
ハードウェア選定の要約チェックリスト
したがって、プロジェクトに適した開発ボードを選択するには、以下の要約チェックリストに従ってください。
- アプリケーションと要件を明確に定義してください。
- マイクロコントローラとマイクロプロセッサのどちらかを選択してください。
- 有線通信と無線通信のいずれかを選択してください。
- センサと通信プロトコルを適合させてください。
- 電圧、電流、I/Oの互換性を確認してください。
- 距離の観点からプロジェクトの範囲を確認してください。
これらの簡単な手順に従うことで、本来なら発生したかもしれない問題を防ぐことができます。
参考記事
- https://www.electricaleasy.com/2024/12/choosing-right-microcontroller.html
- How to pick the best microcontroller for your project - Electronics with Becky Stern (プロジェクトに最適なマイクロコントローラの選び方 - Becky Sternと学ぶエレクトロニクス)|DigiKey
- How to Select the Right Microcontroller for an Application(アプリケーションに適したマイクロコントローラの選び方)
- (PDF) The effect of project constraints and choice on first-year microcontroller projects(プロジェクトの制約と選択が1年生のマイコンプロジェクトに及ぼす影響)
Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.
Visit TechForum


