ESP32-S3 Pinout

ภาพรวมของบอร์ด 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 LX7240\ \text{MHz Dual-Core Xtensa LX7}240 MHz Dual-Core Xtensa LX7

2. หน่วยความจำ (Memory)

ESP32-S3 มี RAM มากกว่า ESP32 รุ่นเดิม

รายการขนาด
ROM384 KB
SRAM512 KB
RTC SRAM16 KB
Flash8MB / 16MB / 32MB
PSRAM2MB / 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

นิยมใช้:

FunctionGPIO
SDAGPIO8
SCLGPIO9

GPIO สำหรับ SPI

FunctionGPIO
MOSIGPIO11
MISOGPIO13
SCKGPIO12
CSGPIO10

GPIO สำหรับ I2S Audio

นิยมใช้:

FunctionGPIO
BCLKGPIO4
LRCLKGPIO5
DOUTGPIO6
DINGPIO7

เหมาะกับ:

  • INMP441
  • MAX98357A
  • Voice Assistant
  • Audio AI

GPIO Analog (ADC)

ESP32-S3 มี ADC หลายช่อง

เช่น:

GPIOADC
1ADC1_CH0
2ADC1_CH1
4ADC1_CH3
5ADC1_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 เดิม

FeatureESP32ESP32-S3
CPULX6LX7
AIไม่มีมี
USBไม่มีมี
BLE 5ไม่มีมี
Vectorไม่มีมี
TinyMLจำกัดดีมาก
PSRAMจำกัดดีขึ้น
GPIO3445

งานที่เหมาะกับ 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

แนะนำ:

อุปกรณ์รุ่น
MCUESP32-S3 N16R8
MicINMP441
SpeakerMAX98357A
DisplayOLED SSD1306
SensorDHT11 / 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

ตั้งค่าเพิ่มเติม:

SettingValue
USB CDC On BootEnabled
CPU Frequency240MHz
Flash Size16MB
PSRAMOPI PSRAM
Upload Speed921600

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:

OLEDESP32-S3
VCC3.3V
GNDGND
SDAGPIO8
SCLGPIO9

ติดตั้ง Library:

Adafruit SSD1306
Adafruit GFX

6. ทดสอบ INMP441

แนะนำ pin:

INMP441ESP32-S3
WSGPIO5
SCKGPIO4
SDGPIO6
VDD3.3V
GNDGND

7. ทดสอบ MAX98357A

MAX98357AESP32-S3
LRCGPIO5
BCLKGPIO4
DINGPIO6

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
esp32s3-usb2

esp32s3-usb3

บนบอร์ด ESP32-S3 DevKitC-1 Clone หรือ YD-ESP32-S3 จะมีพอร์ต USB Type-C อยู่ 2 ช่อง ซึ่ง “หน้าที่ต่างกัน” อย่างชัดเจน โดยทั่วไปจะเขียนว่า:

  • USB
  • OTG

หรือบางบอร์ดอาจเขียน:

  • UART
  • USB

ภาพรวมแบบเข้าใจง่าย

Portหน้าที่หลักใช้ทำอะไร
USBUpload Program + Serial Monitorใช้เหมือน Arduino ปกติ
OTGNative 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

สรุปแบบสั้นที่สุด

USBOTG
Upload ProgramNative USB
Serial MonitorUSB 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