Embedded Computers

NanoPi M4V2 Review: Top Raspberry Pi alternative for 2020/01

NanoPi M4V2
Written by androidpimp

NanoPi M4V2 Review

Following the FriendlyElec previous launch of the Nano Pi M4 comes a new and improved board called the Nano Pi M4V2 that has a few new features and tweaks worth checking out. First, the board comes with a total of 4GB RAM LPDDR4 RAM setting the 4GB RAM as the main industry-standard starting with the latest launch or the raspberry pi 4 SBC series.

FriendlyElec company team also added a built-in onboard on/off power button that didn’t exist in the older M4 model. In addition, the headphone port now supports both microphone and audio output functionality. And lastly, the eMMC module now comes with a thread to secure the eMMC module inside the socket.

NanoPi M4V2 vs NanoPi M4V2 Board comparison

NanoPi M4V2 vs NanoPi M4V2 Board


Part 1: Unboxing 
  1. Package
  2. Unboxing
  3. Package contents
  4. NanoPi M4V2 Preview
Part 2: Metal Case Kit Thoughts
  1. Design
  2. The Good & The Bad
Part 3: Benchmarking, Testing, Insights, System Memory 
  1. eMMC Module
  2. USB Interfaces
  3. Network Throughput Test
  4. Stress Test: CPU, Memory, I/O
  5. NVMe SSD Adapter Preview
  6. NVMe SSD Benchmarks
Part 4: Final Words
 

Part 1: Unboxing 

NanoPi M4/V2 Package     

  • NanoPi M4V2 Pkg 2
    NanoPi M4V2 Pkg 2

NanoPi M4V2  | Package Contents (Basic Package)

Items:

  • x2 WiFi Wire Antennas
  • x1 NanoPi M4V2

 

  • NanoPi M4V2 Unbox 1
    NanoPi M4V2 Unbox 1

NanoPi M4/V2 | Full view

 

  • NanoPi M4V2 P1
    NanoPi M4V2 P1

Part 2: Metal Case Kit Thoughts

Because the Nano M4V2 has some new design changes but has the same dimensions and exact interfaces, including ports, the metal case will fit perfectly well for both boards. The standard edition of the case kit also includes a V2 NVMe SSD Adapter that allows you to expend your storage option to up to 1TB of space and beyond.

If you don’t need it, you can use a micro SD card to boot the OS system files, which will load slower in terms of read-write performance. The best recommendation is to buy a 32GB/64GB eMMC flash module to store your system files and most likely you will be left with few extra gigabytes of free storage space to install and run apps.


The Good

In terms of build quality, the case is superb. The case is beautifully crafted and made completely from aluminum alloy material machined in the CNC manufacturing process. The case comes with all the screws needed to assemble the board inside, including one thermal pad for the main chip. When the board is assembled, the case envelope functions as a giant heatsink, improving cooling and lowing the CPU temperature. In my opinion, the case is a must-have accessory worth buying as the RK3399 chip tends to heat fast with relatively high temperatures starting from 50C+ in idle mode.

The Bad

Now, for some issues, I found the design. For example, the case fan was positioned at the bottom of the case instead of the top cover where the extra heat can get much faster. Also, the silicon legs of the case give the fan about ~1 mm space between the surface upon the case is positioned and the fan, which most likely interferes with airflow and again would not disperse the extra warm air very effectively.

If you decide to buy the case kit keep in mind that the case was originally designed for the NanoPi M4 that doesn’t have a power on/off button. The NanoPi M4V2 is more problematic because the company added a power button but for some reason position it on top of the PCB instead on the side which makes it a lot easier to design a case for it.

The bottom line, if you are planning to keep the board powered on 24/7 it will not become an issue. If you do plan on turning it off, the only solution that comes in my mind is buying a USB Type C cable with a built-in power button that should make life a lot simpler.

NanoPi-M4/V2 Metal Case


NanoPi-M4/V2 Metal Case [Standard]

Part 3: Benchmarking, Testing, Insights

NanoPi M4V2 eMMC

  • NanoPi M4V2 eMMC 1
    NanoPi M4V2 eMMC 1


Improvement Tip

If you decide to buy the eMMC module keep in mind that the chip comes without a heatsink. It would not hurt to buy a squared shaped heatsink with dimensions of 14 mm (L) x 7 mm. (H) To improve cooling efficiency and attach it to the chip using a thermal adhesive.

NanoPi M4V2 eMMC | Adding Heatsink

  • eMMC Heatsink 1
    eMMC Heatsink 1

Nano Pi M4 eMMC | Assembly

  • NanoPi M4V2 eMMC 1
    NanoPi M4V2 eMMC 1


Benchmarking 64GB eMMC (Read/Write Speed)

Testing write speed

Clearing Cache and testing read speed


USB Interfaces

The NanoPi M4V2 comes with a total of four USB V3.0 host ports. For testing read/write storage media performance I format a Kingston DataTraveler (DT50) 32GB USB Drive to the Ext4 file system and randomly picked one of the USB host ports for this test.

Testing write speed

Clearing Cache and testing Read Speed


Network Throughput Test

To check general transfer speeds I connected two SBCs through a router with gigabyte ethernet ports and ran a few tests to gain some insights on how the NanoPi M4V2 performs when connecting to a LAN.

  • Test Tool: iperf3
  • Type of test: Bidirectional network throughput between two SBCs.

Connected Devices:

No. Devices     Interface Chip
1 NanoPi M4V2 Gbps Ethernet Unknown
2 NanoPi K1 Plus RTL8211E-VB-CG

NanoPi M4V2 (Client Mode)

$ iperf3 -c 192.168.1.109 -i -t 20 -p 2000 -w 40k
Connecting to host 192.168.1.109, port 2000
[ 4] local 192.168.1.229 port 56830 connected to 192.168.1.109 port 2000
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-10.00 sec 837 MBytes 702 Mbits/sec 0 41.0 KBytes
– – – – – – – – – – – – – – – – – – – – – – – – –
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 837 MBytes 702 Mbits/sec 0 sender
[ 4] 0.00-10.00 sec 837 MBytes 702 Mbits/sec receiver

NanoPi K1 Plus (Server Mode)

$ iperf3 -s -p 2000
———————————————————–
Server listening on 2000
———————————————————–
Accepted connection from 192.168.1.229, port 56828
[ 5] local 192.168.1.109 port 2000 connected to 192.168.1.229 port 56830
[ ID] Interval Transfer Bandwidth
[ 5] 0.00-1.00 sec 82.8 MBytes 695 Mbits/sec
[ 5] 1.00-2.00 sec 83.0 MBytes 696 Mbits/sec
[ 5] 2.00-3.00 sec 83.1 MBytes 697 Mbits/sec
[ 5] 3.00-4.00 sec 83.3 MBytes 699 Mbits/sec
[ 5] 4.00-5.00 sec 85.8 MBytes 720 Mbits/sec
[ 5] 5.00-6.00 sec 83.5 MBytes 701 Mbits/sec
[ 5] 6.00-7.00 sec 85.7 MBytes 719 Mbits/sec
[ 5] 7.00-8.00 sec 82.6 MBytes 693 Mbits/sec
[ 5] 8.00-9.00 sec 83.0 MBytes 696 Mbits/sec
[ 5] 9.00-10.00 sec 82.9 MBytes 695 Mbits/sec
[ 5] 10.00-10.01 sec 1.07 MBytes 693 Mbits/sec
– – – – – – – – – – – – – – – – – – – – – – – – –
[ ID] Interval Transfer Bandwidth
[ 5] 0.00-10.01 sec 0.00 Bytes 0.00 bits/sec sender
[ 5] 0.00-10.01 sec 837 MBytes 701 Mbits/sec receiver


Stress Test: CPU, Memory (VM stress), I/O

  • Test Tool: stress-ng
  • Power supply unit: 5V 4A
  • Watt Voltage Current Analyzer connected to the wall power socket.
  • Test #1: stress-ng –cpu 4 –io 3 –vm 2 –vm-bytes 256M –tz –timeout 60s
  • Test #2: stress-ng –cpu 4 –io 3 –vm 2 –vm-bytes 512M –tz –timeout 120s
  • Test #3: stress-ng –cpu 4 –io 3 –vm 2 –vm-bytes 1024M –tz –timeout 180s

Test # 1

$ uptime
00:05:46 up 11 min, 3 users, load average: 0.01, 0.09, 0.06
$ stress-ng –cpu 4 –io 3 –vm 2 –vm-bytes 256M –tz –timeout 60s
stress-ng: info: [2530] dispatching hogs: 4 cpu, 3 iosync, 2 vm
stress-ng: info: [2530] cache allocate: using built-in defaults as unable to determine cache details
stress-ng: info: [2530] cache allocate: default cache size: 2048K
stress-ng: info: [2530] successful run completed in 60.55s (1 min, 0.55 secs)
stress-ng: info: [2530] cpu:
stress-ng: info: [2530] gpu-thermal 52.64 °C
stress-ng: info: [2530] soc-thermal 56.17 °C
stress-ng: info: [2530] iosync:
stress-ng: info: [2530] gpu-thermal 52.59 °C
stress-ng: info: [2530] soc-thermal 56.31 °C
stress-ng: info: [2530] vm:
stress-ng: info: [2530] gpu-thermal 52.78 °C
stress-ng: info: [2530] soc-thermal 56.70 °

Maximum measured peak wattage (W): 10.4W

Test # 2

$ uptime
00:09:53 up 16 min, 3 users, load average: 0.49, 1.08, 0.55
$ stress-ng –cpu 4 –io 3 –vm 2 –vm-bytes 512M –tz –timeout 120s
stress-ng: info: [2565] dispatching hogs: 4 cpu, 3 iosync, 2 vm
stress-ng: info: [2565] cache allocate: using built-in defaults as unable to determine cache details
stress-ng: info: [2565] cache allocate: default cache size: 2048K
stress-ng: info: [2565] successful run completed in 120.76s (2 mins, 0.76 secs)
stress-ng: info: [2565] cpu:
stress-ng: info: [2565] gpu-thermal 54.44 °C
stress-ng: info: [2565] soc-thermal 58.39 °C
stress-ng: info: [2565] iosync:
stress-ng: info: [2565] gpu-thermal 54.63 °C
stress-ng: info: [2565] soc-thermal 58.56 °C
stress-ng: info: [2565] vm:
stress-ng: info: [2565] gpu-thermal 54.17 °C
stress-ng: info: [2565] soc-thermal 58.65 °C

Maximum measured peak wattage (W): 11W

Test # 3

$ uptime
00:13:38 up 19 min, 3 users, load average: 1.62, 2.75, 1.46
$ stress-ng –cpu 4 –io 3 –vm 2 –vm-bytes 1024M –tz –timeout 180s
stress-ng: info: [2608] dispatching hogs: 4 cpu, 3 iosync, 2 vm
stress-ng: info: [2608] cache allocate: using built-in defaults as unable to determine cache details
stress-ng: info: [2608] cache allocate: default cache size: 2048K
stress-ng: info: [2608] successful run completed in 180.39s (3 mins, 0.39 secs)
stress-ng: info: [2608] cpu:
stress-ng: info: [2608] gpu-thermal 55.97 °C
stress-ng: info: [2608] soc-thermal 59.39 °C
stress-ng: info: [2608] iosync:
stress-ng: info: [2608] gpu-thermal 56.11 °C
stress-ng: info: [2608] soc-thermal 59.10 °C
stress-ng: info: [2608] vm:
stress-ng: info: [2608] gpu-thermal 55.83 °C
stress-ng: info: [2608] soc-thermal 59.95 °C

Maximum measured peak wattage (W): 11.1W

NVMe SSD Adapter

Another very nice accessory that is optional if you buy the metal case standard kit. This add-on extension board that lets you increase your storage capacity up to 1TB and beyond by adding an SSD card that plugs into the adapter M.2 PCIe interface. In comparison to the eMMC storage option, you will most likely get improved read/write performance and enjoy a lot more space for installing apps just as you were using a standard desktop PC.

NanoPi M4/V2 NVMe SSD Adapter Preview

  • NanoPi M4 NVMe SSD Adapter 1
    NanoPi M4 NVMe SSD Adapter 1


NVMe SSD Benchmarks

  • OS: FriendlyDesktop (Ubuntu-based).
  • Storage Media: KingSpec M.2 SSD 256GB
  • Filesystem: Ext4
  • Controller: SM2263XT (128GB-1TB)
  • Interface: PCIe
  • Sample Size: 1000 MiB
  • Number of tested samples: 100

Test Results: 705.6 MB/s (read rate) /  314.3 (write rate).

blank

blank

Maximum power in wattage (W) measured during the test.

blank


System Memory

FriendlyDesktop is a lightweight, low resource Ubuntu-based Linux distribution running under the LXDE desktop environment. It works well thanks to a low memory footprint that is very important for running applications on embedded platforms. According to the ‘Htop’ system monitoring tool from 3.7GB of RAM without running extra services in the background, except for ssh service, the operating system utilized approximately 333MB of RAM.

blank


Final Words

Without a doubt, the NanoPi M4V2 is a very nice SBC. I’m very aware that I didn’t cover a few other features this board has to offer, such as WiFi support, but from my personal tests, it worked flawlessly without problems. Overall, I like the product. My experience with FriendlyDesktop distribution was ok, but in my opinion, it needs some tweaking. Armbian image worked very well for me and I am probably will stick with it. The bottom line, if you are willing to compromise and only use two Linux distributions plus android 8.0 OS its a very good product worth buying.

NanoPi M4V2 Review Summary

AndroidPIMP

Quality
Design
Software Support
Value for Money

Summary

4.4

About the author

androidpimp

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x