如果你已經學過 Arduino UNO,下一步想進入 Wi-Fi、Bluetooth、IoT 物聯網、智慧家庭、手機控制、Web Server、MQTT、感測器雲端監控,那麼 ESP32 是非常適合的進階平台。
ESP32 不只是一塊「速度更快的 Arduino」。它本身就是一個整合無線通訊、GPIO、ADC、PWM、UART、SPI、I²C 等周邊功能的微控制器平台。Espressif 將 ESP32 定位為整合 Wi-Fi 與 Bluetooth 的 SoC,可廣泛應用於 IoT 裝置。
對曾經使用 Arduino UNO 的學習者來說,ESP32 最大的優點是:
- 可以繼續使用熟悉的 Arduino IDE 與 C/C++ 程式架構。
- 內建 Wi-Fi。
- 內建 Bluetooth。
- CPU 效能與記憶體遠高於 Arduino UNO R3。
- GPIO 與硬體周邊功能更多。
- 適合建立 Web Server、MQTT、IoT、智慧家庭與無線感測器。
- 可以直接連接網路,不需要再另外購買 Wi-Fi Shield。
本章將從最基本的觀念開始,完整說明:
- ESP32 是什麼?
- ESP32、ESP32-WROOM-32 與 ESP32 開發板有什麼差別?
- ESP32-WROOM-32 的主要規格。
- ESP32 開發板有哪些重要元件?
- ESP32 和 Arduino UNO R3 有什麼不同?
- ESP32 適合做哪些專題?
- ESP32 使用時有哪些電壓與 GPIO 注意事項?
- 如何使用 Arduino IDE 開發 ESP32?
- 第一支 ESP32 LED 閃爍程式。
- ESP32 初學者接下來應該怎麼學?
一、什麼是 ESP32?
ESP32 是 Espressif Systems(樂鑫科技)推出的微控制器 SoC 系列。
所謂 SoC(System on Chip),可以簡單理解成:
把 CPU、記憶體控制、無線通訊以及許多周邊控制功能整合到同一顆晶片中。
經典 ESP32 系列整合 2.4 GHz Wi-Fi 與 Bluetooth/Bluetooth Low Energy,非常適合無線連網與 IoT 應用。
因此,如果使用 Arduino UNO 製作:
- 溫度感測器
- LCD 顯示器
- 繼電器控制器
通常只能在本機操作。
換成 ESP32 之後,就可以進一步加入:
感測器 → ESP32 → Wi-Fi → Router → Internet → Web / MQTT / Cloud
例如:
DHT22 → ESP32 → Wi-Fi → MQTT Server → 手機
或者:
手機瀏覽器 → Wi-Fi → ESP32 Web Server → Relay → 電燈
這就是 ESP32 在 IoT 教學中非常重要的原因。
二、ESP32、ESP32-WROOM-32、ESP32 開發板到底有什麼不同?
初學 ESP32 最容易混淆的,就是這三個名稱:
- ESP32
- ESP32-WROOM-32
- ESP32 Development Board
它們並不是完全相同的東西。
2.1 ESP32:核心晶片/晶片系列
ESP32 最核心的部分是 Espressif 設計的微控制器 SoC。
經典 ESP32 晶片具有 CPU、Wi-Fi、Bluetooth、GPIO、ADC、DAC、UART、SPI、I²C 等功能。
但如果只有 ESP32 晶片本體,對一般 Maker 或初學者來說並不好使用。
因為還必須自己處理:
- Flash Memory
- Clock
- 天線
- RF 電路
- 電源
- PCB Layout
- Boot 電路
- USB 下載電路
所以一般初學者通常不會直接拿 ESP32 裸晶片開始實驗。
三、什麼是 ESP32-WROOM-32?
ESP32-WROOM-32 是非常經典的 ESP32 無線模組。
它不是完整的 USB 開發板,而是一個可以焊接在產品 PCB 上的模組。
ESP32-WROOM-32 模組整合 ESP32 SoC、4 MB SPI Flash 與 PCB 天線。
因此可以把它簡化理解成:
ESP32 晶片
│
├── Flash Memory
├── RF 電路
├── PCB 天線
└── 周邊元件
↓
ESP32-WROOM-32 模組
ESP32-WROOM-32 尺寸約為:
18 mm × 25.5 mm × 3.1 mm
官方產品資料顯示經典 ESP32-WROOM-32 採用 PCB Antenna 並配置 4 MB Flash。
3.1 2026 年學習 ESP32-WROOM-32 要注意什麼?
這一點很重要。
Espressif 目前已將原始 ESP32-WROOM-32 標示為:
NRND — Not Recommended For New Designs
也就是:
不建議再將它作為新的商業硬體設計首選。
NRND 並不代表它突然不能使用,也不等於立即停產。Espressif 對 NRND 的官方定義是:產品仍可能持續生產與支援,但由於已有更新產品,因此不建議拿來開始新的硬體設計。
但是對 Arduino/ESP32 教學、Maker 實驗與既有模組使用 而言,ESP32-WROOM-32 仍然具有非常高的學習價值。
原因是:
- 市面上數量非常多。
- 網路教材很多。
- Library 支援成熟。
- Arduino IDE 支援完整。
- 各種感測器範例非常容易找到。
- GPIO、Wi-Fi、Bluetooth、I²C、SPI、UART 等基本觀念可以延伸到其他 ESP32 系列。
因此,本套 ESP32 入門教材仍可用經典 ESP32-WROOM-32 類開發板作為學習平台;若未來要自己設計新的商品 PCB,再依 Espressif 最新產品線重新選擇 ESP32-C、ESP32-S 等較新的系列。
四、什麼是 ESP32 開發板?
如果把 ESP32-WROOM-32 直接拿到手上,你會發現它沒有一般 Arduino UNO 那麼方便。
因此廠商會再把 ESP32 模組裝到一塊開發 PCB 上,加入:
- USB 接頭
- USB-to-UART
- 3.3V 穩壓電路
- EN / Reset
- BOOT 按鈕
- GPIO Pin Header
- 電源指示
- 自動下載電路
這就形成我們通常購買到的:
ESP32 Development Board
例如官方 ESP32-DevKitC 就在開發板上整合 USB-to-UART Bridge、Boot Button、Reset/EN、LDO 電源穩壓以及 ESP32 模組,並將主要 GPIO 引腳引出,方便實驗與麵包板開發。
所以三者關係可以整理成:
ESP32 SoC
↓
ESP32-WROOM-32 Module
↓
ESP32 Development Board
也就是:
核心晶片
↓
無線模組
↓
方便學習與開發的完整電路板
五、ESP32-WROOM-32 主要規格
經典 ESP32-WROOM-32 是 ESP32 教學中最常遇到的模組之一。
其主要能力可整理如下。
| 項目 | ESP32-WROOM-32 |
|---|---|
| CPU 架構 | 32-bit Xtensa LX6 |
| CPU | 最高可達 240 MHz |
| Wi-Fi | 2.4 GHz 802.11 b/g/n |
| Bluetooth | Bluetooth + BLE |
| Flash | 常見模組為 4 MB |
| GPIO | 多組可程式化 GPIO |
| ADC | 支援 |
| DAC | 支援 |
| PWM | 支援 |
| UART | 支援 |
| I²C | 支援 |
| SPI | 支援 |
| I²S | 支援 |
| Capacitive Touch | 支援 |
| 工作邏輯電壓 | 3.3 V |
ESP32 系列官方資料顯示經典 ESP32 具備雙核心 Xtensa LX6 架構、最高 240 MHz CPU,以及 Wi-Fi、Bluetooth、ADC、DAC、Touch Sensor、UART、SPI、I²C、I²S 等硬體周邊。實際可用 GPIO 數量與功能則必須依模組及開發板 Pinout 判斷。
這裡非常重要:
不要看到 ESP32 有很多腳位,就假設每一個腳位都能任意作為普通 Digital I/O。
某些 GPIO:
- 可能與 Flash 有關。
- 可能屬於 Boot Strapping Pin。
- 有些只能 Input。
- 有些上電時具有特殊功能。
- 不同 ESP32 開發板實際引出的 GPIO 也可能不同。
所以日後做專題時,一定要查你手上那一塊 ESP32 開發板的 Pinout Diagram。
六、ESP32 和 Arduino UNO R3 有什麼差別?
如果已經學過 Arduino UNO R3,ESP32 可以看成非常自然的下一個階段。
Arduino UNO R3 使用 ATmega328P 微控制器,官方規格包括 14 個 Digital I/O,其中 6 個支援 PWM、6 個 Analog Input,CPU 時脈為 16 MHz。
UNO R3 的 ATmega328P 擁有 32 KB Flash 與 2 KB SRAM。
兩者可以比較如下:
| 比較項目 | Arduino UNO R3 | 經典 ESP32 |
|---|---|---|
| MCU | ATmega328P | ESP32 |
| 架構 | 8-bit AVR | 32-bit |
| CPU Clock | 16 MHz | 最高 240 MHz |
| 核心 | 單核心 | 經典型號支援雙核心 |
| SRAM | 2 KB | 大幅高於 UNO |
| Flash | 32 KB | 開發模組常見 MB 等級 |
| Wi-Fi | 無 | 有 |
| Bluetooth | 無 | 有 |
| 工作邏輯 | 5 V | 3.3 V |
| ADC | 有 | 有 |
| DAC | 無 | 有 |
| Touch Sensor | 無 | 有 |
| UART | 有 | 有,多組 |
| SPI | 有 | 有 |
| I²C | 有 | 有 |
| 適合入門 | 非常適合 | 適合有 Arduino 基礎者 |
| IoT | 需增加模組 | 非常適合 |
ESP32 在運算、記憶體與無線連線方面遠高於 UNO R3;UNO R3 的優勢則是電路單純、5V 周邊相容性高,而且非常適合學習最基本的 Digital I/O、Analog Input 與微控制器觀念。相關 UNO R3 規格可由 Arduino 官方文件確認。
七、Arduino UNO 還是 ESP32?初學者應該選哪一個?
答案不是「ESP32 比較快,所以 Arduino UNO 就沒有用了」。
兩者適合不同學習階段。
如果完全沒有微控制器經驗,Arduino UNO R3 仍非常適合學習:
LED
↓
Button
↓
PWM
↓
ADC
↓
Buzzer
↓
LCD
↓
Sensor
↓
Relay
↓
Servo
因為 UNO 架構相對簡單。
完成 Arduino 基礎後,再轉 ESP32:
GPIO
↓
ADC / PWM
↓
I2C / SPI / UART
↓
Wi-Fi
↓
Bluetooth
↓
Web Server
↓
MQTT
↓
IoT
↓
Cloud
↓
Home Automation
這會是一條非常合理的學習曲線。
八、ESP32 最大優勢之一:內建 Wi-Fi
ESP32 和 Arduino UNO 最大差別之一,就是 Wi-Fi 已經整合在晶片平台中。Espressif 官方將 ESP32 定位為具有整合 Wi-Fi 與 Bluetooth 連線能力的 SoC。
Arduino UNO 如果要上網,通常需要再增加:
- Ethernet Shield
- Wi-Fi Shield
- ESP8266
- 其他網路模組
ESP32 則可以直接做:
ESP32
│
├─ Sensor
├─ Relay
├─ LCD
└─ Wi-Fi
│
↓
Router
│
↓
Internet
因此非常適合:
- IoT 感測器
- 無線資料記錄
- 手機控制
- Web 控制器
- MQTT
- Home Assistant
- REST API
- 智慧家庭
- 遠端設備監控
九、ESP32 另一個優勢:Bluetooth
除了 Wi-Fi,經典 ESP32 平台還整合 Bluetooth 與 Bluetooth Low Energy。
這代表 ESP32 可以製作:
- Bluetooth 遙控器
- BLE Sensor
- 手機控制 LED
- 手機控制 Relay
- BLE Beacon
- 無線資料傳輸
- Bluetooth Serial 類型專案
所以 ESP32 不一定需要 Router。
例如:
Smartphone
│
Bluetooth
│
↓
ESP32
│
↓
Relay
│
↓
Light
這也是它非常適合智慧家庭與行動裝置專案的原因。
十、ESP32 可以連接哪些電子模組?
大部分 Arduino 教學常使用的模組,都可以進一步應用在 ESP32。
例如:
感測器
- DHT11
- DHT22
- DS18B20
- BMP280
- BME280
- HC-SR04
- PIR
- LDR
- MQ 系列
- Soil Moisture Sensor
- MPU6050
顯示器
- OLED SSD1306
- LCD1602 I²C
- TFT LCD
- SPI Display
- MAX7219
輸出與控制
- LED
- RGB LED
- Buzzer
- Relay
- SG90 Servo
- DC Motor
- Stepper Motor
通訊模組
- GPS
- LoRa
- RFID
- RS485
- CAN Transceiver
- UART Device
- I²C Sensor
- SPI Device
不過 ESP32 最大的硬體注意事項是:
ESP32 是 3.3V 邏輯系統。
所以不能因為某個模組可以直接接 Arduino UNO,就假設一定可以完全相同地接 ESP32。
十一、ESP32 最重要的電壓觀念:3.3V
這是 Arduino UNO 使用者轉到 ESP32 時,最容易出錯的地方。
Arduino UNO R3 本身屬於 5V 系統,而 ESP32 的 GPIO 邏輯則是 3.3V。Arduino 官方也將 UNO R3 的工作電壓列為 5V。
因此:
Arduino UNO GPIO
≈ 5V Logic
ESP32 GPIO
≈ 3.3V Logic
不要把外部 5V 訊號直接當成 ESP32 GPIO 的正常輸入訊號。
例如使用:
- HC-SR04 Echo
- 5V UART Module
- 部分 5V Sensor Output
- 5V Logic Module
都必須確認輸出電壓。
必要時使用:
Voltage Divider
或:
Logic Level Converter
十二、ESP32 開發板上的 VIN、5V 與 3V3 是什麼?
很多 ESP32 開發板通常可以看到:
VIN / 5V
3V3
GND
它們的用途並不完全相同。
VIN / 5V
通常與 USB 5V 電源系統相關。
3V3
是開發板穩壓後提供給 ESP32 與 3.3V 外部電路使用的電源。
GND
共同接地。
實際電源腳位配置仍應以你手上的開發板原理圖與 Pinout 為準,因為「ESP32 開發板」並不是單一固定硬體版本。
十三、ESP32 開發板常見的 EN 與 BOOT 按鈕
ESP32 Development Board 通常會看到兩個按鈕:
EN
BOOT
EN
EN 可以理解為 Enable / Reset。
按下之後通常會重新啟動 ESP32。
BOOT
BOOT 與韌體下載模式有關。
官方 ESP32-DevKitC 說明指出,BOOT 按鈕可用來使 ESP32 進入 Firmware Download Mode;官方開發板同時具有 EN/Reset 相關電路。
大部分帶有自動下載電路的 ESP32 開發板,在 Arduino IDE 中按 Upload 後可以自動完成燒錄。
但是某些板子如果出現:
Connecting.....
一直無法上傳,可能需要:
- 按住 BOOT。
- Arduino IDE 開始連線。
- 連線成功後放開 BOOT。
這也是 ESP32 初學者非常常遇到的問題。
十四、ESP32 可以使用 Arduino IDE 嗎?
可以。
這正是 ESP32 非常適合 Arduino 使用者的原因之一。
Espressif 官方提供 Arduino-ESP32 開發支援,可以加入 Arduino IDE 使用。官方安裝文件也建議透過支援套件將 ESP32 開發環境安裝到 Arduino IDE。
所以原本 Arduino 的:
void setup()
{
}
void loop()
{
}
在 ESP32 Arduino Core 環境中仍然可以使用。
例如:
void setup()
{
Serial.begin(115200);
}
void loop()
{
Serial.println("Hello ESP32");
delay(1000);
}
對 Arduino UNO 使用者來說,程式結構幾乎沒有學習障礙。
真正需要重新學習的是:
- ESP32 GPIO 特性
- 3.3V 電壓
- Wi-Fi
- Bluetooth
- ESP32 Library
- ADC 特性
- PWM
- 多核心與 RTOS 概念
- 網路程式設計
十五、Arduino UNO 程式可以直接放到 ESP32 嗎?
答案是:
部分可以,但不能假設 100% 相容。
例如非常基本的:
pinMode()
digitalWrite()
digitalRead()
analogRead()
delay()
millis()
Serial.begin()
其使用方式相當接近。
因此:
pinMode(2, OUTPUT);
digitalWrite(2, HIGH);
這類基本 GPIO 程式對 Arduino 使用者並不陌生。
但是涉及:
- AVR Register
- Timer
- EEPROM
- Interrupt
- PWM
- Analog Reference
- 特定 Arduino UNO Pin
- AVR 專用 Library
就不一定可以直接搬過來。
所以不能單純認為:
把 Arduino UNO 板子換成 ESP32,所有 .ino 都一定能直接編譯。
比較正確的觀念是:
Arduino Framework 相近,但是底層硬體不同。
十六、ESP32 第一個實作:LED 閃爍
學習任何微控制器,第一個程式通常都是:
Blink
也就是讓 LED:
亮
↓
等 1 秒
↓
滅
↓
等 1 秒
↓
重複
假設我們使用 GPIO 2 控制一顆外接 LED。
材料
- ESP32 Development Board × 1
- LED × 1
- 220Ω~330Ω 電阻 × 1
- Breadboard × 1
- Jumper Wire
- USB Cable
接線
ESP32 GPIO2
│
↓
220Ω
│
↓
LED
│
↓
GND
LED 長腳通常為:
Anode +
LED 短腳通常為:
Cathode -
接法:
GPIO2 → 220Ω → LED → GND
十七、ESP32 LED Blink 程式
const int LED_PIN = 2;
void setup()
{
pinMode(LED_PIN, OUTPUT);
}
void loop()
{
digitalWrite(LED_PIN, HIGH);
delay(1000);
digitalWrite(LED_PIN, LOW);
delay(1000);
}
程式非常接近 Arduino UNO。
十八、ESP32 Blink 程式解析
先定義 LED 腳位:
const int LED_PIN = 2;
表示:
LED → GPIO2
在 setup():
pinMode(LED_PIN, OUTPUT);
將 GPIO2 設定為 Output。
然後在:
loop()
中:
digitalWrite(LED_PIN, HIGH);
讓 LED 開啟。
接著:
delay(1000);
等待:
1000 ms = 1 second
然後:
digitalWrite(LED_PIN, LOW);
讓 LED 關閉。
最後再:
delay(1000);
等待一秒。
因此 LED 會持續:
ON → 1 秒
OFF → 1 秒
ON → 1 秒
OFF → 1 秒
...
如果你的 ESP32 開發板本身具有 LED,該 LED 所連接的 GPIO 會依開發板設計而不同,因此不要假設所有 ESP32 板子的 Built-in LED 都一定接 GPIO2。
十九、為什麼 ESP32 很適合 IoT?
假設 Arduino UNO 做一個溫度計:
DHT22
│
↓
Arduino UNO
│
↓
LCD1602
可以看到目前溫度。
但是 ESP32 可以做到:
DHT22
│
↓
ESP32
│
├── OLED
│
└── Wi-Fi
│
↓
Router
│
↓
MQTT
│
↓
Web / Mobile
進一步還可以做到:
Temperature > 30°C
│
↓
ESP32
│
├── Relay ON
│
├── Fan ON
│
└── MQTT Message
│
↓
Smartphone
因此 ESP32 非常適合從:
單機電子實作
跨入:
IoT 網路控制系統
二十、ESP32 可以製作哪些實用專題?
學完 ESP32 之後,可以建立很多 Arduino UNO 比較難單獨完成的專題。
例如:
1. Wi-Fi 溫溼度監測器
DHT22
↓
ESP32
↓
Wi-Fi
↓
Web Browser
2. 手機控制繼電器
Smartphone
↓
Wi-Fi
↓
ESP32
↓
Relay
↓
Lamp
3. ESP32 Web Server
直接讓 ESP32 成為小型 Web Server。
使用者只需要開啟瀏覽器:
http://ESP32-IP/
即可控制 GPIO。
4. MQTT IoT Sensor
ESP32
↓
MQTT Broker
↓
Node-RED
↓
Dashboard
5. 智慧家庭
ESP32 可以控制:
- 電燈
- 風扇
- 電磁閥
- 電動門
- 繼電器
- 感測器
- 警報器
6. Bluetooth 手機控制
不需要 Wi-Fi Router,也可以使用 Bluetooth / BLE 讓手機與 ESP32 通訊。
7. ESP32-CAM
加入攝影機後可以延伸:
- Wi-Fi Camera
- 監控系統
- 拍照
- QR Code
- Computer Vision
- AIoT
這些都是 ESP32 非常典型的延伸方向。
二十一、Arduino UNO 使用者轉 ESP32 最容易犯的 7 個錯誤
錯誤 1:把 ESP32 當 5V GPIO 使用
ESP32 是 3.3V 邏輯系統。
這是第一個一定要建立的觀念。
錯誤 2:所有 GPIO 都隨便使用
不對。
部分 GPIO 具有:
- Boot
- Flash
- Input only
- 特殊啟動功能
因此要先查 Pinout。
錯誤 3:照抄 UNO 的 Pin Number
例如 Arduino UNO:
const int LED = 13;
不代表換成 ESP32 後仍應使用 GPIO13。
ESP32 GPIO 編號必須重新規劃。
錯誤 4:Arduino Library 一定相容
某些 Library 是:
AVR Only
因此可能只能在:
UNO
Mega
Nano
等 AVR 平台使用。
選擇 Library 時要確認是否支援:
ESP32
錯誤 5:選錯 Arduino IDE Board
ESP32 有很多不同開發板。
例如:
ESP32 Dev Module
ESP32 DevKitC
ESP32-WROOM
ESP32-S3
ESP32-C3
ESP32-C6
選錯 Board 可能造成:
- 編譯錯誤
- Flash Size 不對
- PSRAM 不對
- Upload 失敗
- USB 功能異常
錯誤 6:USB Cable 只有充電功能
有些 USB Cable:
Power Only
沒有 Data Line。
結果會變成:
ESP32 有亮
但是:
Arduino IDE 看不到 COM Port
遇到這種情況,第一件事就是換一條確定可以傳輸資料的 USB Cable。
錯誤 7:忽略不同 ESP32 開發板的差異
「ESP32」不是只有一塊固定板子。
同樣叫 ESP32 Development Board,市面上就可能具有:
- 不同 USB-to-UART
- 不同 USB Connector
- 不同 Pin 數量
- 不同 Flash
- 不同 ESP32 Module
- 不同 LED GPIO
- 不同電源設計
因此購買開發板之後,最好先保存:
- 型號
- Pinout
- Schematic
- Module 型號
- USB Driver 資訊
二十二、ESP32 與 Arduino UNO 的定位
如果用一句話來區分:
Arduino UNO 適合學微控制器基本功,ESP32 適合從微控制器進一步進入 Wi-Fi、Bluetooth 與 IoT。
因此兩者並不是互相取代,而是很好的學習銜接。
推薦順序:
Arduino UNO
↓
Digital I/O
↓
Analog Input
↓
PWM
↓
I2C / SPI / UART
↓
Sensor / Relay / Motor
↓
ESP32
↓
Wi-Fi
↓
Bluetooth
↓
Web Server
↓
MQTT
↓
IoT
↓
Cloud
如果已經具備 Arduino UNO 基礎,ESP32 就是非常適合的下一階段。
二十三、ESP32-WROOM-32 適合誰?
ESP32-WROOM-32 類型開發板尤其適合:
- Arduino 使用者
- 電子電路初學者
- Maker
- 工程科學生
- IoT 初學者
- 自動控制開發者
- 智慧家庭開發者
- 無線感測器開發者
- MQTT / Node-RED 學習者
- 想建立 Web 控制器的人
如果你的目標只是:
LED + Button
Arduino UNO 已經足夠。
但是如果目標是:
Sensor
+
Wi-Fi
+
Web
+
Mobile
+
Cloud
ESP32 就非常值得學習。
二十四、本章實作成果
完成本章之後,你應該已經了解:
- ESP32 是什麼。
- ESP32 SoC 是什麼。
- ESP32-WROOM-32 是什麼。
- ESP32 Development Board 是什麼。
- 三者之間的關係。
- ESP32 與 Arduino UNO R3 的差異。
- ESP32 為什麼適合 IoT。
- ESP32 使用 3.3V 邏輯的重要性。
- ESP32 可以使用 Arduino IDE。
- Arduino 程式移植到 ESP32 時需要注意硬體差異。
- 如何建立第一個 LED Blink 實作。
- ESP32 可以進一步發展哪些 IoT 專題。
二十五、常見問題 FAQ
Q1:ESP32 可以直接用 Arduino IDE 嗎?
可以。
Espressif 官方維護 Arduino-ESP32 支援套件,因此 ESP32 可以在 Arduino IDE 中進行程式開發。
Q2:ESP32-WROOM-32 就是 ESP32 開發板嗎?
不是。
ESP32-WROOM-32 是無線模組;開發板則是在模組之外再增加 USB、USB-to-UART、穩壓、BOOT、Reset 與 GPIO 接腳等電路。官方 ESP32-DevKitC 就屬於後者。
Q3:ESP32 比 Arduino UNO 快嗎?
以經典 ESP32 與 UNO R3 相比,答案是明顯較高。
UNO R3 採用 16 MHz ATmega328P,而經典 ESP32 CPU 最高可達 240 MHz,且架構、核心數與記憶體資源也不同。
但「速度比較快」不代表所有專題都一定需要 ESP32。
Q4:ESP32 可以用 5V 嗎?
必須區分:
開發板供電
與
GPIO 邏輯電壓
這是兩件不同的事情。
部分 ESP32 開發板可以從 USB/VIN 取得 5V 電源,再由板上穩壓器供應 ESP32 所需電源;但是 ESP32 GPIO 屬於 3.3V 邏輯,不能因為開發板可由 USB 5V 供電,就把 GPIO 當成 Arduino UNO 的 5V GPIO 使用。
Q5:ESP32 有 Wi-Fi 嗎?
有。
Wi-Fi 是 ESP32 最核心的功能之一,經典 ESP32 支援 2.4 GHz Wi-Fi。
Q6:ESP32 有 Bluetooth 嗎?
經典 ESP32 支援 Bluetooth 與 Bluetooth Low Energy。
不過 ESP32 家族後來已發展出多個系列,不同型號的無線功能並不完全相同,因此實際選型時應查看該型號官方 Datasheet。
Q7:ESP32-WROOM-32 現在還值得學嗎?
值得。
它仍非常適合:
- ESP32 基本 GPIO
- Wi-Fi
- Bluetooth
- Arduino IDE
- I²C
- SPI
- UART
- MQTT
- Web Server
- IoT
等教學。
但是若是 2026 年開始設計新的量產商品,要注意 Espressif 已將原始 ESP32-WROOM-32 標為 NRND,因此正式產品選型應再查看目前 ESP32 新系列與官方 Product Selector。
二十六、ESP32 學習路線建議
完成第一章之後,不建議立刻跳到很複雜的 MQTT 或 Cloud。
比較適合的順序是:
第 1 階段
ESP32 硬體認識
↓
第 2 階段
Arduino IDE + Upload
↓
第 3 階段
GPIO Output
↓
第 4 階段
GPIO Input
↓
第 5 階段
ADC / PWM
↓
第 6 階段
Sensor
↓
第 7 階段
I2C / SPI / UART
↓
第 8 階段
Wi-Fi
↓
第 9 階段
Web Server
↓
第 10 階段
MQTT
↓
第 11 階段
IoT Project
這樣學會比一開始直接複製複雜的 IoT 程式更容易真正理解 ESP32。
二十七、本章總結
ESP32 是目前學習 IoT、Wi-Fi 微控制器與智慧家庭非常重要的平台之一。
如果 Arduino UNO 教會我們:
如何控制電子硬體
那麼 ESP32 接下來要學習的是:
如何讓電子硬體連上網路。
Arduino UNO R3 使用 ATmega328P、16 MHz CPU,具有 14 個 Digital I/O 與 6 個 Analog Input,是非常經典的微控制器入門平台。
經典 ESP32 則進一步加入更強大的 32-bit 處理能力以及 Wi-Fi、Bluetooth、ADC、DAC、Touch、SPI、I²C、UART 等功能,因此特別適合 IoT 與無線控制應用。
本章最重要的三個觀念是:
第一:ESP32、ESP32-WROOM-32 與 ESP32 Development Board 不完全相同。
第二:ESP32 GPIO 是 3.3V 邏輯,不能照搬 Arduino UNO 的 5V 使用習慣。
第三:Arduino UNO 與 ESP32 並不是二選一,而是一條非常好的學習進階路線。
因此,我們接下來就可以正式進入 ESP32 開發環境。
下一章將開始:
第 2 章 ESP32 Arduino IDE 安裝完整教學:開發板套件、USB Driver、COM Port 與第一支程式
我們將實際完成:
Arduino IDE
↓
ESP32 Board Package
↓
USB Driver
↓
COM Port
↓
Board Selection
↓
Compile
↓
Upload
↓
Serial Monitor
完成之後,就正式具備 ESP32 程式開發環境。