
Melody Machine เป็นเฟิร์มแวร์โอเพ่นซอร์สที่เปลี่ยนอุปกรณ์ LILYGO T-LoRa Pager ซึ่งใช้ชิป ESP32-S3 ให้กลายเป็นเครื่องเล่น MP3 แบบพกพาและวิทยุอินเทอร์เน็ต แทนการใช้งานเดิมที่เป็นเครื่องส่งข้อความผ่านเครือข่าย LoRa อย่าง Meshtastic หรือ Meshcore
จุดเด่นของเฟิร์มแวร์ Melody Machine:
- อินเทอร์เฟซกราฟิก (GUI) ที่พัฒนาด้วย LVGL พร้อมธีมให้เลือก 4 แบบ
- WiFi Manager — จัดการ WiFi แบบไม่บล็อกระบบ แสดงรายการเครือข่าย ใส่รหัสผ่านผ่านคีย์บอร์ดบนหน้าจอ และเชื่อมต่ออัตโนมัติ
- เล่นไฟล์ MP3 จาก SD Card พร้อมตัวเลือก เรียกดูโฟลเดอร์, โหมดสุ่ม (Shuffle), เล่นซ้ำ (Repeat) และ เลื่อนตำแหน่งเพลง (Seek)
- วิทยุอินเทอร์เน็ตผ่านไฟล์ M3U บน WiFi (รองรับ ICY metadata)
- ฟังก์ชัน Seek — กรอเพลงย้อนหลัง/ไปข้างหน้า ด้วย rotary encoder (ครั้งละ ±5 วินาที)
- การออกแบบแบบ Dual-core:
- ถอดรหัส MP3 ทำงานบน Core 0 ผ่าน FreeRTOS
- UI และ WiFi Manager ทำงานบน Core 1
- การตั้งค่า — บันทึกเป็นไฟล์ JSON ใน SD Card ที่ /melody_machine/settings.json; ค่าคงอยู่แม้รีบูตหรือแฟลชเฟิร์มแวร์ใหม่
- ปิดเครื่องอัตโนมัติ — ตั้งเวลาได้ตั้งแต่ 15 นาที ถึง 2 ชั่วโมง เมื่อไม่มีการใช้งาน


ตัวหมุนแบบ Rotary Encoder และคีย์บอร์ดที่มีมาในตัว ช่วยให้ควบคุมการใช้งานได้อย่างหลากหลาย:
- Rotary encoder
- ใช้เลื่อนดูรายการ
- กดปุ่มเพื่อ เข้าโฟลเดอร์ / เล่นเพลง / ยืนยันคำสั่ง
- คีย์ลัดบนคีย์บอร์ด
- Q / A – เพิ่ม/ลดระดับเสียง +5 / -5
- W / D – เพลงก่อนหน้า / เพลงถัดไป
- Space – เล่น / หยุดชั่วคราว
- B/Backspace – หยุดเพลง · ย้อนกลับโฟลเดอร์ · ออกจากโหมด Seek
- R – เปลี่ยนโหมดเล่นซ้ำ: ปิด → เล่นซ้ำเพลงเดียว → เล่นซ้ำทั้งหมด
- H – เปิด/ปิดโหมดสุ่มเพลง (Shuffle)
- N – เปิด/ปิดโหมด Seek (เฉพาะ MP3 ขณะเล่นหรือหยุดชั่วคราว)
- S – เปิดหน้าการตั้งค่า (Settings)
- S + H – จับภาพหน้าจอ (Screenshot) ลง SD Card
- i – เปิดหน้าช่วยเหลือการควบคุม (Controls Help)
นอกจากนี้จะต้องคัดลอกไฟล์เพลงไปไว้ในโฟลเดอร์ mp3 และไฟล์เพลย์ลิสต์วิทยุอินเทอร์เน็ต (รูปแบบ M3U) ไปไว้ในโฟลเดอร์ m3u ด้วย:
|
1 2 3 4 5 6 7 8 9 10 |
SD:/ └── melody_machine/ ├── settings.json ← auto-created on first boot ├── mp3/ │ ├── song1.mp3 │ └── subfolder/ │ └── song2.mp3 └── m3u/ ├── rock.m3u └── jazz.m3u |
ไฟล์ settings.json จะเก็บค่าการตั้งค่าต่าง ๆ จากแอปไว้ และคุณยังสามารถเพิ่มข้อมูล WiFi (ชื่อเครือข่ายและรหัสผ่าน) ลงในไฟล์นี้ได้โดยตรง แทนการพิมพ์ผ่านตัวเฟิร์มแวร์ขณะกำลังทำงาน
|
1 2 3 4 5 6 7 |
{ "wifi": { "networks": [ { "ssid": "MyNetwork", "pass": "mypassword" } ] } } |
สามารถดูซอร์สโค้ด (Arduino) และเฟิร์มแวร์ที่คอมไพล์สำเร็จแล้วได้บน GitHub โดยสามารถแฟลชเฟิร์มแวร์ด้วย esptool หรือเรียกใช้สคริปต์ melody_flasher.py เพื่อเปิดโปรแกรม GUI สำหรับแฟลชเฟิร์มแวร์ก็ได้
เช่นเดียวกับโปรเจกต์ซอฟต์แวร์ส่วนใหญ่ในปัจจุบัน Melody Machine ได้รับการพัฒนาด้วยความช่วยเหลือจาก AI โดยเฉพาะ Anthropic Claude อย่างไรก็ตาม เฟิร์มแวร์นี้สามารถใช้งานได้จริง ซึ่งสามารถดูได้จากวิดีโอสาธิตด้านล่างที่ใช้ Melody Machine เวอร์ชัน 0.1 (หมายเหตุ: ระดับเสียงในวิดีโอนั้นค่อนข้างเบา) ในเวอร์ชันล่าสุด v0.2 ได้มีการปรับปรุงให้ UI ลื่นไหลและคมชัดยิ่งขึ้น รวมถึงการควบคุมที่ดีขึ้น และในโปรเจกต์นี้ไม่ได้มีการใช้งานวิทยุ LoRa เลย
just released melody machine
open-source firmware for the @lilygo9 T-LoRa Pager
features:
mp3 playback from SD card
internet radio via m3u over WiFi
LVGL UI
dual-core audio/task split
settings persisted on SDGitHub release in the comments 👇 pic.twitter.com/chePDYmg4D
— w3dada (@wadadawadada) April 21, 2026

บรรณาธิการข่าวและบทความภาษาไทย CNX Software ได้มีความสนใจในด้านเทคโนโลยี โดยเฉพาะ Smart Home และ IoT

