เมื่อวันที่ 10 พฤศจิกายน 2026 CNX Software รายงานถึง LabWired โปรเจกต์ของนักพัฒนา Andrii Shylenko ที่ทำหน้าที่เป็น "ตัวจำลองบอร์ดไมโครคอนโทรลเลอร์" (MCU firmware simulator) จุดต่างจากตัวจำลองทั่วไปคือมันรัน ไฟล์เฟิร์มแวร์ที่คอมไพล์เสร็จแล้ว ตัวเดียวกับที่จะแฟลชลงชิปจริง และจำลอง ทั้งบอร์ด ไม่ใช่แค่ CPU — รวมถึงเซ็นเซอร์ จอแสดงผล และอุปกรณ์บนบัส I2C/SPI
เกิดอะไรขึ้น
LabWired จับข้อมูลที่เฟิร์มแวร์ส่งออกมาได้ทั้งเอาต์พุต UART ทราฟฟิกบนบัส และสถานะของรีจิสเตอร์ ทำให้ตรวจได้ว่า I2C ส่งถูกไหม SPI แบ่งเฟรมถูกไหม หรือจอแสดงผลออกมาตามที่ควรหรือเปล่า และออกแบบมาให้รันซ้ำได้ใน CI (Continuous Integration ระบบที่รันเทสต์อัตโนมัติทุกครั้งที่มีการแก้โค้ด)
ตัวอย่างในบทความคือใช้ PlatformIO สร้างเฟิร์มแวร์ทดสอบด้วย Unity แล้วรันบน nRF52840 เสมือน ด้วยคำสั่ง pio test --without-uploading -e nrf52840_dkon ผลคือ เทสต์ผ่านทั้ง 3 ข้อใน 1.18 วินาที โดยไม่ต้องเสียบบอร์ดหรือ J-Link เลย
สเปกและรายละเอียดสำคัญ
- สถาปัตยกรรมที่รองรับ: Arm Cortex-M0+, M3, M4, M7, M33, RISC-V และ Xtensa LX6/LX7 (ชิป ESP32 บางรุ่น)
- แพลตฟอร์มที่ยกตัวอย่าง: STM32L476, RP2040, nRF52840, ESP32
- ตัวอย่างบอร์ดสำเร็จรูป: มากกว่า 200 คอนฟิก ในโฟลเดอร์ตัวอย่าง
- Playground บนเบราว์เซอร์: จำลองบอร์ด NUCLEO-L476RG ต่อเซ็นเซอร์อัลตราโซนิก จอ Nokia และ logic analyzer เสมือน
- โค้ด: ตัวแกนเขียนด้วย Rust อยู่บน GitHub (
w1ne/labwired-core) ครอบคลุมตัวจำลอง CPU บัส หน่วยความจำ อุปกรณ์ต่อพ่วง CLI และตัวรันเทสต์
บทความระบุว่า "โค้ดบางส่วนเป็นโอเพนซอร์ส บางส่วนไม่ใช่" — ส่วน UI และ Playground แบบโฮสต์อยู่นอกแพ็กเกจโอเพนซอร์ส และมีแผนราคาแบบ "AI Tokens" สำหรับทีมที่ใช้โครงสร้างพื้นฐานของผู้พัฒนา ส่วนไลเซนส์ MIT ระบุไว้ในคำอธิบายหน้าเว็บ ควรตรวจไฟล์ LICENSE ใน repo อีกครั้งก่อนใช้เชิงพาณิชย์
จุดที่น่าชื่นชมคือโปรเจกต์มี Fidelity Ledger เอกสารที่บอกตรง ๆ ว่าการจำลองส่วนไหนยังไม่เหมือนฮาร์ดแวร์จริง ตัวจำลองที่บอกข้อจำกัดของตัวเองชัด ๆ น่าใช้กว่าตัวที่อ้างว่าเหมือนจริง 100%
สำหรับคนออกแบบ IoT product
ในโปรเจกต์ IoT จริง เฟิร์มแวร์มักต้องรอ PCB รอบแรกกลับจากโรงงาน 2-4 สัปดาห์ และพอมีบอร์ดแล้วก็มักมีแค่ไม่กี่แผ่นให้ทั้งทีมแย่งกันใช้ ตัวจำลองแบบนี้ช่วยให้ทีมเขียนและเทสต์ไดรเวอร์เซ็นเซอร์ โปรโตคอล และตรรกะหลักได้ ก่อนบอร์ดมาถึง และที่สำคัญกว่าคือใช้เป็น regression test (เทสต์กันของเดิมพัง) ทุกครั้งที่แก้โค้ดหรืออัปเดต OTA ยิ่งอุปกรณ์ขายออกไปมาก ค่าเสียหายจากเฟิร์มแวร์อัปเดตพังยิ่งสูง การมีเทสต์อัตโนมัติจึงเป็นต้นทุนที่คุ้ม อย่างไรก็ตาม ไม่ควรใช้แทนการทดสอบบนฮาร์ดแวร์จริงในเรื่องที่ขึ้นกับไทมิงละเอียด การกินไฟ และสัญญาณวิทยุ
เริ่มง่าย ๆ: เลือกเทสต์ที่ไม่ขึ้นกับไทมิง เช่น การ parse ข้อมูลเซ็นเซอร์ การจัดรูปแบบข้อความ MQTT หรือ state machine ของอุปกรณ์ ให้รันบนตัวจำลองใน CI ก่อน แล้วค่อยเพิ่ม hardware-in-the-loop สำหรับส่วนที่ต้องวัดของจริง
LabWired ทำให้ทีม IoT รันเฟิร์มแวร์จริงบนบอร์ดจำลองใน CI ได้ตั้งแต่ก่อนมี PCB — ใช้ลดความเสี่ยงอัปเดตพังได้ดี แต่ยังต้องเทสต์ไทมิง พลังงาน และวิทยุบนฮาร์ดแวร์จริงเสมอ
อ่านซีรีส์ ออกแบบ IoT Product ตั้งแต่ศูนย์จนขายได้
