ウェビナー:Arduino - ボードから製品化まで:UNO QとApp Labの活用

Arduino

ウェビナー実施日:2026年2月12日

主な要点

  • 新たな可能性を切り拓く: App LabとUNO Qを効果的に組み合わせて、試作作業を効率化する方法を学びます。
  • 端末側での高度な処理: デバイス単体で高度な処理を直接実現し、プロジェクトの機能を強化する方法をご紹介します。
  • 開発ワークフローの加速: 端末側での高度な処理を実装し、アプリケーション開発プロセスを簡素化するためのテクニックをご紹介します。
  • 専門家によるガイダンス: 業界の専門家から導入ノウハウを学び、ライブ形式で質問への回答を得ることができます。

よくある質問

実際のプロジェクトにおいて、どの機能をLinux側(MPU)に実装し、どれをリアルタイムMCU側に残すべきか、どのような基準で判断しますか?また、実装先を間違っていると判断できる「レッドフラグ(警告サイン)」には、どのようなものがあるのでしょうか?

  • 基本的な指針は、厳格なタイミング制御が必要で、「即座に」反応しなければならない処理はMCUへ、演算能力、メモリ、ファイルシステム、ネットワーク、あるいは上位レイヤのスタックを活用する処理はLinuxへ実装するという切り分けです。UNO Qにおける「デュアルブレイン(2つの脳)」というコンセプトは、まさにこの考え方を体現しています。つまり、制御ループ、精密なI/O、安全インターロック、アクチュエータのタイミング制御といったリアルタイム応答をMCUが担い、画像認識、ユーザーインターフェース、ロギング、AI推論、高度なネットワーク連携などの「思考プロセス」をMPU上のLinuxが担う構成です。

  • 判断ミスを示すレッドフラグ(警告サイン)は単純明快です。厳しいリアルタイム制約(厳密なPWMタイミング、閉ループモータ制御、時間的制約のある割り込み処理など)があるにもかかわらず、それをLinux上で処理しようとすれば、最終的にジッタの問題に直面します。逆に、負荷の高い処理(カメラフレームの処理、多数のセンサとダッシュボードの同時運用、AIモデルなど)をMCUで無理に処理しようとすれば、CPUやRAMのリソース限界に直面し、開発が困難になります。UNO Qはこうした妥協をなくすために設計されており、「MPU/Linuxによる計算能力とUX(ユーザーエクスペリエンス)」と「MCUによる緻密な制御」を1枚のボードで同時に実現します。

プレゼンテーションでは、RPCが2つの「ブレイン」を繋ぐブリッジであると言及されていましたが、実際にデータをやり取りする場合の動作はどのようになりますか?また、開発者が想定すべきレイテンシ(遅延)やスループットの現実的な目安を教えてください。

  • 簡潔に言えば、RPC(Remote Procedure Call)はLinuxとMCU間の「対話レイヤ」として機能します。具体的には、Linux側からMCU上の関数をあたかもローカル関数であるかのように呼び出すことができ、またMCU側でリードエンドポイントを公開することで、Linux側から必要に応じてデータを取得することが可能です。実運用においては、MCUを信頼性の高いリアルタイムI/Oおよび制御サービスとして扱い、一方でLinuxは上位レベルのロジック、ユーザーインターフェース、AIによる意思決定を統括する役割分担になります。

  • 開発者が留意すべき点は、RPCはコマンドと制御、および構造化されたデータ交換には非常に適していますが、2つのチップを単一の共有メモリシステムであるかのように扱うためのものではないということです。例として「set_motor_speed(モータ速度の設定)」、「read_potentiometer_array(ポテンショメータ配列の読み出し)」、「arm_safety_relay(安全リレーの作動)」、「publish_latest_sensor_snapshot(センサの最新データの公開)」のような明確なAPIを設計するアプローチを推奨します。

開発チームが既にArduino Sketchコードを保有している場合、すべてを書き直すことなくApp Labへ移行する最も簡単な方法は何ですか?また、その導入メリットをすぐに実感できるような、「ハイブリッド」アップグレードとして最初にどのような構成を推奨しますか?

  • 最も簡単な方法は、MCU側の既存のSketchをそのまま維持し、必要に応じて、提供されているライブラリやBrickを利用して通信する小規模なLinux側のPythonコードをApp Labに追加することです。このプレゼンテーションの核心となるメッセージは、App Labを使えばArduino Sketch、Pythonスクリプト、AIモデルを1つのアプリケーションに統合できるため、既存の資産を破棄して書き直すのではなく、それらをすべて融合させることができる、という点です。

  • また、ハイブリッド構成のメリットを最も早く実感するには、純粋なMCUボードでは実装に手間のかった、軽量なユーザーインターフェース、データロギング、あるいはAIを活用した意思決定処理などの機能を追加することです。具体例としては、センサやアクチュエータを扱うSketchはそのままに、PythonスクリプトのBrickを追加して、実際のデータベース(InfluxやSQLiteなど)へのデータロギング、簡易なインターフェースの提供、あるいは特定の条件が成立した際のアクションを実行します。これにより、コードを書き直すことなく、「SketchからAIまで単一プラットフォームで完結させる」ことが即座に実感できます。

画像および音声の用途において、UNO Qの「AI対応、画像認識に最適化」とは具体的に何を意味するのでしょうか?具体的には、デバイス上で動作するモデルや、最初に直面するパフォーマンスの制約、どのような場合にクラウド連携が必要か、について教えてください。

  • 具体的には、UNO Qは一般的なエッジAIタスクをローカルで実行しながら、同時にリアルタイム制御を維持できるよう設計されています。実際にはすぐに利用可能なサンプルとして、顔検出、人物分類、異常検知、画像分類に加え、音認識やキーワードスポットなどの音声関連機能が用意されています。これらはクラウドを必要とせず、ボード上で直接動作するように作られています。また、外部LLMと連携するサンプルも用意されており、開発の出発点として活用できるだけでなく、さらに拡張することも可能です。

UNO Qは、Qwiic/Modulino、従来のUNOシールド、そして新しい高速コネクタを活用することで「ボーダレス化」を実現しようとしています。試作品の迅速な立ち上げや、量産への移行の観点から、どのように適切な拡張方式を選択すべきでしょうか?

  • 最小限の配線リスクで迅速に試作したいのであれば、Qwiic/Modulinoが最も手軽な選択肢です。はんだ付け不要で極性を間違えることなく、デイジーチェーン接続が可能です。また、プラグアンドプレイ対応の豊富なセンサ、ボタン、アクチュエータからなるエコシステムを利用できるため、配線を減らし、ミスを少なくしながら、試作品の開発を迅速に進めることができます。

  • 既存資産を活用することを優先するのであれば、UNOヘッダによって従来のシールドエコシステムを引き続き利用可能です。これは迅速なデモや既存の拡張モジュールを活用するうえで非常に有効です。一方、カメラ、ディスプレイ、オーディオ、高速GPIOアクセスといった高度な周辺機器の「製品レベル」での拡張が必要な​​場合は、Linux側の機能に対応する新しいキャリアボード/高速コネクタ方式が適しています。つまり、速度と汎用性を求めるならQwiic/Modulino、互換性を求めるならUNOシールド、高度で高性能なI/Oを求めるならキャリアボード/高速ヘッダという位置付けです。

UNO QはYocto(OpenEmbedded)ベースのビルドシステムをサポートしていますか?

  • 標準ではDebianを使用します。すべてのツールはDocker上で動作し、ホスト環境に依存しない汎用的な設計となっています。

通常のSketchではなく、Pythonコーディングを使用するのはどのような場合ですか?

  • 現時点のArduino App Labの構成では、Pythonは「Linux/Qualcomm」側で使用され、一方でSketchは STM32U585 上で動作します。

音声認識機能を実装するためにはLinuxの知識が必要ですか?

  • あらかじめ用意されたBrickを利用するだけであれば必要ありません。

Arduino側のセンサをLinux側(データベースやパラメータ管理など)とどのように連携させるのでしょうか?

  • 標準のサンプルでは、Dockerコンテナ内で動作するInfluxDBを使用しています。

このArduinoは砂漠のような高温環境でも動作しますか?

  • UNO Qの推奨動作温度範囲は-10°C~+60°Cです。

システムで使用できるケースはありますか?それとも自分で設計する必要がありますか?

  • 現在、いくつかのサードパーティ製ケースが提供されており、加えて3Dプリンタで出力可能な設計データも利用できます。

Arduino UNO QはWindows 10に対応していますか?

  • はい。ArduinoのWebサイトからApp Labをインストールすれば、Windows 10およびWindows 11向けのバージョンを利用できます。

Arduino UNO Q向けのプロジェクト書籍やガイドはありますか?

  • Maker.ioにはUNO Q向けの優れたガイドが用意されています。

Maker.io - プロジェクト、プラットフォーム、製品、投稿などを検索 | DigiKey提供のMaker.io

この新しいUNO Qのビジュアルインターフェースを利用して、他のArduinoボードをプログラムすることはできますか。

  • 興味深い実装になると思われますが、UNO Qは完全なLinux OSを実行できるため、Arduino IDEをUNO Qへインストールし、それを利用して他のArduinoボードをプログラムすることは可能です。

これらの追加モジュールはすべて単一のI2Cバス上に接続されるのでしょうか?

  • はい、Qwiicについて言えば、すべて単一のI2Cバス上で動作します。

Qualcommのどのチップセットが使用されていますか?QCS2290、6490、610のいずれでしょうか?

  • Arduino Uno QにはQualcomm Dragonwing™ QRB2210 が搭載されています。

すぐに開発を始められる、事前にビルドされたBoard Support Package(BSP)は提供されていますか?

  • 最新のBSPは次の場所から入手できます。https://www.arduino.cc/en/software/ (下へスクロールすると、Arduino Flasher CLIのリンクがあります。)

将来的にROS 2を支援するBrickが提供される予定はありますか?

  • ROS 2はDebian側で実行できます。現在でもPythonブリッジを利用してROSと連携できます。

GitHub上にBrickの関連リンクはありますか?

  • はい。以下のリンクを参照してください。

Zigbeeなどの長距離無線機能はありますか?

  • オンボードの無線機能はWi-FiとBluetoothのみです。ただし、拡張ボードを使用することで長距離無線機能を追加できます。

産業用途で利用する場合、ソースコードを保護し、第三者による改ざんを防ぐにはどうすればよいですか?

  • STM32U585 に書き込みが完了していれば、Sketchのソースコードは不要です。一方、Linux側で動作するPythonについては、Linuxのセキュリティ対策を追加で実施する必要があります。そのため、複数の選択肢と保護レベルがあります。詳細は次のガイドを参照してください。

https://docs.arduino.cc/tutorials/uno-q/security-hardening-guide/

Linuxのセキュリティパッチは、公開され次第、あるいは必要に応じて適用できますか?

  • 現在のビルドは主にメインライン版をベースとしています。また、ユーザー自身がより新しいメインラインカーネルをビルドしています。Linux向けのパッチセットについてはArduinoフォーラムを参照してください。

ミニ拡張ボードは1本のチェーンに何枚まで接続できますか?

  • 各拡張ボードの消費電力、拡張ボードへ補助電源を供給しているかどうか、そしてアドレス競合の有無によって異なります。

電源が制約にならない場合、利用可能なアドレス範囲はどれくらいですか?

  • I2Cアドレス空間では、最大128個の固有な7ビットアドレスを利用できます。

UNO Q専用の新しいプラグインボードやシールドはありますか?

  • 現時点ではありません。「シールド」インターフェースはほとんどのArduinoボードで共通です。ただし、Uno Q専用のキャリアボードが近いうちに提供される予定です。これらはボード下面の高速インターフェースに接続され、そのインターフェースはQualcommプロセッサへ直接接続されています。

ラインオーディオ出力にはどのように対応しますか?

  • Uno Qでオーディオ出力を行うにはUSB経由となります。USBオーディオアダプタを使用します。(あるいはArduino側のインターフェースを使用することもできますが、その場合のオーディオは STM32U585 からストリーミングされます。)

リンクケーブルの長さに制限はありますか?

  • Qwiic(I2C)の推奨最大ケーブル長は、環境中の電気的ノイズの程度に応じて1~3mです。ただし、SparkFunのQwiicBusボードのような製品を利用して延長する方法もあります。SparkFun QwiicBus接続ガイド

Arduino Uno QはLinux上で動作するタッチスクリーンインターフェースを直接実行できますか?それとも、マイクロコントローラとSnapdragon CPUで、センサ処理と表示処理を分担した方がよいでしょうか?

  • タッチスクリーンがHDMIなどをサポートしているのであれば、Linux側から表示を駆動し、タッチ機能も利用できます。一方、画面が小型で簡易な機能であれば、STM32U585 から動作させることも可能です。

Arduino UNO Qは、購入時の状態でMatterをサポートしていますか?また、Matter over Threadには外部無線モジュールが必要ですか。スマートホーム用途ではどのように利用するのが最適ですか?

  • Matterを利用するにはDebian側で、次のようなソフトウェアが必要になります。

イヤホンを使用する場合、USBハブは必要ですか。必須ですか?

  • Uno Qのユーザーマニュアルを再確認したところ、Uno QにはBluetooth 5.1が搭載されており、キーボード、ヘッドセット、シリアルデバイスなどの周辺機器をUSBを使わずに接続できます。

どのようなUSBハブが使用できますか?

  • 私たちのラボでは、StarTech製モデルで最も良好な結果が得られています。また、入手できる他の製品についても評価を進めています。なお、Apple製のものは動作しないことを確認しています。

Uno Qは非常に優れていますが、Bridgeについて少し理解できない点があります。

  • LinuxのRemoteProcレイヤ上で動作するArduino Bridgeはかなり複雑です。Arduinoはその複雑さをうまく見えにくくしています。この内容はウェビナーで扱うには複雑になりすぎるので、Arduinoフォーラムで質問していただくのがよいでしょう。

任意のLLMやOCTを実行できますか?

  • メモリ容量は2GBまたは4GBであり、そのメモリはコプロセッサとも共有されるため、実行できるのは非常に小規模なLLMに限られます。

Dragonwing上で非公式のLinuxビルドをサポートしていますか?

  • Dragonwingはメインラインの安定版カーネルを使用しており、すべてのアプリケーションはDocker上で動作します。そのため、別の環境を使用することを妨げる制限は何もありません。

このボードをEthernetへ接続する方法にはどのようなものがありますか?

  • 標準ではWi-Fiを利用できます。また、USBネットワークアダプタを使用することも可能です。

関連ウェビナーリンク

このウェビナーについてさらに詳しい情報をご希望の場合は、以下を参照してください。

DigiKeyウェビナーセンター

DigiKey TechForumウェビナーの投稿




オリジナル・ソース(English)