ภาพรวมของบอร์ด ESP32-S3

บอร์ด YD-ESP32-S3 เป็นบอร์ดพัฒนา (Development Board) ที่ใช้ชิป ESP32-S3 ของบริษัท Espressif ซึ่งเป็นรุ่นที่พัฒนาต่อจาก ESP32 เดิม โดยเพิ่มความสามารถด้าน
- AI / TinyML
- USB OTG
- Neural Network Acceleration
- Bluetooth LE 5.0
- ความเร็วสูงขึ้น
- รองรับงานเสียง (Audio Processing)
- รองรับกล้อง AI Camera
- รองรับจอ LCD / OLED
- เหมาะกับ IoT + Edge AI
บอร์ดนี้เป็น “Clone” ของ ESP32-S3-DevKitC-1 แต่มีการปรับปรุงบางส่วน เช่น
- ใช้ USB Type-C
- มี USB 2 ช่อง
- รองรับ USB-OTG
- มี RGB LED ในตัว
- ราคาถูกกว่า Official Board
จุดเด่นสำคัญของ ESP32-S3

1. CPU ประสิทธิภาพสูง
ESP32-S3 ใช้ CPU แบบ Dual-Core Xtensa LX7
คุณสมบัติ:
- 32-bit Dual Core
- ความเร็วสูงสุด 240 MHz
- รองรับ SIMD Instruction
- เร่งการคำนวณ AI และ DSP
เหมาะกับ:
- Voice AI
- Image Processing
- Machine Learning
- IoT Gateway
- Smart Robot
- Edge AI
ข้อมูลจากบทความ:
240 MHz Dual-Core Xtensa LX7
2. หน่วยความจำ (Memory)
ESP32-S3 มี RAM มากกว่า ESP32 รุ่นเดิม
| รายการ | ขนาด |
|---|---|
| ROM | 384 KB |
| SRAM | 512 KB |
| RTC SRAM | 16 KB |
| Flash | 8MB / 16MB / 32MB |
| PSRAM | 2MB / 8MB |
PSRAM สำคัญมากสำหรับ:
- AI
- Camera
- TensorFlow Lite
- Audio Buffer
- Web Server
- LVGL GUI
ถ้าใช้งาน AI หรือจอแสดงผล แนะนำรุ่น N16R8
หมายถึง:
- Flash 16MB
- PSRAM 8MB
3. Wi-Fi และ Bluetooth
ESP32-S3 รองรับ:
Wi-Fi
- 2.4GHz 802.11 b/g/n
- Access Point
- Station
- Mesh Networking
Bluetooth
- Bluetooth LE 5.0
- BLE Mesh
เหมาะกับ:
- Smart Home
- BLE Sensor
- Beacon
- Indoor Positioning
- IoT Network
4. ความสามารถด้าน AI

ESP32-S3 ถูกออกแบบให้รองรับ TinyML โดยเฉพาะ
มี:
- Vector Instructions
- SIMD
- Neural Network Acceleration
จึงสามารถทำ:
- Voice Recognition
- Keyword Detection
- Face Recognition
- Gesture Recognition
- AI Sensor
- Audio Classification
ได้ดีกว่า ESP32 เดิมมาก
5. USB Native
ESP32-S3 มี USB OTG ในตัว
สำคัญมาก เพราะ:
ESP32 รุ่นเก่าไม่มี USB จริงในชิป
แต่ ESP32-S3 มี
จึงสามารถทำ:
- USB Keyboard
- USB Mouse
- USB MIDI
- USB Flash Drive
- USB Audio
- USB Camera
- HID Device
ได้โดยตรง
โครงสร้างของบอร์ด YD-ESP32-S3

มี USB 2 ช่อง
ช่องที่ 1: USB-UART
ใช้สำหรับ:
- Upload Program
- Serial Monitor
ผ่านชิป:
- CH343P
ช่องที่ 2: USB-OTG
ใช้สำหรับ:
- Native USB
- USB HID
- USB Device
- USB Host
นี่คือจุดเด่นมากของบอร์ดนี้
GPIO และ Pinout สำคัญ
ESP32-S3 มี GPIO ประมาณ 45 ขา
แต่บางขาไม่ควรใช้
GPIO ที่แนะนำให้ใช้ทั่วไป
| GPIO | ใช้งานได้ดี |
|---|---|
| 1-18 | ดี |
| 21 | ดี |
| 35-48 | ดี |
GPIO สำหรับ I2C
นิยมใช้:
| Function | GPIO |
|---|---|
| SDA | GPIO8 |
| SCL | GPIO9 |
GPIO สำหรับ SPI
| Function | GPIO |
|---|---|
| MOSI | GPIO11 |
| MISO | GPIO13 |
| SCK | GPIO12 |
| CS | GPIO10 |
GPIO สำหรับ I2S Audio
นิยมใช้:
| Function | GPIO |
|---|---|
| BCLK | GPIO4 |
| LRCLK | GPIO5 |
| DOUT | GPIO6 |
| DIN | GPIO7 |
เหมาะกับ:
- INMP441
- MAX98357A
- Voice Assistant
- Audio AI
GPIO Analog (ADC)
ESP32-S3 มี ADC หลายช่อง
เช่น:
| GPIO | ADC |
|---|---|
| 1 | ADC1_CH0 |
| 2 | ADC1_CH1 |
| 4 | ADC1_CH3 |
| 5 | ADC1_CH4 |
RGB LED บนบอร์ด
RGB LED อยู่ที่ GPIO48
ข้อสำคัญ:
ใช้ digitalWrite() ไม่ได้
ต้องใช้:
neopixelWrite(RGB_BUILTIN, r, g, b);
และต้องกำหนด:
#define RGB_BUILTIN 48
ตัวอย่าง:
#define RGB_BUILTIN 48
void setup() {
neopixelWrite(RGB_BUILTIN, 255, 0, 0);
}
void loop() {
}
จุดสำคัญเรื่อง Jumpers
บนบอร์ดมี Jumper สำคัญ
1. RGB
เปิดใช้ RGB LED
บางบอร์ดต้องบัดกรี Jumper ก่อน
2. IN-OUT
เชื่อม USB 5V กับ VIN
ต้องระวังมาก
หากจ่ายไฟภายนอกพร้อม USB อาจเกิด Backfeed
3. USB-OTG
เชื่อม USB ทั้งสองพอร์ตเข้าด้วยกัน
ใช้เมื่อต้องการ OTG เต็มรูปแบบ
จุดเด่นของ ESP32-S3 เมื่อเทียบ ESP32 เดิม
| Feature | ESP32 | ESP32-S3 |
|---|---|---|
| CPU | LX6 | LX7 |
| AI | ไม่มี | มี |
| USB | ไม่มี | มี |
| BLE 5 | ไม่มี | มี |
| Vector | ไม่มี | มี |
| TinyML | จำกัด | ดีมาก |
| PSRAM | จำกัด | ดีขึ้น |
| GPIO | 34 | 45 |
งานที่เหมาะกับ ESP32-S3
ESP32-S3 เหมาะมากกับงาน:
1. AI Voice Assistant
เช่น
- INMP441
- MAX98357A
- Speech Recognition
2. Smart Display
เช่น
- OLED
- TFT LCD
- LVGL GUI
3. AI Camera
เช่น
- OV2640
- Face Recognition
4. IoT Gateway
เช่น
- MQTT
- Cloud AI
- Sensor Hub
5. Robotics
เช่น
- Robot AI
- SLAM
- Edge Processing
ข้อควรระวังของ ESP32-S3
1. ใช้ไฟ 3.3V เท่านั้น
GPIO ไม่ทน 5V
ห้ามต่อ:
- Sensor 5V ตรง
- Relay 5V ตรง
ต้องใช้:
- Level Shifter
- Voltage Divider
2. GPIO บางขาเกี่ยวกับ Boot
เช่น:
- GPIO0
- GPIO45
- GPIO46
หากต่อผิดอาจบูตไม่ขึ้น
3. ADC ยังมี Noise
ถ้าจะวัด Analog แม่นยำ:
- ใส่ Capacitor
- ใช้ Averaging
- ใช้ External ADC
4. Wi-Fi มีผลต่อ ADC
ESP32 ทุกตัวมีปัญหานี้
การใช้งานร่วมกับอุปกรณ์ยอดนิยม
OLED SSD1306
ใช้ I2C
SDA = GPIO8
SCL = GPIO9
DHT11
ใช้ GPIO ใดก็ได้
นิยม:
GPIO4
PMS5003
ใช้ UART
RX = GPIO16
TX = GPIO17
INMP441
ใช้ I2S
WS = GPIO5
SCK = GPIO4
SD = GPIO6
MAX98357A
LRC = GPIO5
BCLK = GPIO4
DIN = GPIO6
คำแนะนำสำหรับการพัฒนาโปรเจกต์จริง
ถ้าจะทำ AI Voice Assistant
แนะนำ:
| อุปกรณ์ | รุ่น |
|---|---|
| MCU | ESP32-S3 N16R8 |
| Mic | INMP441 |
| Speaker | MAX98357A |
| Display | OLED SSD1306 |
| Sensor | DHT11 / BME280 |
ถ้าจะทำ Smart City
ESP32-S3 เหมาะมากสำหรับ:
- Air Quality
- Noise Monitoring
- Smart Agriculture
- Traffic Sensor
- IoT Edge AI
ซึ่งสอดคล้องกับโครงการ Smart City ที่คุณกำลังพัฒนา
สรุป
ESP32-S3 คือ MCU รุ่นใหม่ที่ทรงพลังมากสำหรับงาน:
- AI
- TinyML
- Voice Assistant
- IoT
- Robotics
- Smart Display
- Audio Processing
และบอร์ด YD-ESP32-S3 ถือว่า:
- ราคาคุ้มค่า
- มี USB-C
- มี OTG
- รองรับ AI
- รองรับ I2S Audio
- เหมาะกับงานสมัยใหม่
แต่ต้องระวัง:
- GPIO 5V
- Jumper Power
- Boot Pins
- USB-OTG Wiring
หากต้องการต่อไป ฉันสามารถช่วยคุณเพิ่มเติมได้ เช่น
- ผังวงจร ESP32-S3 แบบละเอียด
- ตาราง GPIO ใช้งานจริง
- คู่มือ I2S Audio เต็มระบบ
- ตัวอย่าง Voice AI Assistant
- TinyML บน ESP32-S3
- FreeRTOS บน ESP32-S3
- ESP-IDF vs Arduino Framework
- การใช้ Camera + AI
- การใช้ LVGL GUI
- การออกแบบ Smart IoT Node ด้วย ESP32-S3
- การใช้ ESP32-S3 ร่วมกับ MQTT และ Cloud AI
ตัวอย่าง code เบื้องต้นสำหรับทดสอบบอร์ด ESP32-S3 (YD-ESP32-S3 DevKitC-1 Clone) แบบครบพื้นฐาน โดยจะทดสอบ:
- Serial Monitor
- RGB LED บนบอร์ด
- Wi-Fi
- GPIO Output
- Analog Read
- I2C Scan
- System Info
เหมาะสำหรับตรวจสอบว่า board ใช้งานได้สมบูรณ์หรือไม่
1. เตรียม Arduino IDE
ติดตั้ง Board Manager:
ค้นหา:
esp32 by Espressif Systems
เลือกเวอร์ชันล่าสุด
2. ตั้งค่า Board
ไปที่:
Tools → Board
เลือก:
ESP32S3 Dev Module
ตั้งค่าเพิ่มเติม:
| Setting | Value |
|---|---|
| USB CDC On Boot | Enabled |
| CPU Frequency | 240MHz |
| Flash Size | 16MB |
| PSRAM | OPI PSRAM |
| Upload Speed | 921600 |
3. Code ทดสอบ ESP32-S3 แบบครบพื้นฐาน
#include <WiFi.h>
#include <Wire.h>
#define RGB_BUILTIN 48
#define TEST_LED 2
#define ANALOG_PIN 1
void setup() {
Serial.begin(115200);
delay(2000);
Serial.println("=================================");
Serial.println("ESP32-S3 Hardware Test");
Serial.println("=================================");
// ==============================
// System Information
// ==============================
Serial.println("\n[System Info]");
Serial.print("Chip Model: ");
Serial.println(ESP.getChipModel());
Serial.print("Chip Revision: ");
Serial.println(ESP.getChipRevision());
Serial.print("CPU Frequency: ");
Serial.print(getCpuFrequencyMhz());
Serial.println(" MHz");
Serial.print("Flash Size: ");
Serial.print(ESP.getFlashChipSize() / (1024 * 1024));
Serial.println(" MB");
Serial.print("PSRAM Size: ");
Serial.print(ESP.getPsramSize() / (1024 * 1024));
Serial.println(" MB");
Serial.print("Free Heap: ");
Serial.println(ESP.getFreeHeap());
// ==============================
// GPIO Test
// ==============================
pinMode(TEST_LED, OUTPUT);
// ==============================
// RGB LED Test
// ==============================
Serial.println("\n[RGB LED Test]");
neopixelWrite(RGB_BUILTIN, 255, 0, 0);
delay(1000);
neopixelWrite(RGB_BUILTIN, 0, 255, 0);
delay(1000);
neopixelWrite(RGB_BUILTIN, 0, 0, 255);
delay(1000);
neopixelWrite(RGB_BUILTIN, 0, 0, 0);
// ==============================
// WiFi Scan
// ==============================
Serial.println("\n[WiFi Scan]");
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);
int n = WiFi.scanNetworks();
if (n == 0) {
Serial.println("No WiFi networks found");
} else {
Serial.print(n);
Serial.println(" WiFi networks found");
for (int i = 0; i < n; ++i) {
Serial.print(i + 1);
Serial.print(": ");
Serial.print(WiFi.SSID(i));
Serial.print(" (");
Serial.print(WiFi.RSSI(i));
Serial.println(" dBm)");
}
}
// ==============================
// I2C Scanner
// ==============================
Serial.println("\n[I2C Scanner]");
Wire.begin(8, 9);
byte error, address;
int devices = 0;
for(address = 1; address < 127; address++ ) {
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0) {
Serial.print("I2C device found at 0x");
if (address < 16)
Serial.print("0");
Serial.println(address, HEX);
devices++;
}
}
if (devices == 0) {
Serial.println("No I2C devices found");
}
Serial.println("\nSetup Complete");
}
void loop() {
// ==============================
// Blink GPIO
// ==============================
digitalWrite(TEST_LED, HIGH);
delay(500);
digitalWrite(TEST_LED, LOW);
delay(500);
// ==============================
// Analog Read
// ==============================
int analogValue = analogRead(ANALOG_PIN);
Serial.print("Analog Value: ");
Serial.println(analogValue);
// ==============================
// RGB Running Color
// ==============================
neopixelWrite(RGB_BUILTIN, 255, 0, 255);
delay(200);
neopixelWrite(RGB_BUILTIN, 0, 255, 255);
delay(200);
neopixelWrite(RGB_BUILTIN, 255, 255, 0);
delay(200);
neopixelWrite(RGB_BUILTIN, 0, 0, 0);
}
4. ผลลัพธ์ที่ควรเห็น
บน Serial Monitor:
ESP32-S3 Hardware Test
Chip Model: ESP32-S3
CPU Frequency: 240 MHz
Flash Size: 16 MB
PSRAM Size: 8 MB
WiFi networks found
I2C device found at 0x3C
และ:
- RGB LED เปลี่ยนสี
- GPIO2 กระพริบ
- Analog Value เปลี่ยนค่า
- Scan WiFi ได้
- Detect OLED/I2C Sensor ได้
5. ทดสอบ OLED SSD1306 เพิ่มเติม
หากต่อ OLED I2C:
| OLED | ESP32-S3 |
|---|---|
| VCC | 3.3V |
| GND | GND |
| SDA | GPIO8 |
| SCL | GPIO9 |
ติดตั้ง Library:
Adafruit SSD1306
Adafruit GFX
6. ทดสอบ INMP441
แนะนำ pin:
| INMP441 | ESP32-S3 |
|---|---|
| WS | GPIO5 |
| SCK | GPIO4 |
| SD | GPIO6 |
| VDD | 3.3V |
| GND | GND |
7. ทดสอบ MAX98357A
| MAX98357A | ESP32-S3 |
|---|---|
| LRC | GPIO5 |
| BCLK | GPIO4 |
| DIN | GPIO6 |
8. ข้อควรระวังสำคัญ
ห้ามใช้ 5V กับ GPIO
ESP32-S3 ใช้:
3.3V Logic
เท่านั้น
9. หาก Upload ไม่ผ่าน
กดปุ่ม:
BOOT
ค้างไว้ระหว่าง Upload
แล้วปล่อยเมื่อขึ้น:
Connecting...
10. แนะนำโปรเจกต์ต่อยอดสำหรับ ESP32-S3
บอร์ดนี้เหมาะมากกับ:
- AI Voice Assistant
- TinyML
- Smart Display
- MQTT IoT
- Smart Farm
- Smart City
- Edge AI
- Robotics
- Camera AI
- Speech Recognition


บนบอร์ด ESP32-S3 DevKitC-1 Clone หรือ YD-ESP32-S3 จะมีพอร์ต USB Type-C อยู่ 2 ช่อง ซึ่ง “หน้าที่ต่างกัน” อย่างชัดเจน โดยทั่วไปจะเขียนว่า:
- USB
- OTG
หรือบางบอร์ดอาจเขียน:
- UART
- USB
ภาพรวมแบบเข้าใจง่าย
| Port | หน้าที่หลัก | ใช้ทำอะไร |
|---|---|---|
| USB | Upload Program + Serial Monitor | ใช้เหมือน Arduino ปกติ |
| OTG | Native USB ของ ESP32-S3 | ทำ Keyboard, Mouse, USB Audio, HID |
1. พอร์ต USB (USB-UART)
พอร์ตนี้เชื่อมผ่านชิปแปลง USB-to-Serial
เช่น:
- CH343P
- CP2102
- CH340
หน้าที่คือ:
คอมพิวเตอร์ ⇄ USB-UART Chip ⇄ ESP32-S3
ใช้สำหรับ:
- Upload code
- Serial Monitor
- Debug
- Flash firmware
จุดเด่น
ใช้งานง่ายที่สุด
Arduino IDE มองเห็น COM Port ทันที
เช่น:
COM5
COM7
/dev/ttyUSB0
ข้อดี
เหมาะกับ:
- เริ่มต้นใช้งาน
- เขียนโปรแกรมทั่วไป
- Serial debugging
ข้อเสีย
ไม่สามารถทำ:
- USB Keyboard
- USB Mouse
- USB MIDI
- USB Flash Drive
ได้โดยตรง
เพราะเป็น USB ของ “ชิปแปลง” ไม่ใช่ USB จริงของ ESP32-S3
2. พอร์ต OTG (USB Native / USB-OTG)
พอร์ตนี้เชื่อม “ตรงเข้าชิป ESP32-S3”
ไม่มี USB-UART chip คั่นกลาง
โครงสร้าง:
Computer ⇄ ESP32-S3 Native USB
นี่คือจุดเด่นใหญ่ของ ESP32-S3
OTG คืออะไร?
OTG = On-The-Go
หมายถึง:
ESP32-S3 สามารถเป็นได้ทั้ง:
| Mode | ความหมาย |
|---|---|
| USB Device | ทำตัวเป็นอุปกรณ์ USB |
| USB Host | ควบคุมอุปกรณ์ USB อื่น |
ตัวอย่าง USB Device
ESP32-S3 สามารถปลอมตัวเป็น:
- Keyboard
- Mouse
- Gamepad
- MIDI Device
- USB Audio
- Webcam
ตัวอย่าง USB Host
ESP32-S3 สามารถอ่าน:
- Flash Drive
- USB Keyboard
- USB Mouse
- Barcode Scanner
ข้อดีของ OTG
รองรับงานขั้นสูง:
- TinyUSB
- HID Device
- USB Audio
- AI Voice Assistant
- USB Camera
- Mass Storage
ข้อเสีย
บางครั้ง Upload code ยากกว่า USB-UART
ต้อง:
- กด BOOT
- เข้า Download Mode
- เลือก USB CDC
วิธีสังเกตง่ายๆ
พอร์ต USB-UART
เมื่อเสียบคอม:
จะขึ้น COM Port ทันที
เช่น:
COM6
พอร์ต OTG
บางครั้งจะขึ้นเป็น:
USB JTAG/Serial
TinyUSB Device
หรืออาจไม่ขึ้นเลยจนกว่าจะรันโปรแกรม
แนะนำการใช้งานจริง
ตอนเริ่มต้น
ให้ใช้:
พอร์ต USB
สำหรับ:
- Upload
- Serial Monitor
ง่ายและเสถียรที่สุด
เมื่อเริ่มทำโปรเจกต์ขั้นสูง
ใช้:
พอร์ต OTG
สำหรับ:
- USB Keyboard
- HID
- Audio
- TinyUSB
- AI Voice
ตัวอย่างการใช้งาน OTG
ทำ USB Keyboard
ESP32-S3 สามารถพิมพ์ข้อความเข้า PC ได้
เช่น:
Keyboard.print("Hello");
ทำ USB Mouse
Mouse.move(10,0);
ทำ USB Microphone
ร่วมกับ:
- INMP441
- I2S
แล้วส่งเสียงเข้า PC ผ่าน USB Audio
ทำ USB Speaker
ส่งเสียงจาก PC เข้า MAX98357A
สรุปแบบสั้นที่สุด
| USB | OTG |
|---|---|
| Upload Program | Native USB |
| Serial Monitor | USB Device/Host |
| ใช้งานง่าย | ขั้นสูง |
| ผ่าน CH343/CP2102 | ต่อเข้าชิปตรง |
| เหมาะมือใหม่ | เหมาะ AI/USB Project |
สำหรับโปรเจกต์ของคุณ
ถ้าคุณจะพัฒนา:
- AI Voice Assistant
- TinyML
- USB Audio
- Smart Device
- Human Interface Device
แนะนำให้ใช้:
OTG Port
แต่ถ้าจะ:
- Upload code
- Debug
- ทดสอบ sensor
ใช้:
USB Port
จะสะดวกกว่ามาก
Link:https://mischianti.org/vcc-gnd-studio-yd-esp32-s3-devkitc-1-clone-high-resolution-pinout-and-specs/#google_vignette
https://community.platformio.org/t/esp32-s3-as-usb-host-with-tinyusb/52691/2
