เปรียบเทียบ exFAT vs FAT32 บน ESP32 สำหรับงาน Data Logger
เปรียบเทียบ exFAT vs FAT32 บน ESP32 สำหรับงาน Data Logger
งาน Data Logger บน ESP32 เช่น เก็บ sensor, เก็บ waveform, monitoring แบบยาว ๆ หลายชั่วโมงถึงหลายวัน มักจะเจอปัญหาไฟล์เสีย (corrupt), ความเร็วตก และ fragmentation เมื่อใช้ FAT32
บทความนี้จะอธิบายความต่างของ exFAT vs FAT32 บน ESP32 พร้อมคำแนะนำว่าควรเลือกแบบไหน และในกรณีไหนที่ exFAT เหมาะกว่า FAT32

exFAT คืออะไร? ข้อดีข้อเสียบน ESP32
exFAT (Extended File Allocation Table) ถูกออกแบบมาแทน FAT32 เพื่อรองรับไฟล์ขนาดใหญ่และจัดการข้อมูลจำนวนมากได้ดีขึ้น เหมาะกับ Data Logger โดยธรรมชาติ
✔ ข้อดี exFAT
- รองรับไฟล์ > 4GB
- เหมาะกับงานเขียนต่อเนื่อง เช่น data logger / data streaming
- ความเร็วการเขียนมีความคงที่กว่า FAT32
- fragmentation ต่ำกว่า
✖ ข้อเสีย exFAT
- Arduino Core ไม่รองรับตรง ๆ (ต้องใช้ sdmmc + FATFS custom หรือ ESP-IDF)
- บาง SD card มี latency สูงกว่า FAT32 เล็กน้อย
- overhead สูงกว่าเมื่อมีไฟล์เล็กจำนวนมาก (1–4 KB)
FAT32 คืออะไร? ข้อดีข้อเสียบน ESP32
✔ ข้อดี FAT32
- ใช้งานง่ายมาก ESP32 รองรับทันทีทั้ง Arduino และ ESP-IDF
- latency ต่ำ เหมาะงานที่ต้องการ write latency สั้น
- อ่าน/เขียนได้ทุกระบบ ไม่มีปัญหา compatibility
✖ ข้อเสีย FAT32
- จำกัดไฟล์ 4GB
- cluster เล็ก → fragmentation เกิดง่ายเมื่อใช้ยาว
- ไฟดับระหว่างเขียน = ไฟล์พังง่ายกว่า exFAT
- ความเร็วเสื่อมลงเมื่อเก็บข้อมูลต่อเนื่องหลายชั่วโมง/หลายวัน
🧪 เทสจริง: Stress Test & Speed Test
หมายเหตุ: ส่วนนี้จะเพิ่มผลทดสอบจริงภายหลัง เมื่ออุปกรณ์มาถึง (ภายใน 3–4 วัน)
โครงทดสอบที่จะใช้:
1) Sequential Write Test
วัด
- write speed
- latency
- jitter
รูปแบบข้อมูล: 50 bytes/line × 100,000 lines
ผลทดสอบจริง: (จะเพิ่มภายหลัง)
- exFAT: …
- FAT32: …
2) Random Append Test
เปิดไฟล์เดิมแล้ว append 100,000 ครั้ง
เน้นวัดผลด้าน latency jitter
ผลทดสอบจริง: (จะเพิ่มภายหลัง)
3) Power Loss Simulation (ตัดไฟขณะเขียน)
ทดสอบ recovery
- FAT32 มัก corrupted
- exFAT มักฟื้นได้บางส่วน
ผลทดสอบจริง: (จะเพิ่มภายหลัง)
4) Long Duration Logging 8 ชั่วโมง
วัด
- fragmentation ที่เกิดขึ้น
- ความเสถียรการเขียน
- อุณหภูมิ SD card
ผลทดสอบจริง: (จะเพิ่มภายหลัง)
ตารางเปรียบเทียบ exFAT vs FAT32 สำหรับ ESP32
| หัวข้อ | exFAT | FAT32 |
|---|---|---|
| รองรับบน ESP32 Arduino | ต้องใช้ไลบรารีเพิ่ม | รองรับทันที |
| รองรับบน ESP-IDF | ✔ | ✔ |
| ไฟล์ > 4GB | ✔ | ❌ |
| ความเสถียรในงานเขียนยาว | ⭐⭐⭐⭐ | ⭐⭐⭐ |
| ความเร็วต่อเนื่อง | คงที่ | สูงแต่ jitter เยอะ |
| การฟื้นตัวหลังไฟดับ | ดี | พังง่าย |
| Fragmentation | ต่ำ | สูง |
| เหมาะกับ Data Logger ยาว | ✔✔ | ✔ |
สรุป — ควรเลือกอะไรในปี 2025?
หากคุณทำงานประเภท:
- Sensor Logging 24 ชม.
- Waveform Recording
- เขียนไฟล์ยาวไม่ขาดตอน
- ต้องการไฟล์ใหญ่เกิน 4GB
→ แนะนำ exFAT
แต่ถ้าต้องการความง่ายสุด ใช้ Arduino ไม่อยากลงไลบรารีเพิ่ม
→ ใช้ FAT32 ได้เลย
สรุปสั้น ๆ:
exFAT = เสถียรกว่า, ไฟล์ใหญ่ไม่จำกัด, เขียนระยะยาวนานเหมาะกว่า
FAT32 = ติดตั้งง่าย, ใช้งานง่าย, แต่ไฟล์เสียง่ายกว่าในงาน logger หนัก ๆ
FAQ
ESP32 รองรับ exFAT ไหม?
รองรับผ่าน ESP-IDF และ sdmmc/FATFS custom ใน Arduino
exFAT หรือ FAT32 เร็วกว่า?
FAT32 latency เร็วกว่าเล็กน้อย แต่ exFAT เสถียรกว่าเมื่อเขียนยาวหลายชั่วโมงขึ้นไป
ใช้ Data Logger 24 ชม. ควรใช้อะไร?
แนะนำ exFAT
เก็บไฟล์ภาพ/เสียงบน ESP32?
แนะนำ exFAT เพราะไฟล์ใหญ่
สำหรับงาน ESP32 Data Logger จริง ๆ exFAT ให้ความเสถียรและรองรับไฟล์ใหญ่ได้ดีกว่า FAT32 มาก โดยเฉพาะงานเขียนไฟล์ยาวต่อเนื่อง ส่วน FAT32 เหมาะกับงานเบา ๆ ที่ต้องการความง่ายและไม่ต้องใช้ไฟล์ขนาดใหญ่
ตัวอย่างการเขียนโปรแกรมเพื่อใช้งาน คลิก > link