We’ve already checked out the hardware for LattePanda Mu and tested it on Windows 11 using both the Lite Carrier Board and Full-Function Evaluation in the first part of the review. We’ve now had time to test the LattePanda Mu Intel N100 board with Ubuntu 24.04 to see how it performs in Linux with the following tests:
- Initial system information
- Benchmarks for CPU, disks, peripherals, and networking (GbE and WiFi)
- Web and multimedia usage
- Power consumption
Since LattePanda Mu is an x86 machine, we can create a boot disk from the Ubuntu 24.04 ISO as we would on a PC.
LattePanda Mu – Ubuntu 24.04 system information
The installation went smoothly, and upon completion, we checked basic system information.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
root@UnoIoT-PC:~# cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=24.04 DISTRIB_CODENAME=noble DISTRIB_DESCRIPTION="Ubuntu 24.04 LTS" root@UnoIoT-PC:~# uname -a Linux UnoIoT-PC 6.8.0-38-generic #38-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 7 15:25:01 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux root@UnoIoT-PC:~# df -mh Filesystem Size Used Avail Use% Mounted on tmpfs 765M 2.4M 763M 1% /run /dev/mmcblk0p2 56G 14G 40G 25% / tmpfs 3.8G 0 3.8G 0% /dev/shm tmpfs 5.0M 8.0K 5.0M 1% /run/lock efivarfs 192K 86K 102K 46% /sys/firmware/efi/efivars /dev/mmcblk0p1 1.1G 6.2M 1.1G 1% /boot/efi tmpfs 765M 92K 765M 1% /run/user/120 tmpfs 765M 76K 765M 1% /run/user/0 |
Ubuntu 24.04 was installed on the 64MB eMMC flash, and only 933MB of the 8GB RAM was used by the system.
The inxi command allows us to check other devices in the system:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
root@UnoIoT-PC:~# inxi -Fc0 System: Host: UnoIoT-PC Kernel: 6.8.0-38-generic arch: x86_64 bits: 64 Console: pty pts/0 Distro: Ubuntu 24.04 LTS (Noble Numbat) Machine: Type: Desktop Mobo: N/A model: ADL-N v: Prod serial: W43211146A000820 UEFI: American Megatrends LLC. v: 5.27 date: 03/12/2024 CPU: Info: quad core model: Intel N100 bits: 64 type: MCP cache: L2: 2 MiB Speed (MHz): avg: 700 min/max: 700/3400 cores: 1: 700 2: 700 3: 700 4: 700 Graphics: Device-1: Intel Alder Lake-N [UHD Graphics] driver: i915 v: kernel Display: server: X.org v: 1.21.1.11 with: Xwayland v: 23.2.6 driver: N/A tty: 120x30 API: EGL v: 1.5 drivers: iris,swrast platforms: gbm,surfaceless,device API: OpenGL v: 4.6 compat-v: 4.5 vendor: mesa v: 24.0.9-0ubuntu0.1 note: console (EGL sourced) renderer: Mesa Intel Graphics (ADL-N), llvmpipe (LLVM 17.0.6 256 bits) Audio: Device-1: Intel Alder Lake-N PCH High Definition Audio driver: snd_hda_intel API: ALSA v: k6.8.0-38-generic status: kernel-api Network: Device-1: Realtek RTL8822CE 802.11ac PCIe Wireless Network Adapter driver: rtw_8822ce IF: wlp1s0 state: up mac: 34:7d:e4:ba:cc:4a Device-2: Intel Ethernet I225-V driver: igc IF: enp2s0 state: down mac: 00:e0:4c:09:d8:bc Bluetooth: Device-1: Realtek Bluetooth Radio driver: btusb type: USB Report: hciconfig ID: hci0 state: up address: 34:7D:E4:BA:CC:4B bt-v: 5.1 Drives: Local Storage: total: 58.24 GiB used: 13.24 GiB (22.7%) ID-1: /dev/mmcblk0 vendor: Samsung model: CUTA42 size: 58.24 GiB type: Removable Partition: ID-1: / size: 55.99 GiB used: 13.23 GiB (23.6%) fs: ext4 dev: /dev/mmcblk0p2 ID-2: /boot/efi size: 1.05 GiB used: 6.1 MiB (0.6%) fs: vfat dev: /dev/mmcblk0p1 Swap: ID-1: swap-1 type: file size: 4 GiB used: 0 KiB (0.0%) file: /swap.img Sensors: System Temperatures: cpu: 38.0 C mobo: N/A Fan Speeds (rpm): N/A Info: Memory: total: 8 GiB available: 7.47 GiB used: 933.6 MiB (12.2%) igpu: 128 MiB Processes: 207 Uptime: 2m Init: systemd Shell: Bash inxi: 3.3.34 |
LattePanda Mu benchmarks on Ubuntu 24.04
Let’s start benchmarks with Thomas Kaiser’s sbc-bench.sh script and the LattePanda Mu fitted with its active cooler:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 |
root@UnoIoT-PC:/home/arnon# sudo ./sbc-bench.sh -r Starting to examine hardware/software for review purposes... sbc-bench v0.9.67 Installing needed tools: distro packages already installed. Done. Checking cpufreq OPP. Done. Executing tinymembench. Done. Executing RAM latency tester. Done. Executing OpenSSL benchmark. Done. Executing 7-zip benchmark. Done. Throttling test: heating up the device, 5 more minutes to wait. Done. Checking cpufreq OPP again. Done (10 minutes elapsed). Results validation: * Measured clockspeed not lower than advertised max CPU clockspeed * No swapping * Background activity (%system) OK * Powercap detected. Details: "sudo powercap-info -p intel-rapl" -> https://tinyurl.com/4jh9nevj Full results uploaded to https://0x0.st/Xfgy.bin # ADL-N / N100 Tested with sbc-bench v0.9.67 on Mon, 29 Jul 2024 16:59:06 +0700. Full info: [https://0x0.st/Xfgy.bin](http://0x0.st/Xfgy.bin) ### General information: Information courtesy of cpufetch: Name: Intel(R) N100 Microarchitecture: Alder Lake Technology: 10nm Max Frequency: 3.400 GHz Cores: 4 cores AVX: AVX,AVX2 FMA: FMA3 L1i Size: 64KB (256KB Total) L1d Size: 32KB (128KB Total) L2 Size: 2MB L3 Size: 6MB N100, Kernel: x86_64, Userland: amd64 CPU sysfs topology (clusters, cpufreq members, clockspeeds) cpufreq min max CPU cluster policy speed speed core type 0 0 0 700 3400 Alder Lake 1 0 1 700 3400 Alder Lake 2 0 2 700 3400 Alder Lake 3 0 3 700 3400 Alder Lake 7650 KB available RAM ### Clockspeeds (idle vs. heated up): Before at 47.0°C: cpu0: OPP: 3400, Measured: 3388 After at 80.0°C: cpu0: OPP: 3400, Measured: 3387 ### Performance baseline * memcpy: 10621.5 MB/s, memchr: 17372.4 MB/s, memset: 11022.5 MB/s * 16M latency: 120.3 112.7 120.7 112.8 119.8 104.6 99.49 104.0 * 128M latency: 134.8 133.2 135.0 134.2 135.9 127.1 117.1 117.6 * 7-zip MIPS (3 consecutive runs): 13671, 13756, 13741 (13720 avg), single-threaded: 3811 * `aes-256-cbc 894307.23k 1177856.64k 1217782.78k 1227432.28k 1231426.90k 1230908.07k` * `aes-256-cbc 903109.40k 1177899.58k 1217397.08k 1227928.92k 1230443.86k 1231071.91k` ### PCIe and storage devices: * Intel Alder Lake-N Thunderbolt 4 USB (Onboard - Other): driver in use: xhci_hcd * Intel Alder Lake-N PCH USB 3.2 xHCI Host (Onboard - Other): driver in use: xhci_hcd * Intel Device 54c4 (Onboard - Other): driver in use: sdhci-pci * Realtek RTL8822CE 802.11ac PCIe Wireless Network Adapter: Speed 2.5GT/s, Width x1, driver in use: rtw_8822ce, * Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet: Speed 2.5GT/s, Width x1, driver in use: r8169, * 58.2GB "Samsung CUTA42" HS400 Enhanced strobe eMMC 5.1 card as /dev/mmcblk0: date 02/2022, manfid/oemid: 0x000015/0x0100, hw/fw rev: 0x0/0x0100000000000000 * Winbond W25Q128 16MB SPI NOR flash, drivers in use: spi-nor/intel-spi ### Swap configuration: * /swap.img on /dev/mmcblk0p2: 4.0G (0K used) on MMC storage ### Software versions: * Ubuntu 24.04 LTS (noble) * Compiler: /usr/bin/gcc (Ubuntu 13.2.0-23ubuntu4) 13.2.0 / x86_64-linux-gnu * OpenSSL 3.0.13, built on 30 Jan 2024 (Library: OpenSSL 3.0.13 30 Jan 2024) ### Kernel info: * `/proc/cmdline: BOOT_IMAGE=/boot/vmlinuz-6.8.0-39-generic root=UUID=d7c7dea8-d8ba-4994-8ee2-6ce309f2d96f ro quiet splash vt.handoff=7` * Vulnerability Reg file data sampling: Mitigation; Clear Register File * Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl * Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization * Kernel 6.8.0-39-generic / CONFIG_HZ=1000 Waiting for the device to cool down........... 39.0°C All known settings adjusted for performance. Device now ready for benchmarking. Once finished stop with [ctrl]-[c] to get info about throttling, frequency cap and too high background activity all potentially invalidating benchmark scores. All changes with storage and PCIe devices as well as suspicious dmesg contents will be reported too. Time CPU load %cpu %sys %usr %nice %io %irq Temp 16:59:28: 2900MHz 2.64 35% 0% 34% 0% 0% 0% 53.0°C 17:00:28: 3186MHz 1.02 0% 0% 0% 0% 0% 0% 34.0°C 17:01:29: 3064MHz 0.43 0% 0% 0% 0% 0% 0% 33.0°C 17:02:29: 3102MHz 0.16 0% 0% 0% 0% 0% 0% 34.0°C 17:03:29: 2917MHz 0.06 0% 0% 0% 0% 0% 0% 33.0°C 17:04:29: 3100MHz 0.02 0% 0% 0% 0% 0% 0% 34.0°C 17:05:29: 3097MHz 0.00 0% 0% 0% 0% 0% 0% 35.0°C 17:06:29: 3311MHz 0.00 0% 0% 0% 0% 0% 0% 35.0°C 17:07:29: 3216MHz 0.05 0% 0% 0% 0% 0% 0% 34.0°C Cleaning up. Done. Checking cpufreq OPP again. Done. Clockspeeds now at 51.0°C: cpu0: OPP: 3400, Measured: 3387 Results validation: * Measured clockspeed not lower than advertised max CPU clockspeed * No swapping * Background activity (%system) OK * Powercap detected. Details: "sudo powercap-info -p intel-rapl" -> https://tinyurl.com/4jh9nevj |
The CPU temperature goes up 84°C with the 7-zip multi-core benchmark, and the CPU frequency gradually drops to around 2,900 MHz at 75°C, while it was 3,100 MHz at 60°C and gradually decreases to 2,900 MHz when the temperature is over 75°C showing active cooler is sufficient to cool the system, but power limits come into play. The test room was at an ambient temperature of approximately 29°C and the fan was working all the time during the test.
The results for memory bandwidth, 7-zip, and OpenSSD for the LattePanda Mu are as expected compared to other Alder Lake-N systems we’ve reviewed in Linux.
Storage (eMMC, NVMe SSD) performance testing
We’ll use iozone3 to test the eMMC flash performance with parameters to disable caching:
1 2 3 4 5 6 7 8 9 10 11 |
root@UnoIoT-PC:/home/arnon# sudo iozone -e -I -a -s 512M -r 1024k -r 16384k -i 0 -i 1 -i 2 Iozone: Performance Test of File I/O Version $Revision: 3.506 $ Compiled for 64 bit mode. Build: linux-AMD64 random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 524288 1024 103772 107436 295798 294323 296530 106148 524288 16384 107652 106822 307988 308700 309198 107570 iozone test complete. |
The 64GB eMMC flash achieved around 301 MB/s for reads, and around 104 MB/s for writes within the stated speeds of eMMC 5.1 flash.
We repeated the test with the same WD_BLACK SN770 NVMe SSD as used in Windows:
1 2 3 4 5 6 7 |
Command line used: iozone -e -I -a -s 512M -r 1024k -r 16384k -i 0 -i 1 -i 2 random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 524288 1024 1888958 1850547 2903661 2451318 2587007 1894214 524288 16384 1826768 1887713 3138602 3144076 3143191 1934963 iozone test complete. |
The WD_BLACK SN770 NVMe SSD supports PCIe Gen 4.0 x4 with a sequential read speed of up to 4,000 MB/s and a sequential write speed of up to 2,000 MB/s. However, since the LattePanda Mu board only supports PCIe 3.0 x4 due to the Intel N100 SoC’s limitation, and the measured read speed is around 2.994 GB/s and the write speed is 1.742 GB/s, very similar to the results we got with CrystalDiskMark benchmarks on Windows 11.
Web browsing performance
We’ll use Speedometer 2.0 to check the performance of each web browser. On Ubuntu 24.04, only Firefox comes pre-installed by default, and so we installed Chromium ourselves.
181 runs per minute on Chromium is about 12% higher than the score on Firefox (160 runs per minute)
The Firefox score is about 3 times higher than the Raspberry Pi 5 board which scored 56 points (in November 2023).
Graphics testing
glmark2-es2-wayland
We tested with the board with the glmark2-es2-wayland command to test the performance. The glmark2-es-wayland score is 3,220 points higher than the Raspberry Pi 5 (2,036 points), but lower than the RK3588-based NanoPi R6S SBC which scored as high as 4,500 points.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
arnon@UnoIoT-PC:/media/arnon/New Volume$ glmark2-es2-wayland ======================================================= glmark2 2023.01 ======================================================= OpenGL Information GL_VENDOR: Intel GL_RENDERER: Mesa Intel(R) Graphics (ADL-N) GL_VERSION: OpenGL ES 3.2 Mesa 24.0.9-0ubuntu0.1 Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0 samples=0 Surface Size: 800x600 windowed ======================================================= [build] use-vbo=false: FPS: 2723 FrameTime: 0.367 ms [build] use-vbo=true: FPS: 2849 FrameTime: 0.351 ms [texture] texture-filter=nearest: FPS: 3446 FrameTime: 0.290 ms [texture] texture-filter=linear: FPS: 3950 FrameTime: 0.253 ms [texture] texture-filter=mipmap: FPS: 3847 FrameTime: 0.260 ms [shading] shading=gouraud: FPS: 2339 FrameTime: 0.428 ms [shading] shading=blinn-phong-inf: FPS: 3080 FrameTime: 0.325 ms [shading] shading=phong: FPS: 3977 FrameTime: 0.251 ms [shading] shading=cel: FPS: 3761 FrameTime: 0.266 ms [bump] bump-render=high-poly: FPS: 2439 FrameTime: 0.410 ms [bump] bump-render=normals: FPS: 6197 FrameTime: 0.161 ms [bump] bump-render=height: FPS: 4713 FrameTime: 0.212 ms [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 3135 FrameTime: 0.319 ms [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 1341 FrameTime: 0.746 ms [pulsar] light=false:quads=5:texture=false: FPS: 5095 FrameTime: 0.196 ms [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 1249 FrameTime: 0.801 ms [desktop] effect=shadow:windows=4: FPS: 2600 FrameTime: 0.385 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 828 FrameTime: 1.208 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 1421 FrameTime: 0.704 ms [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 1050 FrameTime: 0.953 ms [ideas] speed=duration: FPS: 3296 FrameTime: 0.303 ms [jellyfish] <default>: FPS: 2420 FrameTime: 0.413 ms [terrain] <default>: FPS: 216 FrameTime: 4.645 ms [shadow] <default>: FPS: 3549 FrameTime: 0.282 ms [refract] <default>: FPS: 523 FrameTime: 1.914 ms [conditionals] fragment-steps=0:vertex-steps=0: FPS: 4548 FrameTime: 0.220 ms [conditionals] fragment-steps=5:vertex-steps=0: FPS: 4497 FrameTime: 0.222 ms [conditionals] fragment-steps=0:vertex-steps=5: FPS: 4554 FrameTime: 0.220 ms [function] fragment-complexity=low:fragment-steps=5: FPS: 4533 FrameTime: 0.221 ms [function] fragment-complexity=medium:fragment-steps=5: FPS: 4551 FrameTime: 0.220 ms [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 4531 FrameTime: 0.221 ms [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 4552 FrameTime: 0.220 ms [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 4513 FrameTime: 0.222 ms ======================================================= glmark2 Score: 3220 ======================================================= |
Note that glmark2-es2-wayland can be useful to compare Arm and x86 boards, but considering GPUs on x86 usually support OpenGL (instead of just OpenGL ES), it may not be relevant when comparing with other x86 platforms or overall graphics performance.
WebGL Aquarium
So let’s switch to the WebGL aquarium demo on Chromium where the LattePanda Mu achieved 37 fps with 30,000 fish. This compares to 31 fps with 5,000 fish on the NanoPi R6S SBC.
Video playback with YouTube and local file
A 4K 30 FPS video could play in Chromium without any frames dropped.
Switching to a 4K 60 FPS video played with some minimal stuttering barely noticeable to the eye, and the “Stats for Nerds” overlay reported about 4.5% of frames dropped.
We then played an H.264 1920 x 1080 video with VLC, it can be played well with very few dropped frames.
Note that the fan runs at full speed as soon as we start playing a video, in this case, a “Big Bug Bunny” sample. The audio worked fine as well through HDMI.
A 4Kp30 H.265 file played without any lag and very few dropped frames were reported in the Statistics tab of the Media Information window.
Networking performance
We used the iperf3 utility to test gigabit Ethernet and Wi-Fi networking using the iperf3 program. Note the Full-Function Evaluation board supports 2.5Gbps Ethernet, but we only had a gigabit Ethernet switch for this review, so it was only tested at 1Gbps. A Xiaomi Router AX3200 router was used for testing.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
arnon@UnoIoT-PC:~$ iperf3 -c 192.168.31.232 Connecting to host 192.168.31.232, port 5201 [ 5] local 192.168.31.124 port 52360 connected to 192.168.31.232 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 114 MBytes 960 Mbits/sec 0 393 KBytes [ 5] 1.00-2.00 sec 112 MBytes 935 Mbits/sec 0 393 KBytes [ 5] 2.00-3.00 sec 112 MBytes 943 Mbits/sec 0 393 KBytes [ 5] 3.00-4.00 sec 112 MBytes 943 Mbits/sec 0 393 KBytes [ 5] 4.00-5.00 sec 112 MBytes 942 Mbits/sec 0 393 KBytes [ 5] 5.00-6.00 sec 112 MBytes 943 Mbits/sec 0 393 KBytes [ 5] 6.00-7.00 sec 112 MBytes 942 Mbits/sec 0 393 KBytes [ 5] 7.00-8.00 sec 112 MBytes 943 Mbits/sec 0 393 KBytes [ 5] 8.00-9.00 sec 112 MBytes 943 Mbits/sec 0 393 KBytes [ 5] 9.00-10.00 sec 112 MBytes 941 Mbits/sec 0 393 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 1.10 GBytes 943 Mbits/sec 0 sender [ 5] 0.00-10.04 sec 1.10 GBytes 938 Mbits/sec receiver iperf Done. |
WiFi 5 (5 GHz) was also tested with iperf3:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
arnon@UnoIoT-PC:~$ iperf3 -c 192.168.31.232 Connecting to host 192.168.31.232, port 5201 [ 5] local 192.168.31.80 port 52458 connected to 192.168.31.232 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 75.8 MBytes 635 Mbits/sec 0 3.02 MBytes [ 5] 1.00-2.00 sec 69.9 MBytes 586 Mbits/sec 0 3.02 MBytes [ 5] 2.00-3.00 sec 66.0 MBytes 553 Mbits/sec 0 3.02 MBytes [ 5] 3.00-4.00 sec 69.2 MBytes 581 Mbits/sec 0 3.02 MBytes [ 5] 4.00-5.00 sec 67.0 MBytes 562 Mbits/sec 0 3.02 MBytes [ 5] 5.00-6.00 sec 69.0 MBytes 579 Mbits/sec 0 3.02 MBytes [ 5] 6.00-7.00 sec 75.0 MBytes 629 Mbits/sec 0 3.02 MBytes [ 5] 7.00-8.00 sec 73.9 MBytes 619 Mbits/sec 0 3.02 MBytes [ 5] 8.00-9.00 sec 74.5 MBytes 625 Mbits/sec 0 3.02 MBytes [ 5] 9.00-10.00 sec 70.9 MBytes 595 Mbits/sec 0 3.02 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 711 MBytes 596 Mbits/sec 0 sender [ 5] 0.00-10.08 sec 711 MBytes 592 Mbits/sec receiver iperf Done. |
Note the LattePanda Mu does not come with built-in WiFi, we used an M.2 RTL8822CE (Wi-Fi 5) module for testing.
Checking out the GPIO in Linux
DFRobot provides very little information from LattePanda Mu’s GPIO, UART, I2C, and SPI. We just know the board offers the following interfaces:
- 4x UART
- 4x I2C
- Up to 64x GPIO
What’s missing is a document that clearly explains how to use those. All we have is the Dev Status page that shows some interfaces are not supported yet (including GPIO!), but I2C, SPI, and UART can already be used. We’ll try our best to test it out I2C, by first checking whether I2C devices are listed:
1 2 3 |
root@UnoIoT-PC:~# ls /dev/i2c- i2c-0 i2c-10 i2c-12 i2c-14 i2c-2 i2c-4 i2c-6 i2c-8 i2c-1 i2c-11 i2c-13 i2c-15 i2c-3 i2c-5 i2c-7 i2c-9 |
We then installed the i2c-tools utility to check the I2C information for several I2C devices of the LattePanda Mu, and I2C-5 and I2C-7 show some connected devices.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
root@UnoIoT-PC:~# i2cdetect -y 5 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: 08 -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- root@UnoIoT-PC:~# i2cdetect -y 7 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- 37 -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- 49 -- -- -- -- -- -- 50: 50 51 -- -- 54 -- -- -- -- 59 -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- |
We tried to connect an I2C proximity sensor to the board, but it was not detected. We need to wait for more information from DFRobot for further testing, and we did not test the UART and GPIO sections.
LattePanda Mu’s power consumption with Ubuntu 24.04
The LattePanda Mu’s power consumption in Linux (Ubuntu 24.04) was measured with a USB power meter.
- Power off – 0.33 Watt
- Booting – 9.9 Watts
- Idle – 5.6 Watts (connected to HDMI, WiFi, Ethernet only)
- YouTube 4K 60FPS in Chromium (fullscreen) – 20 Watts on average
- 7-Zip Benchmark (multi-core) – 22 Watts on average
Conclusion
The Intel N100-powered Lattepanda Mu SBC works well with Ubuntu 24.04. It supported all peripherals we tried since all necessary drivers are available. The Ubuntu 24.04 performance test results were close to those on Windows 11.
There were a few downsides too. First, we failed to install the board in a mini-ITX case because the Full Carrier board is in the mini-ITX form factor, but the layout of the ports did not meet the motherboard standards, so it could not be assembled in the specific case we tried. Then GPIO support and related documentation are close to inexistent, so we could not test it properly. We may update the review once additional details are provided by DFRobot/LattePanda.
The LattePanda Mu Compute Module can be especially useful to companies designing custom products, as they only need to design a custom carrier board with a 260-pin SO-DIMM connector for the CPU module and route signals such as USB, PCIe, and GPIOs.
We’d like to thank DFRobot for sending the LattePanda Mu module, carrier boards, and accessories for review. The LattePanda Mu x86 Compute Module can be purchased for $139 on DFRobot, but most people will first purchase a complete kit that can be customized, and for instance, a kit with the LattePanda Mu SoM, Full-Function carrier board, heatsink, and 19W/90A power supply can be had for $274.90. Alternatively, you’ll find a $199 kit on Amazon with the SoM, Lite carrier board, and active cooler.
CNXSoft: This review is a translation – with a few additional insights – of the original article on CNX Software Thailand by Arnon ThongTem, edited by Suthinee Kerdkaew.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
I bought a lattepanda 3 delta when it launched, then forgot about it after some covid delays. When it finally arrived, i was a bit gutted to see n100 early boards hitting the market for similar performance and half price! Nonetheless, the delta is a quality product, with the one caveat that the 3 USB ports don’t seem to all work at the same time – kind of a downside since two of them are used for keyboard/mouse!
Lack of documentation/drivers for the DIO is all too common.
The UP 7000 N100 SBC documentation is pretty good and I had no problems testing GPIOs: https://www.cnx-software.com/2023/12/10/up-7000-sbc-review-ubuntu-22-04-fanless-intel-n100-single-board-computer/#up-7000-gpio-testing
Arnon also reviewed the YouYeeToo X1 x86 SBC with GPIO: https://www.cnx-software.com/2023/12/06/youyeetoo-x1-x86-sbc-review-gpio-uart-i2c-spi-nfc-poe-module-power-consumption/
Based on LattePanda Mu review, it looks like there’s no even a pinout diagram for the GPIOs…