ลองนึกดู... บนโต๊ะของคุณมี "หุ่นยนต์เพื่อน" ตัวเล็ก ๆ ที่มีหน้าเป็น Emoji น่ารัก มันฟังคำพูดของคุณ ตอบสนองอย่างเป็นธรรมชาติ และแสดงความรู้สึกผ่านท่า หน้า ลิป-สิงค์ที่ดูเหมือนจริง ไม่ใช่ฝัน! บทความนี้จะพาคุณสร้าง "ลูกน้อง" ตัวนี้จากศูนย์
มันคืออะไร?
เราจะสร้างระบบ AI Voice Assistant ด้วย ESP32-S3 ที่มีหน้า Emoji เคลื่อนไหวแบบ animated บน OLED display ขนาด 128x128 พิกเซล
Xiaozhi Firmware
Firmware ที่ออกแบบมาให้ ESP32 ทำงานเป็น AI voice assistant ได้ มันเป็นระบบเสียงจดจำและตอบกลับแบบเรียลไทม์
LVGL (Light and Versatile Graphics Library)
ไลบรารี่สำหรับวาด UI และ graphics บนจอแสดงผลขนาดเล็ก ทำให้เราสามารถสร้าง Emoji face ที่เคลื่อนไหวได้อย่างลื่นไหล
Mod Firmware
Firmware ที่ถูกแก้ไขมาให้เข้ากับ hardware ของเรา รวมถึงการควบคุม OLED display, ไมโครโฟน และลำโพง

ต้องเตรียมอะไรบ้าง?
Hardware ที่ต้อง:
- • ESP32-S3 DevKit (บอร์ดไมโครคอนโทรลเลอร์หลัก)
- • OLED Display 128x128 ประเภท SSD1315 (สำหรับแสดงหน้า Emoji)
- • I2S MEMS Microphone เช่น SPM1423 หรือ WM8960 (สำหรับรับเสียง)
- • MAX98357A I2S Amplifier (สำหรับเสียงออก/ลำโพง)
- • ลำโพง 3W ที่มีอิมพีแดนซ์ 4 โอห์ม
- • สายจัมเปอร์ และ Breadboard สำหรับต่อวงจร
- • USB-C Cable สำหรับโปรแกรม firmware
Software ที่ต้อง:
- • Arduino IDE หรือ ESP-IDF (สำหรับ programming)
- • Xiaozhi Mod Firmware (ไฟล์จาก GitHub)
- • Driver CH340 หรือ CP2102 (สำหรับ USB communication)
Skill Level:
ระดับ Intermediate - ต้องรู้พื้นฐาน Arduino, การต่อวงจร และความสามารถในการแก้ปัญหา basic
เชื่อมต่อส่วนต่างๆ
ส่วนนี้จะบอกวิธีเชื่อมต่อ OLED, ไมโครโฟน และลำโพงให้ถูกต้อง ความผิดพลาดในการเชื่อมต่อสายจะทำให้ระบบไม่ทำงาน
OLED Display (SSD1315) Connections:
OLED Pin
GND → GND
VCC → 3.3V
SCL → GPIO 9 (I2C CLK)
SDA → GPIO 8 (I2C DATA)
หมายเหตุ
I2C address: 0x3C
Resolution: 128x128
Voltage: 3.3V ต่างหาก
I2S Microphone (SPM1423/WM8960) Connections:
Microphone Pin
GND → GND
VDD → 3.3V
BCLK → GPIO 7
LRCLK → GPIO 6
DOUT → GPIO 5
หมายเหตุ
I2S Port 0
Sample Rate: 16kHz
Bit Depth: 16-bit
MAX98357A (I2S Amplifier) Connections:
Amplifier Pin
GND → GND
VDD → 5V
BCLK → GPIO 4
LRCLK → GPIO 3
DIN → GPIO 2
GAIN → GND (0dB)
หมายเหตุ
I2S Port 1
Output: Speaker OUT+/-
Power: ต้องใช้ 5V
วงจรเสร็จสิ้น (Schematics):

เริ่มต้นใช้งาน
ขั้นที่ 1: ดาวน์โหลด Mod Firmware
ไปที่ GitHub repository ของ TechTalkies เพื่อดาวน์โหลดไฟล์ firmware ที่ได้ปรับแต่งไว้สำหรับ ESP32-S3 พร้อม OLED display และ I2S audio ตั้งแต่เริ่มต้น
GitHub Repositoryขั้นที่ 2: ติดตั้ง Driver USB
ลง driver สำหรับ CH340 หรือ CP2102 ให้ตรงกับชิป USB ที่บอร์ด ESP32-S3 ใช้ ขั้นตอนนี้เป็นสิ่งสำคัญ มิฉะนั้น computer จะไม่รู้จักบอร์ด
ขั้นที่ 3: Flash Firmware ลงบอร์ด
เปิด Arduino IDE หรือ ESPTool.py แล้วเลือกพอร์ต COM ที่ถูกต้อง เลือก Board: "ESP32-S3 Dev Module" และ Flash ไฟล์ .bin ลงไป ใช้เวลาประมาณ 1-2 นาที
ขั้นที่ 4: ทดสอบแรก
เมื่อ Flash เสร็จ ESP32-S3 จะรีสตาร์ท OLED จะแสดง Emoji หน้ายิ้ม ลองพูดคำสั่งให้ฟัง เช่น "สวัสดี" ถ้าหน้า Emoji ตอบสนองและเปลี่ยนสีหรือท่า แปลว่าสำเร็จแล้ว!
ประยุกต์ใช้งาน
ระบบนี้ไม่ได้เป็นแค่เล่นของ ยังมีประโยชน์ในชีวิตจริง:
AI Desk Buddy
วางไว้บนโต๊ะ ฟังคำสั่งเสียง ตอบคำถาม บอกข่าวสาร หรือแสดงความเห็น
Educational Tool
สอนเด็ก ๆ เกี่ยวกับ IoT, Voice Recognition, และ Graphics Programming
Home Automation Interface
ใช้ฟังคำสั่งเสียงเพื่อควบคุมสิ่งของในบ้าน เช่น ไฟ แอร์ หรือการล็อกประตู
Pet Robot Companion
สัตว์ไอ้ทำมา virtual pet ที่ตอบสนองต่อการพูดของเจ้าของ
Art Installation
ใช้ในงานศิลป์ interactive ที่ติดต่อกับผู้ชมผ่านเสียงและ visual feedback
พร้อมจะสร้าง AI Desk Buddy ของคุณแล้วหรือยัง?
ทรัพยากรเพิ่มเติม
ถ้าต้องการศึกษาเพิ่มเติมหรือ customize ระบบของคุณเอง ลองดูที่นี่:
- Hackster.io Article (ต้นฉบับ): Modified Xiaozhi Firmware with Emoji Face
- GitHub Code Repository: TechTalkies/Xiaozhi-for-XiaoESP32S3
เตือน
เนื้อหานี้เป็นการสรุปและเรียบเรียงจากบทความต้นฉบับภาษาอังกฤษ (Hackster.io และ GitHub documentation) ข้อมูลฉบับภาษาไทยอาจมีความคลาดเคลื่อนบางประการจากการตีความหรือย่อเนื้อหา
อ้างอิง:
• Hackster.io - Modified Xiaozhi Firmware with Emoji Face by TechTalkies
• GitHub - TechTalkies/Xiaozhi-for-XiaoESP32S3
• YouTube - "I Built an AI Desk Buddy with ESP32 (Xiaozhi + Custom Face UI)"