Banana Pi M2 Zero Benchmarks & Review

The Banana Pi BPI-M2-Zero board has been out for a few years now with a number of revisions and I managed to get my hands on one of the newer versions (v1.3) with the ARM-based Allwinner H3 chip for testing!

As a disclaimer, I did receive the board for free from BananaPi themselves, though they had no editorial input and all words are my own. There are also Amazon affiliate links on this page and I will earn a small commission if you click and purchase anything through the relevant page. It helps to keep me supplied with electronics to talk about here, I hope you don’t mind..

Specifications

 BananaPi BPI-M2-ZERO
CPUQuad-Core 1GHz Allwinner Cortex A7
RAM512MB DDR3 RAM
GPUMali400MP2 600MHz
 OpenGL ES 2.0
1080p60 H.264 Decoding, 1080p30 H.264 Encoding
ConnectivityWLAN (SDIO AP6212) + Bluetooth
 MicroUSB OTG (1)
 Mini HDMI (1 at 1080p30)
 CSI Camera Connector
 microSD Card Slot
 40 Pin Raspberry Pi compatible GPIO header
PowerMicroUSB (5V/2A)
via GPIO Header (5V)
Dimensions 65x30mm (Length x Height)
Weight15g

Initial Thoughts

Upon opening the box and having a look, it’s a very clean board. With a striking blue PCB and all of the I/O you would expect (with the ability to drop it into your Raspberry Pi Zero cases with no problem), it will stand out on a desk full of green! The feature I immediately found myself enjoying (when constantly restarting for SD benchmarks) was the dedicated reset and power keys. They’re small additions but are proving incredibly useful and preventing the need from yanking the power cables out constantly.

The packaging is simple, though a box is often more than you’ll get elsewhere and it survived the trip to Europe from China just fine so no complaints there.

Benchmarking Information

As always (where possible), I’m using Armbian as my operating system of choice for this testing and I’m using the latest available in the archive, 21.08.1 Hirsuite on kernel 5.16.11-sunxi. Boot storage is in the form of the best-performing Amazon Basics 64GB microSD card and the SSD used for testing is the Samsung 850 EVO. For USB Ethernet, I use the Linksys 1Gbit USB Ethernet adapter.

Compute Performance

UnixBench

The first “mainstream” test we’ll go with is UnixBench. The BPI-M2-ZERO looks to scale well with its 4 threads and is on par with the Raspberry Pi Zero 2 W in this particular test. As a fun extra piece of information, it took a total of 12.995s to compile UnixBench too.

BPI-M2-Zero UnixBench Results Graph

Geekbench

Geekbench comes in 2 “flavours” and as I’ve used the 2.4.2 LinuxARM build in the past, I’ve included that in addition to the newer 5.4.0 Preview build so it can be used for comparison. It should be noted that to get Geekbench 5.4.0 to complete the multi-core tests, zram had to be enabled and bumped up to around 350MB.

5.4.0 ARM Preview

2.4.2 LinuxARM

WAV to MP3 LAME Encoder

These results are from the Phoronix Test Suite’s LAME WAV to MP3 encoder test. You can verify and compare it with your own SBC if you like on the test page.

PyBench

Sticking with Phoronix, we’ve run their PyBench test to see how the board performs when running Python. Like above, you can compare and verify the results here.

Networking Performance

By default, I use a USB to Ethernet adapter when I first start up my boards as there’s usually a driver available and with DHCP I can get up and running quickly without having to mess around feeding the image SSIDs/passwords ahead of time. With the BananaPi BPI-M2-ZERO though, once I got to WiFi it leaves a little to be desired. It uses the AMTEK AP6212 chip and all images I tried, it fell back to a default firmware/configuration with very limited performance. To remedy this and get any kind of usable connection, you need to obtain an antenna to connect to the RF port on the board (directly to the right of the HDMI port). Once connected, I went from only finding my phone’s hotspot when sat next to the BananaPi, to finding 20 plus networks. Result!

It would be great if sinovoip either look into including a small antenna, or at least offer it as an add-on item and note that it’s highly beneficial to have. Or if this is a software issue, addressing this would go a long way.

On the USB ethernet front, I have no complaints, it’s around what I’d expect going through my usual micro USB to USB-A adapter that’s used in all of my testing.

All test results are taken from the average of 5 minutes of an iperf3 run in both directions. The iperf3 server is running on an idle Gbit server connected via CAT6 ethernet to a UniFi USW-Lite-16-PoE switch and the BPI-M2-ZERO in direct line of sight 1 metre away from the UniFi U6-LR access point.

Even with the antenna, whilst the upload on WiFi is stable at around 34Mbit, the download speed is slightly slower with an average of 26Mbit. The fluctuations in speed though saw it going from around 6Mbit to 35Mbit. When the antenna is detached (bear in mind this is still 1m away from the AP with direct line of sight) there are fluctuations from 680Kbit to 13Mbit on the download side and fluctuations between 520Kbit to 6.68Mbit on the upload side of things.

Storage Performance

MicroSD Card Reader

I’ve taken these results directly from my best/fastest microSD Card comparison post as they are also interesting to include here. The Amazon Basics card has been the overall winner in most cases but the Transcend and others are all very close. If you have a preferred brand or one, in particular, is on offer, you’ll find they’re much the same. Though having the higher random read/write performance may prove extremely useful on the higher-end ones depending on your use case.

SD Card ModelSequential ReadSequential WriteRandom ReadRandom WriteIOPing
SanDisk Ultra (8GB)21.86 MB/s14.27 MB/s5.24 MB/s0.63 MB/s0.9 ms
SanDisk Ultra (16GB)22.03 MB/s14.43 MB/s6.29 MB/s2.5 MB/s2.69 ms
SanDisk Ultra (32GB)21.89 MB/s17.7 MB/s6.51 MB/s2.16 MB/s2.74 ms
SanDisk Extreme (64GB)21.96 MB/s22.03 MB/s5.68 MB/s3.29 MB/s0.74 ms
SanDisk Extreme PRO (128GB)22 MB/s22.07 MB/s5.02 MB/s3.39 MB/s0.79 ms
Kingston Canvas Select Plus (32GB)11.26 MB/s10.2 MB/s4.36 MB/s1.86 MB/s0.8 ms
KIOXIA EXCERIA (32GB)21.95 MB/s16.4 MB/s7.93 MB/s3.79 MB/s0.73 ms
Samsung EVO Plus (32GB)21.74 MB/s20.73 MB/s5.07 MB/s1.51 MB/s1.07 ms
Amazon Basics (64GB)22.14 MB/s22.43 MB/s8.22 MB/s3.91 MB/s1.01 ms
Verbatim Premium (16GB)22.09 MB/s11.7 MB/s7.11 MB/s2.12 MB/s0.87 ms
SanDisk MAX ENDURANCE (32GB)21.96 MB/s21.77 MB/s5.51 MB/s3.26 MB/s0.68 ms
Integral ultima PRO (64GB)21.87 MB/s21.97 MB/s7.7 MB/s3.81 MB/s1.07 ms
Patriot EP Series (64GB)21.87 MB/s19.17 MB/s6.62 MB/s2.37 MB/s0.76 ms
Kodak (64GB)21.78 MB/s20.9 MB/s3.28 MB/s0.73 MB/s0.85 ms
Intenso (64GB)22.17 MB/s22.03 MB/s8.39 MB/s3.83 MB/s1.01 ms
Transcend (32GB)21.89 MB/s13.77 MB/s7.62 MB/s2.32 MB/s0.66 ms
Samsung EVO Select (32GB)21.88 MB/s20.73 MB/s6.12 MB/s1.53 MB/s1.01 ms
Samsung PRO Plus (128GB)21.97 MB/s20.47 MB/s6.45 MB/s1.16 MB/s0.76 ms
SanDisk HIGH ENDURANCE (64GB)21.8 MB/s21.27 MB/s4.63 MB/s2.86 MB/s0.77 ms
Samsung PRO Endurance (32GB)21.84 MB/s20.9 MB/s6.35 MB/s1.65 MB/s1.06 ms

USB SSD & microSD Card Comparison

For this comparison, I’ve taken all of the above SD card benchmarks and taken the average of each value. As you can see, the sequential read and write speeds are quite similar, though as expected, the random read/writes are where the USB SSD takes over. It’s nowhere near hitting what the SSD is capable of, however, if you want some additional storage that’s a little more reliable than the microSD card in the long term then it’s a better option. It’s worth noting though that you cannot boot from the USB SSD.

Thermals & Power

Temperatures

Temperatures were measured using the SoC’s onboard temperature sensor with an ambient room temperature of 27.9celsius (it’s gotten toasty here in Sweden all of a sudden!) The load was generated using stress-ng --cpu 4 and left for 15 minutes so it got nice and warm. For the heatsink, I’m using one of your typical small, cheap AliExpress aluminium heatsinks with the thermal insulating tape removed and replaced with a smidgen of Arctic MX-4 thermal paste. Not the most scientific or reproducible of tests but hey, if you want to try it, at least you now know what you’re getting.

Power Draw

The load for the power draw test was also generated using stress-ng --cpu 4 so we’re not pushing every possible component to the max here. It’s a good base measurement though.

Closing Thoughts

I stand by what I said at the beginning of this post before I began testing. It’s a nice board with the features you’d expect and great performance in a “Pi Zero” form-factor. It will fit in your existing Raspberry Pi Zero case and with it being GPIO compatible with the Raspberry Pi, your hats and accessories should also work as expected.

The WiFi issue was a bit of a disappointment (maybe the length of that section shows, sorry!) as I feel a lot of users will be purchasing this to simply plug in and use WiFi without the need for a USB ethernet/WiFi adapter and the exclusion of an antenna in the box does let it down a little. If you’re able to salvage an antenna from another board (I took mine from an OrangePi Zero2!) or you have one to hand then that will help you immensely. Maybe I’m doing something wrong though?!

For its price, it’s a capable board and a solid alternative to the Raspberry Pi Zero W 2 on the compute side of things if you’re struggling to find stock (stay tuned for a comparison piece!) The Allwinner H3 chip in the BPI-M2-ZERO doesn’t quite scale as well as the RP3A0-AU in the Zero W 2 but it definitely puts up a good fight and if you’re interested in an alternative, the BananaPi M2 Zero may be a board for you (just get an antenna too!)

Do you have this board working just fine without an additional antenna for WiFi? Is there another test that you’d like to see me run? Would you like a comparison against another board? I’m aware that I’m not doing any kind of GPU/desktop testing here, is that something you’d like to see too? Let me know in the comments, or via Twitter and I’ll see what I can do.

Share:
Category:Banana Pi, Reviews
PREVIOUS POST
Armbian on the MangoPi MQ Pro!
NEXT POST
Automating AbuseIPDB reporting with Fail2ban
ABOUT
Bret

What started out with a Pi Model B 10 years has grown into 15+ Raspberry, Orange, Mango Pis etc sitting on my desk in various states of benchmarking. Hopefully, not all of it was in vain! If you'd like to support my craziness, check out my donation page at Ko-Fi.

3 Comments

  • 05/07/2022 at 14:32
    Michal

    Hi, thanks for testing. Did you try any fullhd video screen testing? 1920×1080, 60hz for example(1280×720 is ok). Im having trouble with this resolution, as it always flicker really weird way. I tried old 3.14 kernel, also 5.13, 5.14, 5.15 with libreelec media center distro and also with ubuntu or armbian. Im suspecting there is kind of interference in hdmi port as i newer saw such a image glitch in my SBC history.

    REPLY
    • 20/07/2022 at 13:12
      Michal

      after reducing CPU clock and disabling 3 other cores flickering almost stop, but its still visible. I’m thinking what to try next to fix it?

      echo 480000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
      echo 0 > /sys/devices/system/cpu/cpu1/online
      echo 0 > /sys/devices/system/cpu/cpu2/online
      echo 0 > /sys/devices/system/cpu/cpu3/online

      REPLY
      • 26/07/2022 at 11:57

        Interesting! Not ideal having to do all of that though to prevent flickering – have you posted on the BananaPi forums at all? Perhaps their staff/others will be able to assist with this issue. Unfortunately I don’t have much time to test this myself at the moment 🙁

LEAVE A REPLY

15 49.0138 8.38624 1 0 4000 1 https://bret.dk 300 0