บอร์ด ODROID-M1S ได้ออกแบบมาสำหรับการเฉลิมฉลองวันครบรอบ 15 ปีของ Hardkernel โดยเมื่อเทียบกับบอร์ด SBC ODROID-M1 รุ่นเดิมที่ใช้ CPU Rockchip RK3568 SoC ที่เปิดตัวไปเมื่อปีที่แล้วนั้น บอร์ด ODROID-M1S มีขนาดเล็กกว่า ราคาถูกกว่า โดยเริ่มต้นที่ $49 (~1,700฿) และมีประสิทธิภาพมากกว่าเดิม
โดย Hardkernel ได้แจ้งว่าจะส่งบอร์ด ODROID-M1S รุ่นหน่วยความจำขนาด 8GB และพื้นที่เก็บข้อมูลขนาด 64GB มาให้ทำการรีวิว พร้อมด้วยอุปกรณ์เสริมที่ออกแบบมาสำหรับ ODROID-M1S โดยเฉพาะ และบอร์ดก็ส่งถึงมือผม ดังนั้นเรามาแกะกล่องกันดีกว่าครับ
แกะกล่องบอร์ด ODROID-M1S พร้อมอุปกรณ์เสริม
ในกล่องพัสดุที่ส่งมาจาก Hardkernel ประกอบด้วยกล่องของบอร์ด ODROID-M1S และจอ VU8S ซึ่งเป็นจอพร้อมหน้าจอสัมผัสขนาด 8″ ที่ออกแบบมาเพื่อบอร์ด ODROID-M1S ไ พร้อมอุปกรณ์เสริมที่ส่งมาด้วยอีก 2 ชิ้นคือคือ UPS โมดูล และ Wi-Fi dongle แบบ AC ใช้สามารถงาน Wi-Fi 5Ghz ได้
โดย UPS โมดูลจะมาแบบไม่มีถ่านมาด้วย เราจำเป็นจะต้องหาถ่านขนาด 18650 มาต่อเพื่อใช้งาน และการใช้งานนั้นสามารถเชื่อมต่อกับบอร์ด ODROID-M1S ทาง GPIO header 14 พินได้เลย ในส่วนของ Wi-Fi dongle ที่ต้องให้ Hardkernel ส่งมาให้รีวิวด้วยก็เนื่องจากว่าบอร์ด ODROID-M1S ไม่มี Wi-Fi อยู่บนบอร์ดนั่นเอง
ในส่วนของกล่องบอร์ด ODROID-M1S นั้นจะมีบอร์ดที่ประกอบลงเคสสีดำมาให้เรียบร้อยพร้อมกับ adaptor USB type C 5V 3A ซึ่ง บอร์ด ODROID-M1S ถ้าอยู่ในเคสเราจะสามารถต่อใช้งานได้แค่ HDMI USB2.0,USB 3.0,USB OTG แล้วก็ Ethernet พอร์ตเท่านั้น ถ้าอยากใช้งาน GPIO ต้องตัดกล่อง(กล่องออกแบบไว้ให้ตัดได้อยู่แล้ว)
ในส่วนของจอ VU8S ที่ส่งมาให้ทดสอบเป็นหน้าจอ TFT ขนาด 8″ ความละเอียด 800 x 1280 พร้อมทัชสกรีนแบบคาปาซิทีฟ 5 จุด สามารถเชื่อมต่อกับบอร์ด ODROID-M1S ได้ผ่านทางคอนเน็คเตอร์ MIPI DSI แบบ 30 พิน โดยมีชุดอุปกรณ์สำหรัลยึดบอร์ดมาให้ด้วย
แนะนำฮาร์ดแวร์
คุณสมบัติ
- SoC – โปรเซสเซอร์ Rockchip RK3566 quad-core Cortex-A55 @ สูงสุด 1.8 GHz พร้อม GPU Arm Mali-G52 MP2 @ 800 MHz, AI accelerator 0.8 TOPS
- หน่วยความจำ – RAM LPDDR4 ขนาด 4GB หรือ 8GB ความเร็ว 2112 MT/s หรือสูงสุด 1,055 MHz
- ที่เก็บข้อมูล
- eMMC flash ขนาด 64GB (บัดกรีบน PCB) ทดสอบ benchmark ความเร็วสูงสุด 180MB/s พร้อม fio
- ช่องเสียบ MicroSD card slot (UHS-I SDR104, Boot priority สูงกว่าeMMC flash)
- ช่องเสียบ M.2 NVMe M-Key 2280 socket (1-lane PCIe 2.1) ทดสอบ benchmark ความเร็วสูงสุด 400MB/s พร้อม fio (หมายเหตุ: ODROID-M1 สามารถรองรับ 1,600MB/s ด้วย PCIe 3.0)
- เอาท์พุตวิดีโอ
- 1x พอร์ต HDMI 2.0 สูงสุด 4Kp60 พร้อม HDR, EDID
- คอนเนกเตอร์ MIPI DSI 4 เลน ( 30-pin, ในขณะที่ ODROID-M1 มีคอนเนกเตอร์ 31-pin )
- Audio– แจ็คหูฟัง 3.5 มม., เอาต์พุตลำโพงโมโน (1.3W ที่โหลด 8Ω)
- ระบบเครือข่าย – พอร์ต Gigabit Ethernet RJ45 ผ่านตัวรับส่งสัญญาณ Realtek RTL8211F Ethernet
- USB
- 1 x พอร์ต USB 3.0
- 1x พอร์ต USB 2.0
- 1 x พอร์ต Micro USB 2.0 OTG
- ส่วนขยาย – 40-pin GPIO header + 14-pin GPIO header (ทั้งสอง headers เป็นตัวเลือก)
- การดีบัก – UART header สำหรับ serial console
- อื่น ๆ – ตัวรับสัญญาณอินฟราเรด, คอนเนกเตอร์ RTC battery, 2x LED ระบบ , LED M.2
- การจ่ายไฟ – 5V/3A ผ่านพอร์ต USB Type-C
- การใช้พลังงาน
- ปิดเครื่อง – 0 วัตต์
- ไม่ได้ใช้งาน – 1 .1 วัตต์ (รุ่นเดิม 1.3 วัตต์)
- CPU stress – 3.52 วัตต์ พร้อม performance governor (รุ่นเดิม 4.5 วัตต์)
- ขนาด – 90 x 65 x 16 มม. (ODROID-M1: 123 x 100 x 19 มม. พร้อมฮีทซิงค์)
- น้ำหนัก – 52 กรัม พร้อมฮีทซิงค์
ด้านบนของบอร์ด ODROID-M1S
โดยเมื่อเราทำการแกะ heatsink ออกจะพบชิปสามตัวคือส่วนของ CPU, RAM และ eMMC นอกจากนั้นบนบอร์ดก็จะมี ชิป PMIC ของ Rockchip เบอร์ RK809-5 และส่วนของ Ethernet จะเป็นชิป ของ Realtek เบอร์ RTL8211F
GPIO Header
ประกอบด้วย GPIO header จำนวนสองชุดคือคอนเน็คเตอร์ J4 ขนาด 40 พิน และ คอนเน็คเตอร์ J3 ขนาด 14 พิน โดย คอนเน็คเตอร์ J4 ขนาด 40 พิน นั้นจะ compatible กับ Raspberry Pi ส่วน GPIO header J3 อีกชุดนั้นจะใช้งานกับอุปกรณ์เสริมต่าง ๆ ของ ODROID เพราะมี USB,I2C,UART,ช่องต่อหูฟัง และปุ่ม power+reset อยู่ภายในพินขนาด 7X2 นี้
J3 GPIO header สำหรับต่ออุปกรณ์เสริม
J4 GPIO header สำหรับต่อใช้งานทั่วไป
MIPI-DSI
สามารถใช้เชื่อมต่อกับจอของ ODROID ได้สองรุ่นคือ ODROID-Vu5S ขนาด 5″ และ ODROID-Vu8S ขนาด 8″ ได้ โดยสามารถใช้งาน Capacitive touch ที่หน้าจอได้เลยหลังจากตั้งค่าเพือใช้งานหน้าจอแล้ว
การเชื่อมต่อสายจอเข้ากับคอนเนคเตอร์ MIPI CSI
M.2. M-KEY
บอร์ด ODROID-M1S สามารถต่อ SSD M.2 NVMe แบบ M key ขนาด 2280 ได้หรือเชื่อมต่อ Google coral accelerator แบบM.2 แต่ทำงานที่มาตรฐาน PCIe 2.1 (Gen2) แบบ 1 เลน เท่านั้น
ทดสอบลงระบบปฎิบัติการบนบอร์ด ODROID-M1S
บอร์ด ODROID-M1S สนับสนุนระบบปฎิบัติการอยู่สามรุ่นคือ
- Android 11
- Ubuntu 20.04 LTS แบบ Desktop
- Ubuntu 20.04 LTS แบบ Server
เราจะทดสอบเปิดเครื่องและติดตั้งระบบปฎิบัติการกัน
เนื่องจากใน eMMC จากโรงงานจะติดตั้งโปรแกรมช่วยติดตั้งมาให้เรา ทำให้การใช้งานครั้งแรกหลังจากบูตจะเป็นหน้าต่างให้เราสามารถเลือกระบบปฎิบัติการที่ต้องการติดตั้งได้เลย
สามารถติดตั้งแบบออฟไลน์ได้โดยไม่ต้องเชื่อมต่อกับอินเตอร์เน็ตแต่อย่างใด ใช้เวลาติดตั้งไม่น่าก็จะแจ้งให้เรากดเลือกตกลงเพื่อรีบูตระบบ
หลังจากนั้นก็จะปรากฎหน้าต่างล็อกอินดังรูป ซึ่ง username และ password ของ ubuntu บน ODROID คือ odroid:odroid
ตรวจสอบข้อมูลระบบ
หลังจากติดตั้งระบบปฎิบัติการ Ubuntu 20.04 เรียบร้อยแล้วหลังจากล็อกอินเข้าระบบเราจะทำการตรวจสอบข้อมูลระบบต่าง ๆ กัน โดยในส่วนของตัว Ubuntu จะเป็นเวอร์ชั่น 20.04 แต่ kernel จะเป็น เวอร์ชั่น 5.10 แล้ว
1 2 3 4 5 6 7 |
odroid@gnome-desktop:~$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=20.04 DISTRIB_CODENAME=focal DISTRIB_DESCRIPTION="Ubuntu 20.04.6 LTS" odroid@gnome-desktop:~$ uname -a Linux gnome-desktop 5.10.0-odroid-arm64 #1 SMP Ubuntu 5.10.160-202312141059~focal (2023-12-14) aarch64 aarch64 aarch64 GNU/Linux |
ในส่วนของ RAM จะมีขนาด 8GB ถูกใช้งานไปเพียง 600 MB เท่านั้นยังเหลือให้สามารถติดตั้งโปรแกรมหรือเซอร์วิสได้อีกมาก ฺ
1 2 3 4 |
odroid@gnome-desktop:~$ free -m total used free shared buff/cache available Mem: 7676 636 6305 23 735 6938 Swap: 0 0 0 |
ในส่วนของพื้นที่เก็บข้อมูล /dev/mmcblk0 จะเป็น eMMC ขนาด 64 GB และเนื่องจากเราได้ติดตั้ง M.2 SSD NVMe ลงไปด้วยก็จะแสดงข้อมูลเป็น /dev/nvme0n1 ขนาดความจุ 232.91 GB ขึ้นมาด้วย
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
odroid@gnome-desktop:~$ sudo fdisk -l Disk /dev/ram0: 4 MiB, 4194304 bytes, 8192 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk /dev/nvme0n1: 232.91 GiB, 250059350016 bytes, 488397168 sectors Disk model: WD_BLACK SN770 250GB Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/mmcblk0: 58.25 GiB, 62537072640 bytes, 122142720 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x7d086191 Device Boot Start End Sectors Size Id Type /dev/mmcblk0p1 6144 530431 524288 256M 83 Linux /dev/mmcblk0p2 530432 122142719 121612288 58G 83 Linux |
ทดสอบอุปกรณ์เสริมของ ODROID ร่วมกับบอร์ด ODROID-M1S
หน้าจอ ODROID-Vu8S
บอร์ด ODROID-M1S นั้นมีคอนเน็คเตอร์ MIPI DSI แบบ 30 พิน ซึ่งจะใช้งานได้กับจอจาก ODROID 2 รุ่นคือ คือ ODROID-Vu5S ขนาด 5″ และ ODROID-Vu8S ขนาด 8″ ซึ่ง ODROID-Vu8S มีหน้าจอ TFT ขนาด 8″ ความละเอียด 800 x 1280 พร้อมทัชสกรีนแบบคาปาซิทีฟ 5 จุด โดยต้องมีการตั้งค่าเพื่อเลือกว่าจะให้สัญญาณภาพออกไปช่องทาง HDMI หรือ DSI ซึ่งต้องทำการแก้ไขในไฟล์ /boot/config.ini
1 2 3 4 5 6 7 8 |
odroid@gnome-desktop:~$ cat /boot/config.ini [generic] #default_console=ttyFIQ0 overlay_resize=16384 overlays="i2c0 i2c1 spi0 display_vu8s" [overlay_custom] overlays="i2c0 i2c1" |
เพื่อสั่งให้ทำการโหลด device tree ของจอขึ้นมา โดยเราจะเพิ่ม overlay ที่ชื่อ display_vu8s ลงไปในส่วนของ overlays จากนั้นทำการบันทึกไฟล์และเริ่มการทำงานของระบบใหม่ จะพบว่าสัญญาณภาพจะไปปรากฎที่หน้าจอ ODROID-Vu8S แทนพร้อมกับที่เราสามารถล็อกอินรหัสผ่านด้วยการใช้ On-Screen Keyboard ได้ทันที แต่เนืองจากหน้าจอเป็นแนวตั้งเราต้องทำการตั้งค่าให้เป็นแนวนอนดังนี้
หน้าล็อกอิน ทำการคัดลอกไฟล์ไปยัง /var/lib/gdm3 ด้วยคำสั่ง sudo cp ~/.config/monitors.xml /var/lib/gdm3/.config/
หน้า desktop ต้องตั้งค่าผ่าน Settings → Displays แก้ในหัวข้อ Orientation
โมดูล UPS
โมดูล UPS สำหรับ M1S ตัวนี้ถูกออกแบบมาเพื่อให้สามารถจ่ายไฟสำรองให้กับบอร์ด ODROID-M1S ได้แม้ว่าไฟฟ้า AC จะดับไปโดย สามารถสำรองได้นานถึง 4 ชั่วโมงถ้าใช้แบตเตอรี่ขนาด 18650 ความจุ 3600mAh คิดเฉลี่ยที่การบริโภคกระแสของ ODROID-M1S ที่ 500mA โดยโมดูล UPS นี้จ่ายกระแสได้สูงสุดถึง 3A และสามารถสื่อสารกับบอร์ด ODROID-M1S ได้ผ่านทาง UART บนคอนเนคเตอร์ J3 ได้ด้วยทำให้เมื่อแบตเตอรี่แรงดันต่ำใกล้จะหมดสามารถส่งคำสั่งไปเพื่อทำการ shutdown ได้และเมื่อไฟฟ้า AC กลับมาก็จะทำการจ่ายไฟใหม่เพื่อเริ่มการทำงานอีกครั้งโดยอัตโนมัติ
โดยการต่อใช้งานทำได้ง่ายๆ แต่ต้องห้ามพลาดคือการต่อสาย 14 พืนเชื่อมระหว่างบอร์ด ODROID-M1S กับ UPS โมดูลสำหรับ M1S โดยให้ตำแหน่งขาบนคอนเนคเตอร์ตรงกัน เมื่อต่อสายบอร์ด ODROID-M1S ก็จะเริ่มต้นทำงานทันที
Wi-Fi Dongle 5BK
เนื่องจากบนบอร์ด ODROID-M1S ไม่มี Wi-Fi และ Bluetooth Wi-Fi Dongle 5BK เลยจะมาช่วยเติมเต็มสิ่งที่ขาดหายไปโดยการใช้งานก็เพียงแค่เสียบลงไปบนบอร์ด ODROID-M1S เท่านั้นก็สามารถใช้งาน Wi-Fi ได้ทันที
1 2 3 4 5 6 7 8 9 10 |
odroid@gnome-desktop:~$ lsmod Module Size Used by bnep 20480 2 8821cu 2387968 0 cfg80211 614400 1 8821cu sch_fq_codel 20480 6 rfkill 24576 7 cfg80211 ip_tables 24576 0 ipv6 442368 44 autofs4 36864 0 |
ทำการทดลอง scan หา Wi-Fi ในพื้นที่ ด้วยคำสั่ง iwlist
การตั้งค่าการเชื่อมต่อ Wi-Fi สามารถทำได้ผ่าน nmtui หรือบน settings ของ Ubuntu
แต่การใช้งาน Bluetooth ต้องมีการตั้งค่าเพิ่มเติมเนื่องจากไม่ได้มีการโหลด kernel โมดูลที่เกี่ยวข้องกับ Bluetooth ลงไปเราจึงต้องไปเพิ่มในไฟล์ /etc/modules-load.d/modules.conf ดังนี้
1 2 3 4 5 6 7 8 |
odroid@gnome-desktop:~$ cat /etc/modules-load.d/modules.conf # /etc/modules: kernel modules to load at boot time. # # This file contains the names of kernel modules that should be loaded # at boot time, one per line. Lines beginning with "#" are ignored. btusb btrtl bluetooth |
หลังจากบันทึกไฟล์ /etc/modules-load.d/modules.conf แล้วลองเริ่มระบบใหม่ แล้วทดสอบการ scan หาอุปกรณ์ BLE ในบริเวณใกล้ ๆ ดูก็พบว่าสามารถทำงานได้เป็นอย่างดี
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
odroid@gnome-desktop:~$ sudo hcitool lescan [sudo] password for odroid: LE Scan ... 63:52:5A:C3:F9:CF (unknown) BC:57:29:02:9E:FB (unknown) BC:57:29:02:9E:FB (unknown) 6E:DB:A5:70:59:4A (unknown) 6E:DB:A5:70:59:4A (unknown) F9:D9:E1:A8:08:28 (unknown) 6E:DB:A5:70:59:4A (unknown) 6E:DB:A5:70:59:4A (unknown) DC:23:4F:72:00:4C (unknown) 7F:CB:80:CA:F4:11 (unknown) 7F:CB:80:CA:F4:11 (unknown) BC:57:29:02:9E:FB (unknown) BC:57:29:02:9E:FB ezyThermo_372397 DC:23:4F:72:00:4C (unknown) |
ทดสอบเล่นไฟล์เสียงผ่าน Bluetooth ของบอร์ด ODROID-M1S ให้คุณภาพของเสียงที่ดี ไม่มีการสะดุดของเสียงระหว่างการเล่น
สรุปผลการใช้งานบอร์ด ODROID-M1S
บอร์ด ODROID-M1S นั้นใช้ CPU Rockchip RK3566 SoC ซึ่งคล้ายกับ RK3568 ในรุ่น M1 โดย M1S มีการออกแบบ GPIO header แยกสำหรับการเชื่อมต่ออุปกรณ์เสริมซึ่งก็ดีมาก และบอร์ด ODROID-M1S มีหน่วยความจำแบบ DDR4 ขนาด 4GB หรือ 8GB ให้เลือกได้ และ eMMC flash ขนาด 64GB บัดกรีบนบอร์ดเปลี่ยนความจุไม่ได้ (แทนคอนเนกเตอร์ eMMC flash แบบเดิม) สามารถแสดงผลสัญญาณภาพได้สองแบบคือ HDMI 2.0 และ MIPI DSI ในส่วนของเน็ตเวิร์คมีพอร์ต Gigabit Ethernet จำนวน 1 พอร์ต และพอร์ต USB ทั้งหมดจำนวน 4 พอร์ต ในส่วนของ GPIO นั้น บอร์ด ODROID-M1S มี GPIO header 2 ช่องสำหรับใช้งานทั่วไปและสำหรับต่ออุปกรณ์เสริม
เมื่อเทียบกับ ODROID-M1 แล้ว บอร์ด ODROID-M1S มีซ็อกเก็ต M.2 ที่รองรับเฉพาะ PCIe 2.1 ไม่มี SPI flash, พอร์ต SATA และคอนเนกเตอร์กล้อง MIPI CSI สำหรับเชื่อมต่อกล้อง และในส่วนของพาวเวอร์ซัพพลายยังเปลี่ยนจากช่อง DC jack 12V เป็นพอร์ต USB-C 5V ที่หาได้ง่ายขึ้น
จากการใช้งานทดสอบเบื้องต้นบน Ubuntu พบว่าการใช้งานเว็บเบราเวอร์ทำได้ดี การเล่นไฟล์บน youtube ไม่มีเสียงกระตุกให้ได้ยิน
ซึ่งในบทความถัดไปจะเป็นการทดสอบประสิทธิภาพทางด้านต่าง ๆของ บอร์ด ODROID-M1S
และต้องขอขอบคุณทาง Hardkernel ที่ได้ส่งบอร์ด ODROID-M1S และอุปกรณ์เสริมมาให้รีวิว ซึ่งบอร์ด ODROID-M1S และอุปกรณ์เสริมสามารถซื้อได้ดังนี้
- รุ่นหน่วยความจำ 4GB และพื้นที่เก็บข้อมูล 64 GB ราคา $49(~1,700฿)
- รุ่นหน่วยความจำ 8GB และพื้นที่เก็บข้อมูล 64 GB ราคา$59(~2,000฿)
- หน้าจอ ODROID-Vu8S ราคา$39(~1,300฿)
- UPS โมดูล ราคา$9(~300฿)
- Wi-Fi dongle 5BK ราคา$8.90(~310฿)
Fulltime Maker
ปัจจุบันดูแลส่วนงาน R&D และ Innovation
ความสนใจคือ Single Board Computer และงานด้าน IoT