前言

在微控制器的開發旅程中,當你的專案完成了基礎的功能驗證後,往往會面臨下一個挑戰:如何將龐大的開發板與雜亂的線路,縮小並整合進實際的應用場景中?

如果你希望專案能更具備實用性,例如:「打造一個能輕鬆塞進外殼的智慧穿戴裝置」;或者是「開發一個自帶電池、且能隨時連上 Wi-Fi 傳輸數據的環境感測節點」,你就必須尋找一款體積更小、整合度更高的運算核心。

本篇,我們詳細將為你介紹 Seeed Studio XIAO ESP32C3。這是一塊僅有拇指大小(21 x 17.5 mm),卻同時具備 Wi-Fi 與藍牙雙模通訊、甚至原生內建鋰電池充電管理晶片的「物聯網小鋼砲」。

無論你是想將現有專案微型化,還是初次挑戰物聯網開發、,本篇都將為你提供一份從「硬體規格解析」一路走到「軟體環境建置」的完整實戰指南。

而Seeed Studio XIAO 系列完美支援大家熟悉的 Arduino IDE 開發環境。這代表如果你是從傳統 Arduino 轉換過來的開發者,將完全沒有重新學習軟體的陣痛期,反而是讓你的開發清單中,直接多出「ESP32C3」這個強大的新選擇!

 


本篇內容將介紹:
 

  • 理解硬體亮點與腳位定義:搞懂 Seeed Studio XIAO ESP32C3 的核心優勢,並學會正確安裝外部天線,避開新手常踩的硬體配置地雷。
  • 建構專屬開發環境:掌握 Arduino IDE 的完整設定步驟,順利為電腦擴充 ESP32 系列的編譯環境。
  • 基礎連線與除錯實戰:成功跑完 Blink 測試與 Wi-Fi 網路掃描,並學會排解「找不到 COM Port」或「程式燒錄失敗」等常見問題。
     

 

文章內容目錄

 

Seeed Studio XIAO ESP32C3 ESP32C3 是什麼?

為什麼物聯網新手與進階開發者都推薦使用 Seeed Studio XIAO ESP32C3?

Seeed Studio XIAO ESP32C3 規格總覽

Seeed Studio XIAO ESP32C3 硬體總覽與腳位圖 (Pinout) 解析

Seeed Studio XIAO ESP32C3 軟體開發開始前的準備:硬體清單

Seeed Studio XIAO ESP32C3 軟體開發環境準備:Arduino IDE 完整設定

Seeed Studio XIAO ESP32C3 開機測試:Blink 功能驗證

Seeed Studio XIAO ESP32C3 進階功能驗證:Wi-Fi 掃描測試

Seeed Studio XIAO ESP32C3 常見問題與除錯指南 (FAQ)

 

ESP32C3 是什麼?

ESP32-C3 是由知名晶片大廠樂鑫資訊科技 (Espressif Systems) 所推出的物聯網 (IoT) 微控制器。有別於早期的 ESP32,這個版本的 ESP32-C3 進行了運算核心的大換血,為開發者帶來了以下三大革命性優勢:

全新開源大腦 (RISC-V 架構): 採用 32 位元 RISC-V 單核心處理器。憑藉極度高效的指令集架構,它能在提供強大運算效能的同時,大幅降低整體的功耗與製造成本。

強大的雙模通訊能力: 原生支援家中普遍使用的 IEEE 802.11 b/g/n 2.4GHz Wi-Fi,以及智慧穿戴最愛的低功耗藍牙 (Bluetooth 5 / BLE) 協定,確保了極佳的無線訊號穿透力與連線穩定度。

ESP8266 的繼承首選: 憑藉強大的連網能力與極低的開發門檻,被市場公認為取代傳統 ESP8266 的「高 CP 值、低功耗」完美繼承者。

而 Seeed Studio XIAO ESP32C3,正是將這顆強大的樂鑫晶片,濃縮進了極致微小的電路板中,徹底釋放了它在無線穿戴式與微型物聯網應用上的無限潛能。


 

為什麼物聯網新手與進階開發者都推薦使用Seeed Stuido XIAO ESP32C3?


Seeed Studio XIAO ESP32C3 能在市場上脫穎而出的最大優勢,就是完美做到了「效能不減、空間極致壓縮」。畢竟,要把麵包板上一堆雜亂的跳線與模組,真正變成可以拿在手上甚至穿戴的成品時,開發板本身的「體積與供電」通常是專案面臨的最大挑戰。

 

拇指大小的極致微縮體積與郵票孔封裝

 

XIAO ESP32C3 因為搭載了高效能的 RISC-V 32 位元單核處理器,能將所有強大功能濃縮在僅有約一枚硬幣大小 (21 x 17.5 mm)的微型封裝內。如果你曾經覺得傳統 Arduino 開發板在微型專案中顯得有點「太大、笨重」,那麼XIAO ESP32C3絕對會讓你眼睛一亮。


而且邊緣採用的「郵票孔 (Stamp Hole)」設計,這成為了原型與量產的完美橋樑。不僅方便創客直接焊上排針,插在麵包板上進行原型驗證 (POC);更讓企業研發團隊能將其作為標準微型模組,直接表面貼焊 (SMD) 在自定義的 PCB 上,大幅降低了從實驗室走向工廠量產的技術門檻。

 


內建 Wi-Fi 與藍牙 (BLE) 雙模通訊

 

XIAO ESP32C3 在如此狹小的空間內,完整整合了 2.4GHz Wi-Fi 與 Bluetooth 5.0 (BLE) 雙模通訊能力,在物聯網時代,連網能力是設備的標準配備。這也讓你的專案不需外掛任何笨重的通訊模組,就能輕鬆將感測數據上傳至雲端伺服器,或與手機 App 進行低功耗的藍牙連線控制。

 

原生鋰電池充電管理,為穿戴裝置而生

 

在過去,如果你想讓專案擁有獨立電源,通常得另外買一塊 TP4056 充電模組,並為了如何把它塞進狹小的 3D 列印外殼裡而頭痛。

XIAO ESP32C3 最讓開發者驚豔的特點,就是它原生整合了鋰電池充電管理晶片。你只需要將單顆 3.7V 鋰電池接上開發板背面的電池接點(BAT 與 GND),就能直接透過板子上的 USB-C 接口為電池充電。這種極高整合度的設計,完美契合了以下真實應用場景:

 

  • 需要極小內部空間的智慧手錶與穿戴式裝置。
  • 放置於戶外,透過太陽能板搭配鋰電池供電的環境感測節點。
  • 要求隱蔽性與長效待機的微型定位追蹤器。

 

Seeed Studio XIAO ESP32C3 規格總覽

 

作為 Seeed Studio 授權經銷商,我們完整同步官方技術數據,提供硬體參數參考:

參數類別

官方技術規格 (Official Specifications)

處理器

ESP32-C3 SoC

RISC-V 單核心32 位元晶片處理器,四級管線,最高運作頻率160 MHz

無線傳輸

2.4GHz Wi-Fi (802.11 b/g/n) 與 Bluetooth 5.0 / Mesh

晶片記憶體(on-chip-memory)

400KB SRAM & 4MB Flash

介面

1x UART

1x IIC

1x SPI

11x GPIO(PWM)

4x ADC

1x Reset 按鈕

1x Boot 按鈕

尺寸

21 x 17.8mm

功耗

最大3.3V 輸出電流:500mA

測試條件:BAT 接腳輸入@ 3.8V

供電能力:3A

充電電流:380mA(快速)/ 40mA(涓流)

輸入電壓(VIN):5V

輸入電壓(BAT):3.7V

深度睡眠功耗

深度睡眠模式:44 μA

啟用Wi-Fi 時的功耗

工作模式:75 mA

Modem-sleep 模式:25 mA

Light-sleep 模式:4 mA

啟用BLE 時的功耗

Modem-sleep 模式:27 mA

Light-sleep 模式:10 mA

工作溫度

-40°C ~ 85°C


 

1. 卓越的電源系統:3A 負載與 44μA 功耗

 

XIAO ESP32C3 在微型開發板中擁有極強的電源彈性:

  • 3A 供電能力: 這是指電路板整體電源路徑設計的極限,代表它具備承載大電流周邊模組的潛力。
  • 500mA 限制: 雖然系統總量大,但 3.3V 穩壓引腳 (LDO) 的輸出上限為 500mA,接感測器時請務必計算總電流。
  • 極致省電: 44 μA 的深度睡眠功耗意味著使用一顆小型的鋰電池,就能讓你的感測器節點運作數月甚至一年以上。

 

2. 全方位週邊介面:11 個引腳皆支援 PWM


相較於傳統開發板,XIAO ESP32C3 的引腳利用率極高:

  • 全 PWM 支援: 標註為 D0 到 D10 的 11 個數位引腳全部支援 PWM 輸出,這在控制多組伺服馬達或 LED 調光時非常方便。
  • 類比功能: 擁有 4 個 12-bit 解析度的 ADC 引腳(D0~D3),足以應付大多數的類比感測器需求。

 

3. 穩定可靠的無線通訊

 

  • Wi-Fi + BLE 5.0: 支援最新的藍牙 5.0 標準,並具備 Bluetooth Mesh 功能,非常適合建立多節點的智慧家庭系統。
  • U.FL 外部天線: 隨附的外部天線能有效解決微型板子常見的收訊問題,建議在進行遠距離傳輸時務必安裝。

 

Seeed Studio XIAO ESP32C3 硬體總覽與腳位圖 (Pinout) 解析

 

雖然 XIAO ESP32C3 的體積極小,但它的 I/O(輸入/輸出)資源卻非常豐富。此外,它在正面巧妙地配置了兩個微型實體按鈕——Bootloader 模式按鈕 (B) 與 Reset 重設按鈕 (R),這讓開發者在遇到程式當機或需要手動強制燒錄時,能輕鬆進行硬體除錯。

 

Seeed Studio XIAO ESP32C3 硬體概覽圖
 

 XIAO ESP32C3 正面

圖片來源:Seeed Studio Wiki 

XIAO ESP32C3 的正面配置除了核心的 ESP32-C3 晶片與 Type-C 接口外,還整合了多個關鍵的實體操作按鈕與射頻介面。精確掌握這些元件的功能與對應關係,將能協助你在後續的專案開發與故障除錯(Debug)過程中事半功倍:

 

圖面標示

對應晶片/腳位

功能說明

CHARGE LED
充電指示燈

VCC_3V3 (內部)

CHG-LED:當接上鋰電池並透過 USB 供電時,此 LED 會亮起以顯示充電狀態。

Boot Button (B) 

Boot 按鈕

GPIO 9

下載模式:按住 Boot 鍵再按 Reset 鍵,可強制開發板進入手動下載模式 (Download Mode)。

Reset Button (R) 

重設按鈕

CHIP_EN (EN)

硬體重設:對應晶片的 CHIP_EN (EN) 腳位。按下後會重新啟動開發板。
 

WiFi/BT Antenna Connector

U.FL 天線座

LNA_IN

射頻輸入:用來扣上隨附的外部 Wi-Fi/藍牙天線。

 

 

小提醒: U.FL 天線座安裝防呆設置

XIAO ESP32C3 採用微型的 U.FL 天線座以節省空間。由於該接頭極為脆弱,若安裝施力不當,容易導致底座脫落或變形,請依照以下標準步驟進行安裝:

  1. 精準對位: 將天線端接頭的中心孔,完全對齊開發板上的 U.FL 底座中心。
  2. 垂直下壓: 確認對齊後,使用指腹從正上方「垂直」向下壓。請勿使用金屬尖銳物、指甲硬戳,或在未對準時傾斜硬壓。
  3. 確認卡扣: 當你感覺到輕微的「喀」一聲,即代表安裝到位。為延長接頭壽命,安裝後請盡量避免頻繁插拔。


 XIAO ESP32C3 背面

圖片來源:Seeed Studio Wiki 

 

圖面標示

對應晶片/腳位

功能說明

Battery Connector

電池接點

BAT / GND

供電接點: 用於連接單顆 3.7V 鋰電池。透過正面充電晶片管理,支援 USB 充電。

JTAG PADS

除錯接口群

GPIO 4, 5, 6, 7 & GND

硬體除錯: 包含 MTMS、MTDI、MTCK、MTDO 以及一個 GND (接地)。提供標準 JTAG 除錯介面,可用於斷點追蹤。

EN

Enable 引腳

CHIP_EN

外部重置: 此處引出晶片的 Enable 接點。若在此處接一個對地的外接按鈕,功能等同於正面的 Reset 按鈕。

Thermal Pad

(散熱焊盤)

GND (地)

物理散熱: 位於中央的大面積金屬焊盤,將晶片運作產生的熱量傳導至 PCB 鋪銅層以確保穩定。


 

1. 供電規範與外部模組連接
 

根據上方表格定義,XIAO ESP32C3 提供了靈活的供電介面,但在接線時請遵守以下規範:

  • 電壓輸出限制: 當使用 5V 或 3V3 引腳為外部感測器供電時,請確認模組總電流需求未超過開發板負荷。
  • 5V 引腳特性: 請注意,5V 引腳僅在連接 USB-C 供電時才有電壓輸出;若僅由電池供電,該引腳將無輸出電壓。

 


 

2. ⚠️核心防護警告:鋰電池無防反接保護


這是新手最容易發生的「硬體致命錯誤」。XIAO 系列為了極致壓縮體積,電路板上並未設計防反接保護電路:

  • 極性確認: 在焊接或連接 3.7V 鋰電池至底部的 Battery Connector (BAT / GND) 時,請務必再三確認正負極方向。
  • 毀損風險: 一旦電池正負極接反並通電,ESP32-C3 核心晶片將會瞬間燒毀且無法修復。

     

3. 擴充板相容性提醒:SWD 腳位限制

 

若你計畫搭配官方擴充板進行開發,請留意以下硬體底層的物理限制:

  • 相容性說明: 雖然 XIAO ESP32C3 的基礎腳位與官方 Expansion board 完美相容,但擴充板底部的「SWD 彈簧接點」設計,在物理架構上與 ESP32-C3 的 JTAG PADS(包含位置與訊號定義)並不相容。
  • 開發建議: 若你的專案有進行底層硬體除錯(Debug)的特殊需求,請直接透過背面的 JTAG PADS 進行接線,勿依賴擴充板的彈簧接點。

 

 

進階延伸閱讀: JTAG 指令引腳是什麼 (MTMS, MTDI, MTCK, MTDO)?

 

我們在背面元件看到的 JTAG PADS,是由四個核心訊號組成的除錯介面。JTAG(Joint Test Action Group)是一種工業標準協定,允許開發者直接與晶片內部的邏輯電路溝通。這四個縮寫分別代表:

 

  • MTCK (Test Clock):測試時脈。這是 JTAG 通訊的跳動核心,負責同步所有資料的傳輸步調。
  • MTMS (Test Mode Select): 測試模式選擇。用來控制晶片內部除錯狀態機(State Machine)的切換,告訴晶片現在是要讀取資料、還是執行指令。
  • MTDI (Test Data Input): 測試資料輸入。這是「進入」晶片的通道,開發者透過此引腳將除錯指令或新的韌體程式碼傳送給 ESP32-C3。
  • MTDO (Test Data Output): 測試資料輸出。這是「離開」晶片的通道,晶片透過此引腳將內部的暫存器數值、記憶體狀態或錯誤訊息傳回給電腦。

 

什麼情況下會需要用到它們?

 

 

一般玩家: 90% 的情況下不需要。透過 Type-C 接口 進行燒錄與序列埠監控(Serial Monitor)其實就已經能滿足絕大多數專案需求。

進階專業開發者: 當你需要使用專業除錯器(如 ESP-Prog)進行「斷點除錯」(Breakpoints)、逐行檢查程式碼執行狀態,或是晶片韌體毀損導致無法透過 USB 燒錄時,這四個 PADS 就是你的最後救星。

 

 

Seeed Studio XIAO ESP32C3  Pinout 腳位圖與功能對照表

 

這塊開發板總共擁有 11 路數位 I/O(全部皆可用作 PWM 輸出) 以及 4 路類比 I/O(可用作 ADC 輸入)。在通訊介面部分,它完整支援了 UART、I2C 和 SPI 等常見的硬體串列通訊協定,讓你無論是要接上上一篇教學提到的電位器、或是各種複雜的感測器與顯示螢幕,都能輕鬆應對。為了方便大家對照,我們將官方的引腳功能整理成以下的繁體中文對照表:
 


XIAO ESP32C3 官方 Pinout 腳位圖
 

 

實體引腳編號

對應 ESP32 晶片 GPIO

基礎/類比功能

進階通訊與特殊功能 (復用功能)

5V

-

5V 電源輸入/輸出 (VBUS)

可由 USB 供電或外部輸入

GND

-

接地 (Ground)

 

3V3

-

3.3V 電源輸出

 

D0

GPIO 2

類比輸入 (ADC1_CH2)

 

D1

GPIO 3

類比輸入 (ADC1_CH3)

 

D2

GPIO 4

類比輸入 (ADC1_CH4)

JTAG (MTMS)

D3

GPIO 5

類比輸入 (ADC2_CH0)

JTAG (MTDI)

D4

GPIO 6

 

SDA (I2C 資料線) / JTAG (MTCK)

D5

GPIO 7

 

SCL (I2C 時脈線) / JTAG (MTDO)

D6

GPIO 21

 

TX (UART 傳送)

D7

GPIO 20

 

RX (UART 接收)

D8

GPIO 8

 

SCK (SPI 時脈線)

D9

GPIO 9

 

MISO (SPI 資料輸入) / Boot 模式引腳

D10

GPIO 10

 

MOSI (SPI 資料輸出)

5V

  

5V 電源輸出 (僅在 USB 供電時有輸出)

3V3

  

3.3V 電源輸出

GND

  

接地 (Ground)

BAT

  

3.7V 鋰電池正極輸入


程式開發提醒:引腳宣告的差異

 

在後續使用 Arduino IDE 撰寫程式時,官方的開發板套件允許兩種引腳宣告方式。 例如,當你想控制板子上的 D0 腳位時:

你可以直觀地寫:pinMode(D0, OUTPUT);

也可以直接使用晶片底層的 GPIO 編號寫:pinMode(2, OUTPUT);

這兩種寫法在程式編譯時是完全一樣的,你可以根據自己的開發習慣自由選擇。

 

 

進階延伸閱讀: 解密 ESP32-C3 的「啟動模式」密碼

 


為什麼按住 Boot 鍵就能燒錄?為什麼有時候接了感測器,程式就不動了?答案全在 Strapping Pins (啟動配置引腳) 裡。
ESP32-C3 晶片在通電或重置(Reset)的瞬間,會像照相機一樣「偵測」特定腳位的高低電位,來決定要進入哪種工作模式。


1. 啟動模式判定表 (Strapping Logic)
 

根據官方文件(如上圖),最重要的兩個模式如下:

啟動模式GPIO 8GPIO 9 (D9 腳位)說明
SPI Boot無所謂1 (高電位)一般模式: 正常啟動並執行你寫好的程式。
Download Boot1 (高電位)0 (低電位)燒錄模式: 晶片待命,準備接收電腦傳來的程式。

 

2. 這對開發會有什麼影響?


為什麼要按住 Boot 鍵?

XIAO ESP32C3 上的 Boot 按鈕 (B) 就是連接到 GPIO 9。平時 GPIO 9 處於高電位(1),所以開機就執行程式。當你按住 Boot 鍵時,會將 GPIO 9 拉到低電位(0),強迫晶片在重置後進入「燒錄模式」。


⚠️ 注意避雷:D9 腳位的使用限制 如果你在 D9 (GPIO 9) 接了會把電位拉低的外部零件(例如:下拉電阻、開關、或是某些特定感測器),可能會導致開發板每次通電都自動進入「燒錄模式」,造成你的程式永遠無法自動執行。


建議: 除非必要,否則盡量避免在 D9 腳位連接具有強下拉特性的電路。


關於 GPIO 8 的小提醒: GPIO 8 在啟動時會影響系統日誌(Print Log)的輸出。如果 GPIO 8 在啟動時是低電位,晶片會保持沉默,不輸出啟動資訊。這在進行極致低功耗開發或特殊偵錯時才會用到。
 

Seeed Studio XIAO ESP32C3 軟體開發開始前的準備:硬體清單
 

在進行 Arduino IDE 軟體設定之前,請確認你已經準備好以下硬體:

 

  • Seeed Studio XIAO ESP32C3 開發板: 核心主體。 
  • 電腦 (PC/Laptop): 支援 Windows、macOS 或 Linux 系統。
  • USB Type-C 傳輸線: 用於將電腦與開發板連接。

 

小提醒: 請確保你的 Type-C 線具備資料傳輸功能 (Data Cable)。市面上許多僅供充電用的線材無法讓電腦偵測到開發板,這是新手最常遇到的連線錯誤。

  • Wi-Fi / 藍牙 外部天線: 隨附在包裝內的黑色小天線(可先參考前文的「U.FL 天線安裝技巧」扣上)。
  • (選配)麵包板與跳線: 如果後續要連接感測器,建議準備以便接線。


如果計畫在 XIAO ESP32C3 上外接 LED 燈進行測試,我們建議準備

 

  • 串聯限流電阻: 當您將 LED 連接到 GPIO 引腳(如 D0, D1...)時,請確保串聯一個電阻(建議阻值約 150Ω)。

     

因為ESP32-C3 的引腳會輸出 3.3V 電壓,若不透過電阻限制流過 LED 的電流,過大的電流將會導致 LED 燒毀,甚至可能損換開發板的引腳。

 


 

Seeed Studio XIAO ESP32C3 軟體開發環境準備:Arduino IDE 完整設定
 

準備好硬體後,接下來我們需要設定 Arduino IDE,讓它能夠識別並編譯 XIAO ESP32C3 的程式碼。請依照以下四個步驟進行:
 

第一步:安裝與啟動 Arduino IDE


前往 Arduino 官方下載頁面 取得對應您作業系統(Windows / macOS / Linux)的最新版本。安裝完成後直接開啟軟體,若啟動時彈出「安裝驅動程式」或「套件更新」提示,請務必點擊安裝或允許以確保後續連線正常。
 

延伸閱讀:Arduino IDE 安裝與操作入門

 

第二步:新增 ESP32 開發板支援


請依照以下流程,讓 Arduino IDE 具備編譯 ESP32 系列晶片的能力

 

一、設定網址:

 

由於 Arduino IDE 預設僅支援官方開發板(如 Uno, Nano),我們需要手動將 ESP32 官方的軟體索引網址貼入。這就像是給 IDE 一張「地圖」,告訴它去哪裡下載 ESP32-C3 所需的編譯工具、驅動程式與函式庫。

 

操作方式:

  1. 開啟 檔案 (File) > 偏好設定 (Preferences)。
  2. 在 「額外的開發板管理員網址」 欄位中,貼入以下官方連結

    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

  3. 點擊「確定」儲存。
     

二、安裝開發板包

 

有了「地圖」後,我們必須執行實際的「下載與安裝」動作。這個步驟會將 ESP32 系列(包含 C3, S3, 等)的開發套件正式整合進你的 Arduino IDE 環境中,讓你稍後能在選單中找到 XIAO ESP32C3。


操作方式:

  1. 點選左側工具列的 開發板管理員 (Boards Manager) 圖示(或是按快速鍵 Ctrl + Shift + B)。
  2. 在搜尋欄位中輸入 「esp32」
  3. 找到由 Espressif Systems 出品的套件,點擊 「安裝 (Install)」。
  4. 等待下方進度條跑完,顯示為「INSTALLED」即完成安裝。
     

 

小提醒:第二步安裝過程可能需要幾分鐘,時間快慢取決於網路速度,請務必等到進度條完全消失再進行下一步。

 

第三步:選取開發板與設定參數

完成開發板包安裝後,最後一步是讓 Arduino IDE 正確指向你的 XIAO ESP32C3,並調整必要的通訊設定,確保程式能順利燒錄並執行。

一、選取開發板型號

告訴 IDE 我們目前使用的硬體是 XIAO 系列的 ESP32-C3。這會載入專屬的引腳定義(Pin Mapping),確保程式中的 D0、D1 等腳位標註能精確對應到板子上的實體位置。

 

操作方式:

 

  1. 點擊上方工具列選單的 工具 (Tools) > 開發板 (Board)。
  2. 找到 esp32 類別。
  3. 在長長的清單中向下捲動,找到並選取 「XIAO_ESP32C3」。

     

二、設定關鍵參數

由於 XIAO ESP32C3 使用了晶片內建的 USB 偵錯單元,我們必須在選單中開啟特定選項。若未正確設定(尤其是 USB CDC On Boot),可能會導致程式燒錄後,電腦無法在序列埠監控視窗(Serial Monitor)中看到輸出訊息。


操作方式: 

請在 工具 (Tools) 選單中,核對並修改以下三項參數:
 

設定項目建議數值實戰開發說明
USB CDC On BootEnabled非常重要: 開啟後,USB 接口才會模擬成序列埠供偵錯使用。
Flash ModeQIO確保晶片讀取內部 Flash 的速度處於最佳效能狀態。
Flash Size4MB根據硬體規格設定,確保編譯器正確分配記憶體空間。

 


三、選擇連接埠 (Port)

 

讓電腦識別出目前開發板接在哪一個 USB 插槽,建立溝通橋樑。

 

操作方式:

  1. 將 XIAO ESP32C3 透過 Type-C 線連接至電腦。

  2. 點擊 工具 (Tools) > 連接埠 (Port)。

  3. 選擇顯示為 「XIAO ESP32C3」、「ESP32C3 Dev Module」 或 「USB JTAG/serial debug unit」 的 COM 埠。

 

(註:若沒看到對應的 Port,請檢查 USB 線是否具備資料傳輸功能,或嘗試重新插拔。)


到這一步為止,你已經完成了最枯燥但也最重要的「基礎建設」。現在你的 Arduino IDE 已經完全具備了與 XIAO ESP32C3 溝通的能力,所有的腳位定義、編譯路徑與燒錄參數都已精確就緒。接下來,我們將透過基礎的 Blink 程式 來進行最後的「功能驗證」,確保你的硬體與軟體環境都能正常使用。

 

Seeed Studio XIAO ESP32C3 開機測試:Blink 功能驗證

 

在正式開始開發專案前,我們通常會執行「Blink」測試。作為開發版的「開機檢查」,用來確認:

  • 硬體完好: 開發板與 LED 燈能正常工作。
  • 連線正常: USB 傳輸線具備資料傳輸能力且驅動程式運作中。
  • 環境正確: Arduino IDE 的編譯與燒錄參數設定無誤。

 

可以參考以下步驟來操作

 

一、驗證用程式碼 (Test Code)


請將以下代碼複製並貼上到你的 Arduino IDE 中。我們將使用板子正面的 User LED (腳位標註為 D10) 進行測試。

 

// XIAO ESP32C3 的內建 LED 位在 D10 (GPIO 8)
const int ledPin = D10;
void setup() {
  // 初始化引腳為輸出模式
  pinMode(ledPin, OUTPUT);
}
void loop() {
  digitalWrite(ledPin, HIGH); // 點亮 LED
  delay(1000);                  // 等待 1 秒
  digitalWrite(ledPin, LOW);  // 熄滅 LED
  delay(1000);                  // 等待 1 秒
}

 

 


二、驗證步驟

 

  1. 上傳程式: 點擊 IDE 左上角的 「→ (上傳)」 按鈕。
  2. 觀察進度: 查看下方輸出視窗,直到顯示 Done uploading Hard resetting via RTS pin...。
  3. 確認結果: 觀察板子正面左側的黃色 LED,是否開始以「亮一秒、暗一秒」的頻率閃爍。


三、測試判定

 

  • 驗證成功: LED 正常閃爍,代表你的開發環境已經 100% 準備就緒,可以開始進行更進階的專案。
  • 驗證失敗: * 若上傳失敗,請檢查 工具 (Tools) > 連接埠 (Port) 是否選對。若顯示 Failed to connect,請嘗試按住 Boot 鍵後點擊 Reset 鍵,手動讓板子進入下載模式後再試一次。 

 

 

Seeed Studio XIAO ESP32C3 進階功能驗證:Wi-Fi 掃描測試
 


透過Blink的燈號閃爍驗證完後,我們接著可以來測試XIAO ESP32C3 最核心的無線通訊功能。透過這個測試,我們可以確認板子的 Wi-Fi 模組是否能正常感測周圍的訊號。

 

一、驗證用程式碼 (Wi-Fi Scan)


請將以下代碼複製並貼上到你的 Arduino IDE 中。這段程式碼會讓開發板搜尋附近的 Wi-Fi 訊號,並將結果回傳至電腦。
 

#include "WiFi.h"
void setup() {
    Serial.begin(115200);
    // 設定 Wi-Fi 為站點模式 (Station Mode) 並中斷目前的連線
    WiFi.mode(WIFI_STA);
    WiFi.disconnect();
    delay(100);
    Serial.println("Setup done. Starting Wi-Fi Scan...");
}
void loop() {
    Serial.println("Scanning for networks...");
    // 掃描附近的網路並回傳數量
    int n = WiFi.scanNetworks();
    Serial.println("Scan finished!");
    if (n == 0) {
        Serial.println("No networks found.");
    } else {
        Serial.print(n);
        Serial.println(" networks found:");
        for (int i = 0; i < n; ++i) {
            // 列出每個網路的 SSID、訊號強度 (RSSI) 與加密類型
            Serial.print(i + 1);
            Serial.print(": ");
            Serial.print(WiFi.SSID(i));
            Serial.print(" (");
            Serial.print(WiFi.RSSI(i));
            Serial.print(")");
            Serial.println((WiFi.encryptionType(i) == WIFI_AUTH_OPEN)?" ":"*");
            delay(10);
        }
    }
    Serial.println("");
    // 每隔 5 秒重新掃描一次
    delay(5000);
}

 

二、驗證步驟

 

  1. 上傳程式: 點擊 「→ (上傳)」。
  2. 開啟序列埠監控視窗: 點擊 IDE 右上角的放大鏡圖示(Serial Monitor)。
  3. 設定鮑率 (Baud Rate): 務必將視窗右下角的鮑率設定為 115200 baud。
  4. 觀察輸出: 視窗中應會列出目前環境中掃描到的所有 Wi-Fi 名稱 (SSID) 與訊號強度。

 

三、測試判定

 

 

  • 驗證成功: 成功列出周圍的 Wi-Fi 資訊,代表無線功能正常。
  • 驗證失敗:
    • 顯示 No networks found: 請檢查 U.FL 外部天線 是否已正確扣上。
    • 視窗出現亂碼: 請檢查鮑率是否設定為 115200。

       

小提醒:對於 XIAO ESP32C3 來說,有沒有接上那根小天線,掃描出來的結果(訊號強度 RSSI)會差非常多。這也是一個很好的機會,讓使用者親自體驗天線對於這塊微型開發板的重要性。


Seeed Studio XIAO ESP32C3 常見問題與除錯指南 (FAQ)

 

Q:電腦找不到 XIAO ESP32C3 的序列埠 (COM Port) 怎麼辦?

 

如果你在 Arduino IDE 的 工具 > 連接埠 選單中,沒有看到標註為 XIAO ESP32C3USB JTAG/serial debug unit 的選項,請依序進行以下排除:

 

1. 物理連線檢查(通用解法)

 

  • 確認線材: 請務必使用具備 「資料傳輸」 功能的 Type-C 線。許多手機充電線只有供電線路,沒有數據線路,這會導致電腦完全感應不到裝置。
  • 更換插槽: 嘗試直接插在電腦主機板上的 USB 孔,避免使用供電不穩的 USB Hub(集線器)。

     

2. 晶片特性確認(ESP32C3 專屬細節)

 

  • 內建 USB CDC: 不同於傳統開發板使用外掛的轉接晶片(如 CH340 或 CP2102),ESP32-C3 是透過晶片內建的 USB 功能直接通訊。
  • 檢查裝置管理員: 打開電腦的「裝置管理員」,查看「連接埠 (COM 和 LPT)」分頁。當你拔掉再插上 XIAO 時,清單中應該要有一個項目會消失再出現。如果出現的是「不明裝置」,代表需要檢查作業系統更新。

     

3. 強制喚醒:進入 Bootloader 模式(最終大招)

 

如果你的開發板因為上次燒錄的程式出錯(例如死鎖或關閉了 USB 功能),導致電腦完全偵測不到它,請強制開啟序列埠:

  1. 按住板子上的 BOOT 按鈕
  2. 點擊一下 RESET 按鈕
  3. 放開 BOOT 按鈕
  • 結果: 此時 ESP32-C3 會強行啟動內建的燒錄引導程式,電腦應該會立刻偵測到一個名為 ESP32C3 Dev Module 或類似名稱的序列埠。

     

Q:XIAO ESP32C3 程式燒錄失敗怎麼辦?如何手動進入 Bootloader 模式 (Download Mode)

 

當你在 Arduino IDE 點擊上傳,但控制台顯示 Failed to connect to ESP32-C3 時,通常是因為 XIAO ESP32C3 內部的程式邏輯(如無窮迴圈)佔用了資源,或上次燒錄時關閉了 USB 偵錯功能,導致 Arduino IDE 無法自動建立連線。此時,你需要透過硬體按鈕,手動強制讓 XIAO ESP32C3 進入 Bootloader 模式 (下載模式):

 

一、操作方式(可以擇一操作):

 

方式 A (按鈕操作): 在開發板已連接電腦的狀態下,先按住 BOOT 按鈕 (B),點擊一下 RESET 按鈕 (R),最後放開 BOOT 按鈕

方式 B (連線操作): 先中斷 USB 連線,按住 BOOT 按鈕 不放並同時插上 USB 線,連線成功後再放開按鈕。

 

二、結果判定: 

 

此時你的電腦會重新偵測到 XIAO ESP32C3 的序列埠(在裝置管理員中名稱可能會變更為 ESP32C3 Dev ModuleUSB JTAG/serial debug unit)。這代表 XIAO ESP32C3 已處於等待接收程式的狀態,現在再次點擊 Arduino IDE 的「上傳」按鈕即可順利完成燒錄。

 

 

Arduino IDE 編譯報錯的常見原因

 

如果在點擊「驗證」或「上傳」後,Arduino IDE 下方出現紅字錯誤訊息,請根據下表進行排查:

 

錯誤訊息關鍵字可能原因解決方法
No such file or directoryArduino IDE 找不到必要的函式庫。請確認程式碼中 #include 的函式庫已透過「程式庫管理員」安裝。
Board xiao_esp32c3 not foundArduino IDE 的開發板路徑配置出錯。重新檢查「偏好設定」中的 JSON 網址,並確認 ESP32 開發板包已正確安裝。
esp32-hal-uart.h: No such fileArduino IDE 載入的開發板套件版本存在衝突。建議將 ESP32 套件版本降階至 v2.0.14 穩定版後再試。



總結與下一步開發建議:準備好將點子化為現實了嗎?

 

到這一步,我們已經成功跨越了硬體設定與 Arduino IDE 燒錄的初學門檻,並順利將這顆「拇指小鋼砲」接入你的專屬開發環境。無論是著手打造低功耗的居家感測節點,還是開發極致微型的穿戴式設備,XIAO ESP32C3 都能為你的物聯網專案提供極高 CP 值且穩定的硬體支援。

 

🛒 立即入手,開啟你的物聯網專案 

如果沒有實體的ESP32 C3開發板,或是需要擴充更多感測器配件嗎?瑪可希維 (MC-CVI)  是 Seeed Studio 官方授權經銷商,我們將你確保原廠正品,讓你的開發過程無後顧之憂。

歡迎前往👉 立刻選購  Seeed Studio XIAO ESP32C3 

 

 

下篇預告:想挑戰 Wi-Fi 6 與 Matter 智慧家庭標準? 

如果你未來的專案需要對接 Apple HomeKit、使用 Zigbee/Thread 協定,或是想在擁擠的網路環境中體驗 Wi-Fi 6 的強大效能,請務必關注我們的下一篇進階實戰教學:【實戰指南】Seeed Studio XIAO ESP32C6 入門教學]