{{ 'fb_in_app_browser_popup.desc' | translate }} {{ 'fb_in_app_browser_popup.copy_link' | translate }}
{{ 'in_app_browser_popup.desc' | translate }}
🎉慶開幕🎉期間限定註冊會員即享199元免運、會員首次下單加碼享99元免運卷!
歡迎光臨瑪可希維,本站商品皆為台灣現貨、含稅可打統編
在微控制器的開發旅程中,當你的專案完成了基礎的功能驗證後,往往會面臨下一個挑戰:如何將龐大的開發板與雜亂的線路,縮小並整合進實際的應用場景中?
如果你希望專案能更具備實用性,例如:「打造一個能輕鬆塞進外殼的智慧穿戴裝置」;或者是「開發一個自帶電池、且能隨時連上 Wi-Fi 傳輸數據的環境感測節點」,你就必須尋找一款體積更小、整合度更高的運算核心。
本篇,我們詳細將為你介紹 Seeed Studio XIAO ESP32C3。這是一塊僅有拇指大小(21 x 17.5 mm),卻同時具備 Wi-Fi 與藍牙雙模通訊、甚至原生內建鋰電池充電管理晶片的「物聯網小鋼砲」。
無論你是想將現有專案微型化,還是初次挑戰物聯網開發、,本篇都將為你提供一份從「硬體規格解析」一路走到「軟體環境建置」的完整實戰指南。
而Seeed Studio XIAO 系列完美支援大家熟悉的 Arduino IDE 開發環境。這代表如果你是從傳統 Arduino 轉換過來的開發者,將完全沒有重新學習軟體的陣痛期,反而是讓你的開發清單中,直接多出「ESP32C3」這個強大的新選擇!
本篇內容將介紹:
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)
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 Studio XIAO ESP32C3 能在市場上脫穎而出的最大優勢,就是完美做到了「效能不減、空間極致壓縮」。畢竟,要把麵包板上一堆雜亂的跳線與模組,真正變成可以拿在手上甚至穿戴的成品時,開發板本身的「體積與供電」通常是專案面臨的最大挑戰。
XIAO ESP32C3 因為搭載了高效能的 RISC-V 32 位元單核處理器,能將所有強大功能濃縮在僅有約一枚硬幣大小 (21 x 17.5 mm)的微型封裝內。如果你曾經覺得傳統 Arduino 開發板在微型專案中顯得有點「太大、笨重」,那麼XIAO ESP32C3絕對會讓你眼睛一亮。
而且邊緣採用的「郵票孔 (Stamp Hole)」設計,這成為了原型與量產的完美橋樑。不僅方便創客直接焊上排針,插在麵包板上進行原型驗證 (POC);更讓企業研發團隊能將其作為標準微型模組,直接表面貼焊 (SMD) 在自定義的 PCB 上,大幅降低了從實驗室走向工廠量產的技術門檻。
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 在微型開發板中擁有極強的電源彈性:
相較於傳統開發板,XIAO ESP32C3 的引腳利用率極高:
雖然 XIAO ESP32C3 的體積極小,但它的 I/O(輸入/輸出)資源卻非常豐富。此外,它在正面巧妙地配置了兩個微型實體按鈕——Bootloader 模式按鈕 (B) 與 Reset 重設按鈕 (R),這讓開發者在遇到程式當機或需要手動強制燒錄時,能輕鬆進行硬體除錯。
XIAO ESP32C3 正面

圖片來源:Seeed Studio Wiki
XIAO ESP32C3 的正面配置除了核心的 ESP32-C3 晶片與 Type-C 接口外,還整合了多個關鍵的實體操作按鈕與射頻介面。精確掌握這些元件的功能與對應關係,將能協助你在後續的專案開發與故障除錯(Debug)過程中事半功倍:
小提醒: U.FL 天線座安裝防呆設置
XIAO ESP32C3 採用微型的 U.FL 天線座以節省空間。由於該接頭極為脆弱,若安裝施力不當,容易導致底座脫落或變形,請依照以下標準步驟進行安裝:
- 精準對位: 將天線端接頭的中心孔,完全對齊開發板上的 U.FL 底座中心。
- 垂直下壓: 確認對齊後,使用指腹從正上方「垂直」向下壓。請勿使用金屬尖銳物、指甲硬戳,或在未對準時傾斜硬壓。
- 確認卡扣: 當你感覺到輕微的「喀」一聲,即代表安裝到位。為延長接頭壽命,安裝後請盡量避免頻繁插拔。
XIAO ESP32C3 背面

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

這是新手最容易發生的「硬體致命錯誤」。XIAO 系列為了極致壓縮體積,電路板上並未設計防反接保護電路:
毀損風險: 一旦電池正負極接反並通電,ESP32-C3 核心晶片將會瞬間燒毀且無法修復。
若你計畫搭配官方擴充板進行開發,請留意以下硬體底層的物理限制:
進階延伸閱讀: 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 就是你的最後救星。
這塊開發板總共擁有 11 路數位 I/O(全部皆可用作 PWM 輸出) 以及 4 路類比 I/O(可用作 ADC 輸入)。在通訊介面部分,它完整支援了 UART、I2C 和 SPI 等常見的硬體串列通訊協定,讓你無論是要接上上一篇教學提到的電位器、或是各種複雜的感測器與顯示螢幕,都能輕鬆應對。為了方便大家對照,我們將官方的引腳功能整理成以下的繁體中文對照表:
XIAO ESP32C3 官方 Pinout 腳位圖

在後續使用 Arduino IDE 撰寫程式時,官方的開發板套件允許兩種引腳宣告方式。 例如,當你想控制板子上的 D0 腳位時:
你可以直觀地寫:pinMode(D0, OUTPUT);
也可以直接使用晶片底層的 GPIO 編號寫:pinMode(2, OUTPUT);
這兩種寫法在程式編譯時是完全一樣的,你可以根據自己的開發習慣自由選擇。
進階延伸閱讀: 解密 ESP32-C3 的「啟動模式」密碼
為什麼按住 Boot 鍵就能燒錄?為什麼有時候接了感測器,程式就不動了?答案全在 Strapping Pins (啟動配置引腳) 裡。
ESP32-C3 晶片在通電或重置(Reset)的瞬間,會像照相機一樣「偵測」特定腳位的高低電位,來決定要進入哪種工作模式。
1. 啟動模式判定表 (Strapping Logic)
根據官方文件(如上圖),最重要的兩個模式如下:
啟動模式 GPIO 8 GPIO 9 (D9 腳位) 說明 SPI Boot 無所謂 1 (高電位) 一般模式: 正常啟動並執行你寫好的程式。 Download Boot 1 (高電位) 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 在啟動時是低電位,晶片會保持沉默,不輸出啟動資訊。這在進行極致低功耗開發或特殊偵錯時才會用到。
在進行 Arduino IDE 軟體設定之前,請確認你已經準備好以下硬體:
小提醒: 請確保你的 Type-C 線具備資料傳輸功能 (Data Cable)。市面上許多僅供充電用的線材無法讓電腦偵測到開發板,這是新手最常遇到的連線錯誤。
如果計畫在 XIAO ESP32C3 上外接 LED 燈進行測試,我們建議準備
串聯限流電阻: 當您將 LED 連接到 GPIO 引腳(如 D0, D1...)時,請確保串聯一個電阻(建議阻值約 150Ω)。
因為ESP32-C3 的引腳會輸出 3.3V 電壓,若不透過電阻限制流過 LED 的電流,過大的電流將會導致 LED 燒毀,甚至可能損換開發板的引腳。

準備好硬體後,接下來我們需要設定 Arduino IDE,讓它能夠識別並編譯 XIAO ESP32C3 的程式碼。請依照以下四個步驟進行:
前往 Arduino 官方下載頁面 取得對應您作業系統(Windows / macOS / Linux)的最新版本。安裝完成後直接開啟軟體,若啟動時彈出「安裝驅動程式」或「套件更新」提示,請務必點擊安裝或允許以確保後續連線正常。
延伸閱讀:Arduino IDE 安裝與操作入門
請依照以下流程,讓 Arduino IDE 具備編譯 ESP32 系列晶片的能力
由於 Arduino IDE 預設僅支援官方開發板(如 Uno, Nano),我們需要手動將 ESP32 官方的軟體索引網址貼入。這就像是給 IDE 一張「地圖」,告訴它去哪裡下載 ESP32-C3 所需的編譯工具、驅動程式與函式庫。
操作方式:
在 「額外的開發板管理員網址」 欄位中,貼入以下官方連結
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
有了「地圖」後,我們必須執行實際的「下載與安裝」動作。這個步驟會將 ESP32 系列(包含 C3, S3, 等)的開發套件正式整合進你的 Arduino IDE 環境中,讓你稍後能在選單中找到 XIAO ESP32C3。
操作方式:
小提醒:第二步安裝過程可能需要幾分鐘,時間快慢取決於網路速度,請務必等到進度條完全消失再進行下一步。
完成開發板包安裝後,最後一步是讓 Arduino IDE 正確指向你的 XIAO ESP32C3,並調整必要的通訊設定,確保程式能順利燒錄並執行。
告訴 IDE 我們目前使用的硬體是 XIAO 系列的 ESP32-C3。這會載入專屬的引腳定義(Pin Mapping),確保程式中的 D0、D1 等腳位標註能精確對應到板子上的實體位置。
操作方式:
在長長的清單中向下捲動,找到並選取 「XIAO_ESP32C3」。
由於 XIAO ESP32C3 使用了晶片內建的 USB 偵錯單元,我們必須在選單中開啟特定選項。若未正確設定(尤其是 USB CDC On Boot),可能會導致程式燒錄後,電腦無法在序列埠監控視窗(Serial Monitor)中看到輸出訊息。
操作方式:
請在 工具 (Tools) 選單中,核對並修改以下三項參數:
| 設定項目 | 建議數值 | 實戰開發說明 |
|---|---|---|
| USB CDC On Boot | Enabled | 非常重要: 開啟後,USB 接口才會模擬成序列埠供偵錯使用。 |
| Flash Mode | QIO | 確保晶片讀取內部 Flash 的速度處於最佳效能狀態。 |
| Flash Size | 4MB | 根據硬體規格設定,確保編譯器正確分配記憶體空間。 |
讓電腦識別出目前開發板接在哪一個 USB 插槽,建立溝通橋樑。
操作方式:
將 XIAO ESP32C3 透過 Type-C 線連接至電腦。
點擊 工具 (Tools) > 連接埠 (Port)。
選擇顯示為 「XIAO ESP32C3」、「ESP32C3 Dev Module」 或 「USB JTAG/serial debug unit」 的 COM 埠。
(註:若沒看到對應的 Port,請檢查 USB 線是否具備資料傳輸功能,或嘗試重新插拔。)
到這一步為止,你已經完成了最枯燥但也最重要的「基礎建設」。現在你的 Arduino IDE 已經完全具備了與 XIAO ESP32C3 溝通的能力,所有的腳位定義、編譯路徑與燒錄參數都已精確就緒。接下來,我們將透過基礎的 Blink 程式 來進行最後的「功能驗證」,確保你的硬體與軟體環境都能正常使用。
在正式開始開發專案前,我們通常會執行「Blink」測試。作為開發版的「開機檢查」,用來確認:
可以參考以下步驟來操作
請將以下代碼複製並貼上到你的 Arduino IDE 中。我們將使用板子正面的 User LED (腳位標註為 D10) 進行測試。
// XIAO ESP32C3 的內建 LED 位在 D10 (GPIO 8)constintledPin=D10;voidsetup() {// 初始化引腳為輸出模式pinMode(ledPin,OUTPUT); }voidloop() {digitalWrite(ledPin,HIGH);// 點亮 LEDdelay(1000);// 等待 1 秒digitalWrite(ledPin,LOW);// 熄滅 LEDdelay(1000);// 等待 1 秒}
透過Blink的燈號閃爍驗證完後,我們接著可以來測試XIAO ESP32C3 最核心的無線通訊功能。透過這個測試,我們可以確認板子的 Wi-Fi 模組是否能正常感測周圍的訊號。
請將以下代碼複製並貼上到你的 Arduino IDE 中。這段程式碼會讓開發板搜尋附近的 Wi-Fi 訊號,並將結果回傳至電腦。
#include"WiFi.h"voidsetup() {Serial.begin(115200);// 設定 Wi-Fi 為站點模式 (Station Mode) 並中斷目前的連線WiFi.mode(WIFI_STA);WiFi.disconnect();delay(100);Serial.println("Setup done. Starting Wi-Fi Scan..."); }voidloop() {Serial.println("Scanning for networks...");// 掃描附近的網路並回傳數量intn=WiFi.scanNetworks();Serial.println("Scan finished!");if(n==0) {Serial.println("No networks found."); }else{Serial.(n);Serial.println(" networks found:");for(inti=0;i<n; ++i) {// 列出每個網路的 SSID、訊號強度 (RSSI) 與加密類型Serial.(i+1);Serial.(": ");Serial.(WiFi.SSID(i));Serial.(" (");Serial.(WiFi.RSSI(i));Serial.(")");Serial.println((WiFi.encryptionType(i) ==WIFI_AUTH_OPEN)?" ":"*");delay(10); } }Serial.println("");// 每隔 5 秒重新掃描一次delay(5000); }
視窗出現亂碼: 請檢查鮑率是否設定為 115200。
小提醒:對於 XIAO ESP32C3 來說,有沒有接上那根小天線,掃描出來的結果(訊號強度 RSSI)會差非常多。這也是一個很好的機會,讓使用者親自體驗天線對於這塊微型開發板的重要性。
如果你在 Arduino IDE 的 工具 > 連接埠 選單中,沒有看到標註為 XIAO ESP32C3 或 USB JTAG/serial debug unit 的選項,請依序進行以下排除:
更換插槽: 嘗試直接插在電腦主機板上的 USB 孔,避免使用供電不穩的 USB Hub(集線器)。
檢查裝置管理員: 打開電腦的「裝置管理員」,查看「連接埠 (COM 和 LPT)」分頁。當你拔掉再插上 XIAO 時,清單中應該要有一個項目會消失再出現。如果出現的是「不明裝置」,代表需要檢查作業系統更新。
如果你的開發板因為上次燒錄的程式出錯(例如死鎖或關閉了 USB 功能),導致電腦完全偵測不到它,請強制開啟序列埠:
結果: 此時 ESP32-C3 會強行啟動內建的燒錄引導程式,電腦應該會立刻偵測到一個名為 ESP32C3 Dev Module 或類似名稱的序列埠。
當你在 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 Module 或 USB JTAG/serial debug unit)。這代表 XIAO ESP32C3 已處於等待接收程式的狀態,現在再次點擊 Arduino IDE 的「上傳」按鈕即可順利完成燒錄。
如果在點擊「驗證」或「上傳」後,Arduino IDE 下方出現紅字錯誤訊息,請根據下表進行排查:
| 錯誤訊息關鍵字 | 可能原因 | 解決方法 |
|---|---|---|
| No such file or directory | Arduino IDE 找不到必要的函式庫。 | 請確認程式碼中 #include 的函式庫已透過「程式庫管理員」安裝。 |
| Board xiao_esp32c3 not found | Arduino IDE 的開發板路徑配置出錯。 | 重新檢查「偏好設定」中的 JSON 網址,並確認 ESP32 開發板包已正確安裝。 |
| esp32-hal-uart.h: No such file | Arduino 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 入門教學]