回到首頁

Arduino IDE 安裝與 ESP32-CAM 開發環境設定指南

本網頁版指南說明如何安裝 Arduino IDE、加入 ESP32 開發板套件、安裝 ESP32Servo 函式庫、選擇 AI Thinker ESP32-CAM,並使用 USB-TTL 上傳程式。

Arduino IDE 2.x AI Thinker ESP32-CAM USB-TTL 上傳 Servo / ESC 控制
直接看 USB-TTL 燒錄流程

一、目標

本指南用於建立 ESP32-CAM 的 Arduino 開發環境,後續可用手機連到 ESP32-CAM 熱點,透過網頁控制兩顆伺服馬達與一個無刷馬達 ESC。

手機 → Wi-Fi 連 ESP32-CAM → 網頁控制 2 顆 Servo + 1 個 ESC
項目建議設定
Arduino IDEArduino IDE 2.x
ESP32 開發板套件esp32 by Espressif Systems
ESP32-CAM 開發板AI Thinker ESP32-CAM
Servo 函式庫ESP32Servo
控制方式ESP32-CAM 建立 Wi-Fi 熱點,手機瀏覽器控制

二、下載並安裝 Arduino IDE

1. 下載 Arduino IDE

請到 Arduino 官方網站下載 Arduino IDE:

https://www.arduino.cc/en/software

Windows 使用者建議下載:

Windows Installer

2. 安裝 Arduino IDE

下載後執行安裝程式,基本上依照以下流程安裝即可:

Next → Install → Finish

第一次開啟 Arduino IDE 時,如果 Windows 防火牆詢問是否允許網路存取,建議選擇允許。Arduino IDE 之後需要下載開發板套件與函式庫。

三、安裝 ESP32 開發板套件

ESP32-CAM 並不是 Arduino 原廠開發板,因此 Arduino IDE 一開始不會直接支援,必須先安裝 Espressif 提供的 ESP32 board package。

1. 開啟偏好設定

File → Preferences

中文介面可能顯示為:

檔案 → 偏好設定

2. 加入 ESP32 Board Manager URL

找到 Additional Boards Manager URLs 欄位,加入下列網址:

https://espressif.github.io/arduino-esp32/package_esp32_index.json

如果欄位內已經有其他網址,可以用逗號分隔。

3. 開啟 Boards Manager

Tools → Board → Boards Manager

中文介面可能是:

工具 → 開發板 → 開發板管理員

4. 搜尋並安裝 ESP32

在 Boards Manager 搜尋:

esp32

找到 esp32 by Espressif Systems,按下 Install。安裝完成後,建議關閉並重新開啟 Arduino IDE。

四、選擇 ESP32-CAM 開發板

重新開啟 Arduino IDE 後,選擇:

Tools → Board → esp32 → AI Thinker ESP32-CAM

中文介面可能是:

工具 → 開發板 → esp32 → AI Thinker ESP32-CAM

若使用的是常見的 ESP32-CAM 模組,例如具有 OV2640 攝影機、microSD 卡槽與 AI Thinker 模組,通常開發板請選擇 AI Thinker ESP32-CAM

五、建議的開發板設定

項目建議值
BoardAI Thinker ESP32-CAM
Upload Speed115200
CPU Frequency240 MHz
Flash Frequency40 MHz
Flash ModeQIO 或 DIO,通常使用預設值即可
Partition SchemeHuge APP 或預設值皆可
PSRAMEnabled

PSRAM 為何建議 Enabled?

如果只是控制 Servo 與 ESC,不一定需要 PSRAM。但是 ESP32-CAM 之後若要加入攝影串流,PSRAM 會非常重要,因此建議一開始就設定為 PSRAM: Enabled

Partition Scheme 如何選擇?

如果只是做手機網頁控制 Servo 與 ESC,可以使用預設值。若之後要加入攝影串流,建議選擇:

Huge APP (3MB No OTA/1MB SPIFFS)

六、安裝 Servo 函式庫

ESP32 控制 Servo 建議安裝:

ESP32Servo

安裝方法

Tools → Manage Libraries

或點選左側的 Library Manager,搜尋 ESP32Servo,找到後按下 Install

七、本專案需要的函式庫

函式庫是否需要額外安裝用途
WiFi.h不需要ESP32 內建,負責 Wi-Fi 連線
WebServer.h不需要ESP32 內建,負責網頁伺服器
ESP32Servo.h需要控制 Servo 與 ESC PWM

也就是說,本專案只需要安裝 esp32 by Espressif SystemsESP32Servo

八、ESP32-CAM 腳位介紹

本專案使用常見的 AI Thinker ESP32-CAM。ESP32-CAM 的外接腳位數量比一般 ESP32 DevKit 少,因此要注意哪些腳位已被攝影機、microSD 卡、UART 燒錄功能或開機模式占用。

AI Thinker ESP32-CAM 腳位圖
AI Thinker ESP32-CAM 常見腳位圖

1. 電源腳位

腳位說明
5VESP32-CAM 主要供電輸入。建議使用穩定的 5V 電源供電。
3.3V / 3V33.3V 電源腳。通常不建議用來供應 Servo 或其他大電流負載。
GND接地。USB-TTL、ESP32-CAM、Servo、ESC 必須共地。

2. UART 燒錄腳位

ESP32-CAM 腳位功能說明
GPIO1 / U0T / TXUART0 TXESP32-CAM 傳送資料,接 USB-TTL 的 RX。
GPIO3 / U0R / RXUART0 RXESP32-CAM 接收資料,接 USB-TTL 的 TX。
GPIO0Boot Mode上傳程式時接 GND,讓 ESP32-CAM 進入燒錄模式。
GND接地必須與 USB-TTL 的 GND 相接。
5V供電可由 USB-TTL 的 5V 供電,但電流不足時建議改用外部 5V。

3. 可用 GPIO 腳位

腳位常見功能使用注意事項
GPIO4HS2_DATA1 / LED常連接板上閃光 LED,不建議控制 Servo。
GPIO2HS2_DATA0microSD 相關腳位,不使用 SD 卡時可作為 GPIO。
GPIO14HS2_CLKmicroSD 相關腳位,不使用 SD 卡時可作為 Servo PWM。
GPIO15HS2_CMDmicroSD 相關腳位,不使用 SD 卡時可作為 ESC PWM。
GPIO13HS2_DATA3microSD 相關腳位,不使用 SD 卡時可作為 Servo PWM。
GPIO12HS2_DATA2開機狀態敏感腳位,初學者建議避免使用。
GPIO16U2RXD可作為一般 GPIO 使用,但若專案較複雜需再確認是否與其他功能衝突。
GPIO0Boot / Camera XCLK燒錄時使用,也常與攝影機時脈有關,不建議作為 Servo 腳位。
GPIO1 / GPIO3UART0上傳程式與 Serial Monitor 使用,不建議作為 Servo 腳位。

4. 本專案建議腳位分配

裝置ESP32-CAM 腳位說明
方向舵 ServoGPIO13PWM 輸出,控制方向舵。
升降舵 ServoGPIO14PWM 輸出,控制升降舵。
ESC 油門訊號GPIO15PWM 輸出,控制無刷馬達油門。
GNDGNDServo、ESC、ESP32-CAM 必須共地。
5V外部 5V / UBECServo 不建議直接由 ESP32-CAM 供電。
測試 ESC 與無刷馬達時,請務必先拆掉螺旋槳。

九、使用 USB-TTL 上傳 ESP32-CAM 程式

ESP32-CAM 通常沒有 USB 接口,因此無法像 Arduino UNO 或 ESP32 DevKit 一樣直接用 USB 線上傳程式。必須使用 USB-to-TTL 模組,也常稱為 USB-TTL、FTDI、CH340、CP2102 或 USB Serial 模組。

ESP32-CAM 使用 USB-TTL 上傳程式接線圖
ESP32-CAM 使用 USB-TTL 上傳程式的接線示意圖

1. USB-TTL 與 ESP32-CAM 接線

USB-TTL 模組ESP32-CAM說明
5V / VCC5V提供 ESP32-CAM 電源。不可接到 3.3V 腳位。
GNDGND接地,必須連接。
TXU0R / GPIO3 / RXUSB-TTL 傳送,接 ESP32-CAM 接收。
RXU0T / GPIO1 / TXUSB-TTL 接收,接 ESP32-CAM 傳送。
GNDGPIO0上傳程式時暫時連接,使 ESP32-CAM 進入燒錄模式。
TX 與 RX 必須交叉連接:USB-TTL TX → ESP32-CAM RX;USB-TTL RX → ESP32-CAM TX。

2. 進入燒錄模式

  1. 將 USB-TTL 的 GND 接到 ESP32-CAM 的 GND。
  2. 將 USB-TTL 的 5V 接到 ESP32-CAM 的 5V。
  3. 將 USB-TTL 的 TX 接到 ESP32-CAM 的 U0R / RX。
  4. 將 USB-TTL 的 RX 接到 ESP32-CAM 的 U0T / TX。
  5. 將 ESP32-CAM 的 GPIO0 接到 GND。
  6. 按一下 ESP32-CAM 的 RST 按鈕,或重新插拔 USB 電源。

3. Arduino IDE 上傳設定

項目設定
BoardAI Thinker ESP32-CAM
Upload Speed115200
CPU Frequency240 MHz
Flash Frequency40 MHz
Partition SchemeHuge APP 或預設值
PSRAMEnabled
Port選擇對應的 COM Port

4. 上傳程式流程

  1. 確認 GPIO0 已經接到 GND。
  2. 在 Arduino IDE 選擇正確的 Board 與 Port。
  3. 按下 Arduino IDE 左上角的 Upload。
  4. 若畫面停在 Connecting...,請按一下 ESP32-CAM 的 RST 按鈕。
  5. 等待程式上傳完成。
  6. 上傳完成後,拔掉 GPIO0 與 GND 之間的接線。
  7. 再按一次 RST。
  8. ESP32-CAM 會從 Flash 開機,開始執行剛剛上傳的程式。
上傳程式時:GPIO0 接 GND
正常執行程式時:GPIO0 不要接 GND

十、測試 Arduino IDE 是否設定成功

可以先上傳以下測試程式:

#include <WiFi.h>

void setup() {
  Serial.begin(115200);
  delay(1000);
  Serial.println("ESP32-CAM is ready.");
}

void loop() {
  Serial.println("Running...");
  delay(1000);
}

上傳完成後,拔掉 GPIO0 → GND,按下 reset,開啟 Serial Monitor,並將鮑率設定為 115200

若看到以下訊息,代表 Arduino IDE、ESP32 開發板套件與 Port 設定都正常。

ESP32-CAM is ready.
Running...
Running...
Running...

十一、常見錯誤排除

找不到 AI Thinker ESP32-CAM

請確認已經安裝 esp32 by Espressif Systems。若沒有安裝 ESP32 board package,Arduino IDE 中不會出現 AI Thinker ESP32-CAM。

找不到 COM Port

  • USB 線只有充電功能。
  • USB-to-TTL 驅動未安裝。
  • USB-to-TTL 模組故障。
  • TX/RX 接線錯誤。

一直顯示 Connecting...

  • 確認 GPIO0 已接 GND。
  • 按下 Upload 後按一下 reset。
  • 確認 TX/RX 沒有接反。
  • 確認 GND 有共地。

上傳成功,但程式不執行

通常是忘記拔掉 GPIO0 → GND。上傳完成後一定要拔掉 GPIO0-GND,然後按 reset。

十二、RC 飛機控制專案建議設定總表

項目建議設定
Arduino IDEArduino IDE 2.x
Board packageesp32 by Espressif Systems
BoardAI Thinker ESP32-CAM
LibraryESP32Servo
Upload Speed115200
PSRAMEnabled
Serial Monitor115200
Wi-Fi 模式ESP32-CAM SoftAP 熱點
手機連線手機連 ESP32-CAM Wi-Fi 後開啟 192.168.4.1
完成本指南後,即可開始上傳 ESP32-CAM 手機網頁控制程式。測試 ESC 與無刷馬達時,請先拆掉螺旋槳。