---
# System prepended metadata

title: 【Arduino UNO Q 專欄02】- 軟體開發初體驗
tags: [Arduino, MCU, Uno Q]

---

# 【Arduino UNO Q 專欄02】- 軟體開發初體驗

Jack OmniXRI, 2026/05/20

![Arduino-UNO-Q-02_Fig00](https://hackmd.io/_uploads/r16SQFYJfx.jpg)

[Arduino UNO Q [1]](https://docs.arduino.cc/hardware/uno-q/) （以下簡稱 UNO Q）採用了 Qualcomm QRB2210 MPU + STM32U585 MCU 雙晶片架構，前者運行完整的 Debian Linux 處理高階人機介面及 AI 推論計算，而後者則配合 Zephyr 即時作業系統可以處理開發板上各式週邊控制元件。 Arduino 為了讓開發者更容易開發出整合式微型 AI 應用，因此推出了新的開發工具 [Arduino App Lab [2]](https://docs.arduino.cc/software/app-lab/getting-started/quickstart/)（以下簡稱 App Lab）。接下來就簡單說明如何安裝 App Lab 並撰寫執行一個簡單的範例程式。

## 1. 選擇 UNO Q 工作模式並下載 App Lab 

如 Fig.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[3]](https://www.arduino.cc/en/software/#app-lab-section)（以x86 Windows, 0.7.0版為例）。

另外由於 App Lab 隨時會有新版推出，建議第一次使用還是採用主機連線模式，進行最新版本韌體更新。

![Arduino-UNO-Q-02_Fig01](https://hackmd.io/_uploads/BJGYU4qkMe.jpg)
Fig. 1 選擇工作模式並下載 APP LAB。（OmniXRI整理製作，2026/05/20）

## 2. 安裝 App Lab 並更新 UNO Q 工作環境

如 Fig. 2所示，接著將 USB 纜線連接電腦和 UNO Q，再啟動剛才下載的 App Lab 安裝檔。點擊 USB 連接符號，待偵測到就可開始更新開發板所需程式並刷新。到第二個步驟時，畫面會提示先將 USB 纜線移除，並插入短路針（Jumper）到 UNO Q 左上方排針的最右兩針，若沒有專用的短路針可直接拿銅線短路，再來就可以重新插回 USB 纜線接著刷新。完成後會自動重啟 App Lab，此時畫面會出現最後更新日期，再次點擊 USB 連接符號就可進入開發板 Linux 相關設定。

![Arduino-UNO-Q-02_Fig02](https://hackmd.io/_uploads/rJkhPAYJfx.jpg)
Fig. 2 App Lab 安裝及刷新 UNO Q 程序。（OmniXRI整理製作，2026/05/20）

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

![Arduino-UNO-Q-02_Fig03](https://hackmd.io/_uploads/B1Vhw0FyMx.jpg)
Fig. 3 App Lab 設定 UNO Q Linux 相關參數。（OmniXRI整理製作，2026/05/20）

## 3. 執行 LED 閃爍範例

通常要測試開發板開發環境及週邊元件是否運作正常，最常見的範例就是「LED Blink」，當然這裡也不例外。如 Fig. 4所示，App Lab 已有現成 LED Blink 範例，點擊後，按下右上角複製符號，就會詢問新的 App 專案名稱，創建後，按下右上角 RUN 就會開始編譯並執行，此時就會看到 UNO Q 板上右上角 LED3（紅色）開始每隔1秒閃爍1次。

![Arduino-UNO-Q-02_Fig04](https://hackmd.io/_uploads/HyjFxEqkfx.jpg)
Fig. 4 複製 App Lab LED Blink 範例並執行。（OmniXRI整理製作，2026/05/20）

傳統 Arduino Sketch(C++)程式主要分成 Setup() 和 Loop() 兩大段程式，前者負責處理週邊元件宣告，而後者則負責產生一直循環的控制動作，如 LED 閃爍。

而在 App Lab 中為了讓 MPU 和 MCU 能協力工作，如 Fig. 5上方所示，MPU 部份使用 Python 進行開發，而 MCU 部份則和傳統 Sketch 開發方式一樣，採用 C++ 進行開發。其中最不一樣的地方就是中間多了一個橋接器(Bridge API)，負責溝通 MPU 和 MCU的程式。

如 Fig. 5 左下所示，Python 程式中建立一個類似傳統 Arduino Sketch 程式中的無限循環函式(Loop)，其中控制到開發板上的週邊時再使用橋接呼叫(Bridge.call) Sketch端準備好的函式即可。

如 Fig. 5 右下所示，Sketch（C++） 程式和傳統最大不一樣的地方，就是放空無限循環函式(Loop)，而把要控制週邊動作獨立成一個函式，並在 Setup() 函式中宣告要橋接函式名稱（Bridge.provide），方便 MPU(Python) 呼叫。

![Arduino-UNO-Q-02_Fig05](https://hackmd.io/_uploads/Bkd8HEq1Ml.jpg)
Fig. 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 應用如何開發作更進一步介紹，敬請期待。

**本文同步發表在 [MakerPRO](https://makerpro.cc/jack-hsu-column)**

## 參考文獻

[1] Arduino, Document - Hardware - UNO Q - UNO Q User Manual
https://docs.arduino.cc/hardware/uno-q/
[2] Arduino, Document - Software - APP Lab - Tutorial: Using Arduino App Lab
https://docs.arduino.cc/software/app-lab/getting-started/quickstart/
[3] Download Arduino App Lab 
https://www.arduino.cc/en/software/#app-lab-section

## 延伸閱讀

[A] 許哲豪，【Arduino UNO Q 專欄01】- 基礎硬體及軟體簡介
https://omnixri.blogspot.com/2026/05/arduino-uno-q-01.html
