# 【開箱評測】Arduino Vibe Coding 新體驗 ─ 新唐 NuMaker-UNO-M4 如何實現工業物聯網
作者:Jack OmniXRI 2025/07/21

2005年義大利一位教互動設計的老師經常被學生抱怨沒有簡單好上手的單晶片開發板,於是請朋友設計了一塊電路板,命名為「Arduino」[1],並提供了容易上手的函式庫,同時還開源程式碼、電路圖並允許作任何修改再發行,這讓不懂程式開發的創作者也能輕鬆接收感測器信號及控制週邊硬體進行二次創作。
這次要幫大家介紹的是國產 Arduino UNO-R4 相容開發板「**新唐 (Nuvoton) NuMaker-UNO-M4**」[2]。或許大家已看過很多低價的 Arduino 相容開發板,而這塊板子相較傳統開發板價格高出許多,但這塊主打是工業應用,走的是高算力、大容量、廣週邊,可輕鬆連接 RS485, CAN 及 Ethernet,還有支援 SDIO 可直接存取記憶卡,非常適合本地(裝置)端或雲端工業物聯網相關應用,未來還有機會實現聲音、運動及各式感測器級微型 AI (TinyML) 應用。更重要的是它不需使像 Arm Keil, IAR等專業的開發工具,只要使用 Arduino IDE [3]即可完成。接下就硬體規格、軟體開發(含 Vibe Coding)及常見工業物聯網應用案例作更進一步介紹。
## Arduino 歷史演進
一開始的 Arduino UNO-R3 使用的是 8bit 單晶片 Atmel ATmega328P,工作頻率為 16MHz、程式儲存用快閃記憶體(Flash 32KB)、 運算過程用靜態隨機存取記憶體(SRAM 2KB)及 EEPROM 1KB,週邊可支援通用數位輸出入(DAC)、類比輸入及類比(PWM 型式)輸出、USART(UART), I2C, SPI 各一組。後來又陸續發展了很多開發板(如,適合不同價格、場域及用途。另外由於開源社群非常活躍,所以也有很多廠商開發出各式各式的擴展板及週邊模組,如各式感測器、顯示器、馬達、網路、記憶卡、音樂撥放器等。
Arduino 去(2004)年再次推出 UNO-R4-Minima,升級到 32bit 單晶片 Renesas R7FA4M1,內核為 Arm Cortex-M4F 支援單精度浮點及 SIMD 運算,工作頻率提升至48MHz, 具有 256KB Flash, 32KB SRAM, EEPROM 8KB,週邊數量也有增加 USART(UART) 4組, SPI 2組, I2C 2組, CAN 1組。原有的 USB Type B 接頭也改成 Type C,方便連接到個人電腦,亦可當成 USB-FS 裝置使用。
## NuMaker-UNO-M4 硬體規格
新唐此次推出的 NuMaker-UNO-M4 使用較高規格的單晶片 NuMicro M467SJHAN[4],其內核為 Arm Cortex-M4F 支援單精度浮點及 SIMD 運算,工作頻率高達 200MHz, 具有1024KB Flash, 512KB SRAM, 除基本數位輸出入腳位外,還有支援硬體的類比輸出入(12bit ADC 1組6腳位共用, 12bit DAC 2組),而週邊除常見的 UART 4組, SPI 1組, I2C 2組 外,另外還支援 RS485 1組, CAN 1組, Ethernet 1組及 SDIO 1組,方便連結工業物聯網裝置及存取資料。程式更新接口使用 Type C,除可作為連接個人電腦外,亦可當成 USB-FS 裝置使用。板上和 Arduino UNO R4 Minima 一樣有個實體重置鍵(Reset SW),另外還貼心的加上電源開關,方便可以直接關機。完整開發板連結器腳位定義可參考 Fig. 1所示。

Fig. 1 新唐 NuMaker-UNO-M4 連接器腳位定義圖。 (OmniXRI整理製作, 2025/07/21)
透過 Fig. 2 可讓大家更了解 NuMaker-UNO-M4 和先前的 Arduino UNO R3 / UNO R4 Minima 有何差異。從工作頻率看來相較 R4 快了4倍多,程式儲存空間(Flash)也多了4倍,隨機存取記憶體更是多了16倍,可作為更複雜的應用。

Fig. 2 Arduino UNO R3 / UNO R4 Minima 與 NuMaker-UNO-M4 功能比較圖。 (OmniXRI整理製作, 2025/07/21)
## 軟體開發環境建置
### Arduino IDE 開發環境安裝說明
一般要開發 MCU 通常要使用專業的整合開發環境(IDE),如 Arm Keil, IAR, Eclipse 等,而各 MCU 供應商有時也會提供專屬的 IDE,像新唐的 NuEclipse。而 NuMaker-UNO-M4 為了讓大家更好上手,所以可直接使用 Arduino IDE 進行開發,同時相容原來的一般寫作習慣。
為方便說明以下所有步驟都以 Windows 環境進行介紹。首先選擇 Windows Win 10 and newer, 64 bits 的 [Arduino IDE](https://www.arduino.cc/en/software/) [3] 下載並安裝,建議安裝 2.x 版,以利後續若有 AI 需求時不用再更新,若原來已有安裝 1.x 版亦可直接使用。
接著下載新唐開發板 USB 驅動程式 [Nu-Link USB Driver](https://www.nuvoton.com/resource-download.jsp?tp_GUID=SW0520150729202535) [5] ,解壓縮後會得到 Nu-Link-USB—Driver 1.x.exe (1.x表示版本),雙擊後便可開始安裝。安裝時只需一直按下一步即可完成安裝程序。
再來使用 USB Type C 纜線連接個人電腦和開發板,連接後,進入 Windows 裝置管理員中會看到在【連接埠(COM和LPT)】下多了一組【Nu-Link Virtual Com Port(COMx)】(x表連接埠號,每台電腦連接後會自動配置),表示已成功安裝。
### 手動更新 Nu-Link USB 驅動程式
**注意: 若【連接埠(COM和LPT)】下看到的是【USB序列裝置(COMx)】則需手動更新驅動程式**,這種狀況多半發生在之前曾安裝過其它如CH340或其它虛擬串列埠驅動程式造成。手動更新步驟如下所示,可參考 Fig. 3。
1. 雙擊【USB序列裝置(COMx)】,切換到【驅動程式】頁面。
2. 點擊【更新驅動程式】。
3. 選擇【瀏覽電腦上的驅動程式】。
4. 選擇【讓我可以從電腦上的可用驅動程式清單中挑選】。
5. 取消勾選【顯示相容硬體】,將左方清單捲到最下方,點擊【`www.nuvoton.com`】
6. 選擇【Nu-Link Vitrual Com Port】,按【下一步】。
7. 此時出現警告訊息,按【是】同意繼續完成更新。
8. 建議完成後再重新開機,以確保 Arduino 後續可正確燒錄程式。

Fig. 3 手動更新新唐 Nu-Link USB 驅動程式流程圖。 (OmniXRI整理製作, 2025/07/21)
### 啟動 Aruduino 設定參數並測試
為了讓 Arduino IDE 能順利連接 NuMaker-UNO-M4 並順利執行,如 Fig. 4 ,請依下列步驟進行設定。
1. 開啟 Arduino IDE。
2. 進入主選單[檔案(File)]-[喜好設定(Preference)]-[設定(Setting)],捲到最下方,在[其它開發板管器員網址(Additional boards manager URLs)]輸入「`https://raw.githubusercontent.com/OpenNuvoton/NuMaker_UNO/master/package_nuvoton_index.json`」,按下【OK】。
3. 進入主選單[工具(Tools)]-[開發板(Board)]-[NuMaker M4]選擇[NuMaker-UNO-M4]。
4. 回到主選單[工具(Tools)]-[連接埠(Port)]選擇對應的串列埠號「COMx」(x表示對應的埠號)。
5. 此時右下角已出現目前工作中的開發為「NuMaker-UNO-M4」工作在「COMx」,表示已正常連線。
6. 下次使用時可直接點選快捷鍵列(深綠色區),開發板及埠號即可連線。若仍無法自動偵測到,可重回步驟3~4,進行手動選擇。

Fig. 4 Arduino IDE 啟動 NuMaker-UNO-M4 程序圖。 (OmniXRI整理製作, 2025/07/21)
## 氛圍編碼(Vibe Coding)展示
### 傳統 Arduino Examples 開發模式
第一次接觸 Arduino 的開發者,就會對其開發便捷性感到驚訝,因為大部份的硬體元件範例程式都已存放在 Exsamples 選單下,只需點選所需內容就能自動產生對應程式,接著直接上傳到開發板就能使用,少部份只需修改一些客製化參數也能馬上完成,對於初階開發者相當友善。當需要多種硬體組合時,只需將多個範例組合在一起,再依需求加入各自關聯的程式,很快就能擁有屬於自己的應用程式。
以下就以最常見的「Blink」範例程式來舉例說明,如何令 NuMaker-UNO-M4 開發板上發光二極體(LED)交替閃爍。
如 Fig. 5 所示,

Fig.5 使用 Arduino IDE 開發 NuMaker-UNO-M4 程式流程。 (OmniXRI整理製作, 2025/07/21)
### 生成式 Vibe Coding 開發模式
近年來由於大語言模型(LLM)積極發展,因此開始衍生出直接以人類對話式方式來產生程式碼,只需複製貼上就能簡單完成所需功能,甚至有些工具或平台甚至可直接連動整合發展環境(IDE),讓產生的程式碼可直接編譯上傳到開發板執行,而這種開發方式可稱為「**氛圍編碼(Vibe Coding)**」。
目前 Arduino 有著非常完整的週邊硬體供應商、豐富的範例源碼及開發者生態系,因此大部份的大語言模型平台都能很輕鬆產出對應的程式碼,如 ChatGPT, Google Gemini, Claude AI, Grok 等。不過由於各家設計理念不同,所以支援的方式及產出的內容也略有所不同,以下就簡單一個實驗案例進行說明。
輸入提示詞(Prompt, 俗稱咒語):「請產生 Arduino 程式,動作為開發板上預設 LED 交替閃爍,亮1秒,熄滅0.5秒。」。從 Fig. 6 中可看出,各家給出的答案方式、說明內容、程式碼及註解方式各有不同。而 Claude AI 和 Grok 還以雙視窗方式呈現文字說明及程式碼,並給出 Arudino 專用的程式檔(*.ino),更有利於開發者比對學習。
目前雖有一些工具可直接和 IDE 連動,但對於初學者來說,有時太方便,反而不容易注意到程式哪些地方被修改到,甚至有些不該被改動的地方也被改動。因此建議初學者還是採用複製貼上的方式來完成,比較不容易出錯。另外提醒大家,使用大語言模型生成程式雖很快就能產出所需內容,但不保證百分之百一定沒有錯誤,還是需要人為檢查一下。

Fig. 6 大語言模型平台生成 Arduino 程式範例。 (OmniXRI整理製作, 2025/07/21)
## 工業物聯網應用實例
傳統的 Arduino UNO R3 / R4 如果要用於物聯網時,常需額外增加各式各樣的擴充板(Expension Board),而 NuMaker-UNO-M4 已提供最常用的 RS485, CAN, Ethernet 及 SD卡 (SDIO)介面,非常方便用於工業物聯網應用,以下就簡單舉幾個例子。
1. 工業數據採集與遠端監控:
遠端利用一個小的單晶片(MCU)接收如溫濕度、轉速等類比感測器信號並轉換成數值,或者直接接收如聲音、運動等數位感測器之數值,再透過 RS485, CAN 等通訊介面送回主控端單晶片(如NuMaker-UNO-M4),最後可以檔案方式儲存在記憶卡中。
當然有時經過一些運算後,需反應到遠端裝置,此時則反向操作,透過 RS485, CAN 等通訊介面傳送信號,使燈號、馬達等元件依命令被控制。
2. 裝置端與雲端協力工作:
一般物聯網都需要把資料送上雲端分享給特定的人,而使用者只需要使用如手機、平板或筆電等行動通訊裝置連網便可取得相關資訊。通常這些資訊會先利用 SD 卡將其儲存在裝置端,待透過 Ethernet 順利連網後就可把 SD 卡上的資訊上傳到雲端。
3. 常見應用實例:
* 智慧能源管理,如燈光、加熱製冷設備耗電裝置狀態回報及遠端控制開關或調整。
* 生產機台監控,如生產數據、警示訊息回報及遠端控制啟動、停止。
* 智慧生產線管理,上下游設備可互相傳遞工作訊息,達成協同作業之目的。
* 整合離線智慧攝影機,僅將判讀資訊上傳,可增加隱私性、提高偵測反應時間、降低系統成本。
## 結論
經過以上簡單介紹,大家應可初步了解到新唐 NuMaker-UNO-M4 是一塊相容於 Arduino UNO R4 的開發板,非常適合應用於工業物聯網的應用,其性相較傳統 Arduino UNO R3 / R4 高出許多,同時提供更多的週邊擴展,省去採購擴充板。其軟體開發完全相容 Arduino IDE,並可輕鬆使用大語言模型平台來生成程式,達到以人類自然語言開發程式的「氛圍編碼(Vibe Coding)」模式。本文只是一個起點,後續有機會會再提供更貼近實務需求的專案剖析,敬請期待。
## 參考文獻
[1] Wikipedia, Arduino
https://zh.wikipedia.org/zh-tw/Arduino
[2] Nuvoton, IoT Solution - Arduino Compatible Platform - NuMaker-UNO-M4
https://www.nuvoton.com/products/iot-solution/arduino-compatible-platform/numaker-uno-m4/
[3] Arduino, IDE
https://www.arduino.cc/en/software/
[4] Nuvoton, M467SJHAN
https://www.nuvoton.com/products/microcontrollers/arm-cortex-m4-mcus/m467-ethernet-crypto-series/m467sjhan/
[5] Nuvoton, Nu-Link USB Driver
https://www.nuvoton.com/resource-download.jsp?tp_GUID=SW0520150729202535