作者:Jack OmniXRI

Arduino UNO Q(以下簡稱 UNO Q)採用了 Qualcomm QRB2210 MPU + STM32U585 MCU 雙晶片架構,前者運行完整的 Debian Linux 處理高階人機介面及 AI 推論計算,而後者則配合 Zephyr 即時作業系統可以處理開發板上各式週邊控制元件。 Arduino 為了讓開發者更容易開發出整合式微型 AI 應用,因此推出了新的開發工具 Arduino App Lab(以下簡稱 App Lab)。接下來就簡單說明如何安裝 App Lab 並撰寫執行一個簡單的範例程式。
1. 選擇UNO Q工作模式並下載App Lab
如圖1所示,要執行 App Lab 有兩種方式,單板微電腦模式(SBC)和主機連線模式(PC Hosted)。通常新買來的 UNO Q 已預安裝好 Debian(Linux)、常用工具軟體和 App Lab。只需準備好一個帶 HDMI 輸出的 USB 3.0 Hub,如 Fig.1 左上所示,插好 UNO Q、鍵盤、滑鼠、螢幕,送電後即可進入類似樹莓派的工作畫面並自動啟動 App Lab。
這裡要特別注意,這個 Hub 一定要選有支援 PD (USB Type C)電源輸入的,變壓器建議為 5V/3A,以免耗電過大,無法啟動開發板或無法點亮 HDMI 顯示器。
如果手上沒有這種擴展用的 USB HUB,則建議採用如 Fig. 1 左下所示主機連線模式作法,只需拿一條 USB Type C 纜線,連到 UNO Q,再於筆電上安裝 App Lab,完成後一樣可以進行開發。
目前 App Lab 可支援 x86/Arm Windows 10/11, Linux (Debian Bookworm, Ubuntu 22.04 及以上版本)、macOS(big Sur 及以上版本),下載最新版本 App Lab ArduinoAppLab_0.7.0_Windows_x86-64_installer.exe(以x86 Windows, 0.7.0版為例)。
另外由於 App Lab 隨時會有新版推出,建議第一次使用還是採用主機連線模式,進行最新版本韌體更新。

圖1:選擇工作模式並下載 APP LAB。(OmniXRI整理製作,2026/05/20)
2. 安裝App Lab並更新UNO Q工作環境
如圖2所示,接著將USB 纜線連接電腦和 UNO Q,再啟動剛才下載的 App Lab 安裝檔。點擊 USB 連接符號,待偵測到就可開始更新開發板所需程式並刷新。到第二個步驟時,畫面會提示先將 USB 纜線移除,並插入短路針(Jumper)到 UNO Q 左上方排針的最右兩針,若沒有專用的短路針可直接拿銅線短路,再來就可以重新插回 USB 纜線接著刷新。完成後會自動重啟 App Lab,此時畫面會出現最後更新日期,再次點擊 USB 連接符號就可進入開發板 Linux 相關設定。

圖2:App Lab安裝及更新UNO Q 程式。(OmniXRI整理製作,2026/05/20)
如圖3所示,接著開始設定 Linux 相關參數,包括語系(建議可選中文方便後續操作)、開發板名稱(可隨便自訂)、WIFI帳號密碼、Linux 密碼(使用者名稱固定為 arduino, 密碼至少8個英文字母或數字)及 arduino:zephyr、arduino-app-cli、arduino-app-lab、arduino-router 等重要工具軟體。這個步驟視網路頻寬,可能需要十多分鐘到一小時,完成後會自動重啟 App Lab,進入工作畫面。和單板微電腦模式開機後看到的畫面相同。

圖3:App Lab 設定 UNO Q Linux 相關參數。(OmniXRI整理製作,2026/05/20)
3. 執行LED閃爍範例
通常要測試開發板開發環境及週邊元件是否運作正常,最常見的範例就是「LED Blink」,當然這裡也不例外。如圖4所示,App Lab 已有現成 LED Blink 範例,點擊後,按下右上角複製符號,就會詢問新的 App 專案名稱,創建後,按下右上角 RUN 就會開始編譯並執行,此時就會看到 UNO Q 板上右上角 LED3(紅色)開始每隔1秒閃爍1次。

圖4:複製App Lab LED Blink 範例並執行。(OmniXRI整理製作,2026/05/20)
傳統Arduino Sketch(C++)程式主要分成 Setup() 和 Loop() 兩大段程式,前者負責處理週邊元件宣告,而後者則負責產生一直循環的控制動作,如 LED 閃爍。
而在 App Lab 中為了讓 MPU 和 MCU能協力工作,如圖5上方所示,MPU 部份使用 Python 進行開發,而 MCU 部份則和傳統 Sketch 開發方式一樣,採用 C++ 進行開發。其中最不一樣的地方就是中間多了一個橋接器(Bridge API),負責溝通 MPU 和 MCU的程式。
如圖5左下所示,Python 程式中建立一個類似傳統 Arduino Sketch 程式中的無限循環函式(Loop),其中控制到開發板上的週邊時再使用橋接呼叫(Bridge.call) Sketch端準備好的函式即可。
如圖5右下所示,Sketch(C++) 程式和傳統最大不一樣的地方,就是放空無限循環函式(Loop),而把要控制週邊動作獨立成一個函式,並在 Setup() 函式中宣告要橋接函式名稱(Bridge.provide),方便 MPU(Python) 呼叫。

圖5:App Lab Python 及 Sketch 架構及程式碼。(OmniXRI整理製作,2026/05/20)
結語
Arduino App Lab 是一種新的開發模式,整合 Liunx 和 Zephyr,透過橋接(Bridge)就能讓 MPU / MCU 相互交換資訊及控制,藉此滿足非即時(GUI, AI …)和即時(GPIO, SPI, I2C, UART …)的需求。後續會接著對 UNO Q 各種週邊及 AI 應用如何開發作更進一步介紹,敬請期待!
- 【Arduino UNO Q專欄02】軟體開發初體驗 - 2026/05/21
- 【Arduino UNO Q 專欄01】 基礎硬體及軟體簡介 - 2026/05/07
- Arduino UNO Q教學案例整理 - 2026/03/09
訂閱MakerPRO知識充電報
與40000位開發者一同掌握科技創新的技術資訊!


