บทความ › ไมโครคอนโทรลเลอร์และโค้ด
ESP32-C5 ชิป ESP32 ตัวแรกที่ต่อ Wi-Fi 5 GHz ได้ ของเล่นเราได้อะไร
ESP32-C5 ผลิตจริงตั้งแต่ เม.ย. 2025 เป็นชิปแรกของ Espressif ที่มี Wi-Fi 6 ทั้ง 2.4 และ 5 GHz พร้อม BLE และ Thread/Zigbee เมื่อไหร่ 5 GHz ช่วยของเล่น เมื่อไหร่ไม่ช่วย
- ESP32-C5 เป็นชิปแรกของ Espressif ที่ต่อ Wi-Fi ได้ทั้ง 2.4 GHz และ 5 GHz และเข้าสายการผลิตจริงเมื่อ 30 เม.ย. 2025
- 5 GHz คนใช้น้อยกว่าและมีช่องที่ไม่ชนกันเยอะกว่า แต่ระยะสั้นกว่าและทะลุผนังได้แย่กว่า 2.4 GHz
- ของเล่นส่วนใหญ่ส่งข้อมูลไม่กี่ KB ต่อวินาที ประโยชน์ของ 5 GHz จึงอยู่ที่ความนิ่งในบ้านที่คลื่นแน่น ไม่ใช่ความเร็ว
- ใช้กับ Arduino core ของ ESP32 รุ่นใหม่ (3.3.3 มีในรายชื่อชิปที่รองรับ) และ ESP-IDF ตั้งแต่ v5.5
ESP32-C5 คือชิปตัวแรกของ Espressif ที่ต่อ Wi-Fi ย่าน 5 GHz ได้ นอกจาก 2.4 GHz ที่ ESP32 ทุกรุ่นก่อนหน้าใช้ ชิปนี้เข้าสายการผลิตจริงเมื่อ 30 เมษายน 2025 สำหรับของเล่นที่บ้าน ข้อดีหลักไม่ใช่ความเร็ว แต่คือได้หนีจากย่าน 2.4 GHz ที่แน่นไปด้วยเราเตอร์เพื่อนบ้าน เครื่องใช้ในบ้าน และอุปกรณ์ Bluetooth
ถ้ายังไม่เคยเทียบ ESP32 รุ่นต่าง ๆ อ่านเลือกบอร์ด ESP32 รุ่นไหนดี ก่อน บทนี้ต่อจากตรงนั้น
ESP32-C5 มีอะไรบ้าง
ตัวเลขจากประกาศของ Espressif
| ESP32-C5 | |
|---|---|
| คอร์หลัก | RISC-V 32 บิต คอร์เดียว สูงสุด 240 MHz |
| คอร์ประหยัดไฟ (LP) | สูงสุด 40 MHz |
| Wi-Fi | Wi-Fi 6 ย่าน 2.4 GHz และ 5 GHz |
| Bluetooth | Bluetooth 5 (LE) |
| 802.15.4 | มี ใช้กับ Thread และ Zigbee |
| SRAM / ROM | 384 KB / 320 KB |
| GPIO | สูงสุด 29 ขา |
| หน่วยความจำเพิ่ม | รองรับ PSRAM ภายนอก |
รายละเอียดที่ควรรู้: ในโหมด Wi-Fi 6 (802.11ax) ชิปใช้ช่องกว้าง 20 MHz ส่วนโหมดเก่า 802.11b/g/n ใช้ได้ 20 หรือ 40 MHz และมี Target Wake Time (TWT) ที่ให้อุปกรณ์หลับนานขึ้นโดยยังไม่หลุดจากเราเตอร์ ถ้าเราเตอร์เป็น Wi-Fi 6 ด้วย
เทียบกับรุ่นที่คุ้นมือ
| ESP32-C3 | ESP32-C6 | ESP32-C5 | |
|---|---|---|---|
| ย่าน Wi-Fi | 2.4 GHz | 2.4 GHz | 2.4 + 5 GHz |
| มาตรฐาน | Wi-Fi 4 | Wi-Fi 6 | Wi-Fi 6 |
| ความเร็วคอร์หลัก | 160 MHz | 160 MHz | 240 MHz |
| Thread / Zigbee | ไม่มี | มี | มี |
| SRAM | 400 KB | 512 KB | 384 KB |
C5 จึงเหมือน C6 ที่เพิ่มย่าน 5 GHz และคอร์เร็วขึ้น แต่ SRAM น้อยกว่าเล็กน้อย
2.4 GHz กับ 5 GHz ต่างกันตรงไหน
| 2.4 GHz | 5 GHz | |
|---|---|---|
| ช่องที่ไม่ทับกัน | 3 ช่อง (1, 6, 11) | มีให้เลือกมากกว่าหลายเท่า |
| ความแน่น | แน่น ใช้ร่วมกับเตาไมโครเวฟ โทรศัพท์ไร้สาย Bluetooth | โล่งกว่า |
| ระยะ | ไกลกว่า | สั้นกว่า ทะลุผนังได้แย่กว่า |
คู่มือของผู้ผลิตอุปกรณ์ Wi-Fi รายหนึ่งให้ตัวเลขคร่าว ๆ ว่า 2.4 GHz ครอบคลุมราว 75–100 ฟุต (ประมาณ 23–30 m) ส่วน 5 GHz ที่ความเร็วเต็มราว 25–35 ฟุต (ประมาณ 8–11 m) ตัวเลขจริงขึ้นกับผนัง เสาอากาศ และเราเตอร์ ใช้เป็นภาพรวมเท่านั้น
5 GHz ไม่ได้ทำให้ส่งไกลขึ้น มันทำให้คลื่นโล่งขึ้น ถ้าปัญหาคือระยะ อย่าหวังว่าเปลี่ยนเป็น 5 GHz แล้วจะดีขึ้น
ตัวอย่าง: ของเล่นเราต้องการแบนด์วิดท์เท่าไรจริง ๆ
สมมติรถบังคับที่ส่งค่าเซนเซอร์กลับมาที่หน้าเว็บในมือถือ
- หนึ่งข้อความมีค่ามุม ความเร็ว แบตเตอรี่ และเวลา รวมเป็น JSON ราว 64 ไบต์
- ส่ง 20 ครั้งต่อวินาที: 64 × 20 = 1,280 ไบต์ต่อวินาที
- แปลงเป็นบิต: 1,280 × 8 = 10,240 บิตต่อวินาที หรือราว 10 kbit/s
- Wi-Fi ระดับ 1 Mbit/s ซึ่งเป็นอัตราต่ำสุดของ 802.11b ยังมากกว่าที่ใช้ราว 100 เท่า
สรุปคือของเล่นแบบนี้ไม่ได้ขาดความเร็ว สิ่งที่ทำให้รถกระตุกคือแพ็กเก็ตหายหรือรอคิวเพราะคลื่นแน่น ซึ่งเป็นปัญหาที่ 5 GHz ช่วยได้จริง
งานที่แบนด์วิดท์เริ่มมีผล คือของที่ส่งภาพหรือเสียงต่อเนื่อง Espressif เองยกตัวอย่างกล้อง IP และอุปกรณ์สตรีมเป็นกลุ่มที่ได้ประโยชน์จาก 5 GHz
เมื่อไหร่ 5 GHz ช่วยของเล่น
- คอนโดหรือหอพักที่เห็นชื่อ Wi-Fi เป็นสิบ ย่าน 2.4 GHz แน่นจนบอร์ดหลุดบ่อย ย้ายไป 5 GHz แล้วนิ่งขึ้น
- งานโชว์หรืองานแข่ง ที่คนเป็นร้อยถือมือถือและเปิด Bluetooth พร้อมกัน
- ของที่ต้องตอบไว เช่นปุ่มกดเกมตอบคำถามผ่านเราเตอร์ ความหน่วงที่นิ่งสำคัญกว่าความเร็วเฉลี่ย
- บอร์ดอยู่ใกล้เราเตอร์ ห้องเดียวกันหรือห้องติดกัน
เมื่อไหร่ไม่ช่วย
- บอร์ดอยู่สวนหรือโรงรถ ห่างเราเตอร์หลายผนัง ใช้ 2.4 GHz ดีกว่า
- โปรเจกต์ใช้ ESP-NOW ระหว่างบอร์ดสองตัวโดยไม่มีเราเตอร์ (ดูบทรีโมตด้วย ESP-NOW) ปัญหาเรื่องเราเตอร์แน่นไม่เกี่ยว
- ต้องการ Bluetooth Classic เช่นลำโพง C5 ไม่มี
เริ่มเขียนโค้ดกับ C5
- Arduino: Arduino core ของ ESP32 รุ่น 3.3.3 มี ESP32-C5 อยู่ในรายชื่อชิปที่รองรับแล้ว (รุ่น 3.3.0 ยังไม่มี) อัปเดตบอร์ดแพ็กเกจใน Arduino IDE ก่อน แล้วเลือกบอร์ดเป็น ESP32-C5
- ESP-IDF: รองรับเริ่มต้นใน v5.5 ใช้
idf.py set-target esp32c5 - เลือกย่าน: ถ้าเราเตอร์ใช้ชื่อเดียวกันทั้งสองย่าน บอร์ดจะเลือกเอง ถ้าอยากบังคับย่าน ทางง่ายสุดคือแยกชื่อเครือข่าย 2.4 กับ 5 GHz ในเราเตอร์ แล้วให้บอร์ดต่อกับชื่อที่ต้องการ
ข้อผิดพลาดที่เจอบ่อย
- คิดว่า 5 GHz ส่งไกลกว่า ตรงข้าม ระยะสั้นกว่า ถ้าบอร์ดหลุดตอนเดินออกห่าง ลองกลับไป 2.4 GHz
- ใช้โค้ดหรือขาจากบอร์ด C3/C6 แบบไม่ดูผังขา C5 มี GPIO สูงสุด 29 ขา เลขขาบนบอร์ดแต่ละรุ่นไม่ตรงกัน เปิดผังขาของบอร์ดที่ซื้อเสมอ
- Arduino core เก่า รุ่น 3.3.0 ลงไปไม่มี C5 ให้เลือก อัปเดตก่อนแล้วค่อยสงสัยบอร์ด
- ซื้อ C5 เพราะอยากได้ Bluetooth เสียง ไม่มี Bluetooth Classic
- คาดหวัง Wi-Fi 6 เต็มรูปจากเราเตอร์เก่า ฟีเจอร์อย่าง TWT ต้องใช้เราเตอร์ Wi-Fi 6 ด้วย ถ้าเราเตอร์เป็น Wi-Fi 4/5 บอร์ดยังต่อได้ แต่ไม่ได้ฟีเจอร์นั้น
ของเล่นส่วนใหญ่ไม่ต้องการความเร็ว ต้องการคลื่นที่นิ่ง ถ้า 2.4 GHz ที่บ้านนิ่งอยู่แล้ว บอร์ดเดิมก็พอ
แหล่งข้อมูล
- ESP32-C5 Now in Mass Production — Espressif
- Espressif’s ESP32-C5 is now in mass production — Espressif Developer Portal
- Espressif announces ESP32-C5 (2022) — Espressif
- ESP32-C5 product page — Espressif
- Arduino core for ESP32 3.3.3 supported SoCs — Espressif Component Registry
- Wireless Modes and Channels — WatchGuard Docs
คำถามที่พบบ่อย
ESP32-C5 ต่อเราเตอร์ที่มีแต่ 5 GHz ได้ไหม
ได้ เพราะชิปรองรับทั้งสองย่าน แต่ระยะจะสั้นกว่า 2.4 GHz วางบอร์ดให้อยู่ห้องเดียวกับเราเตอร์หรือใกล้ ๆ ก่อนแล้วค่อยขยับออก
ควรเปลี่ยนจาก ESP32-C3 หรือ C6 มาใช้ C5 ทุกโปรเจกต์ไหม
ไม่จำเป็น ถ้า 2.4 GHz ที่บ้านใช้ได้ดีอยู่แล้ว บอร์ดเดิมยังเหมาะกว่าเพราะตัวอย่างโค้ดและบอร์ดให้เลือกเยอะกว่า C5 คุ้มเมื่อเจอปัญหาคลื่นแน่น หรืออยากได้ 5 GHz กับ Thread/Zigbee ในชิปเดียว
ESP32-C5 มี Bluetooth Classic ไหม
ไม่มี มีแค่ Bluetooth 5 (LE) ถ้าต้องส่งเสียงไปลำโพงแบบ Bluetooth Classic ยังต้องใช้ ESP32 รุ่นแรก
วงจรและโค้ดในบทความทดสอบกับบอร์ดตัวอย่าง บอร์ดต่างรุ่นอาจใช้ขาต่างกัน ตรวจ pinout ของบอร์ดที่ใช้ก่อนต่อไฟเสมอ