Enter the Banana Pi M3

Banana Pi 3Last week, a (new to me) company called Allchips sent me a BananaPi 3 to play with. Ending September 24, they have a Raspberry Pi 3 giveaway (not that this has entry anything to do with Raspberry Pi).

Banana Pi boards are not something I’ve done a lot with – other than the Banana Pi M2 and so I was interested to see how this compared to other boards.  As usual I went off to my usual places – Armbian and DietPi to have a look see if they had versions of Debian or Xenial on offer – they didn’t – though both do generally support Banana Pi boards.

At least on the surface, the Banana Pi M3 has lots going for it, 2GB Ram, 8GB eMMC memory, Bluetooth (4.0) , WIFI, Gigabit Ethernet and a 1.8 Octacore processor as well as well as infra-red built in.

And there is more – a SATA connector, MicroSD), camera interfaces, audio out, built-in microphone, 2x USB 2.0 and USB OTG along with 3 LEDs one of which is user-defined.

So – back to the BPI site in the absence of alternatives, I found available Ubuntu Mate (the full one with graphical interface, Raspbian Jessie and Debian Jessie. Some of these however have not been updated for a while so I went for Ubuntu Mate but do check out their downloads page as there is quite a bit there – http://www.banana-pi.org/m3-download.html

Having installed Ubuntu Mate I then installed – as I usually do – “the script”.  There are several articles describing the installation here – install time was around average, nothing special – and went without a hitch.

As is now customary when I do these installs – I powered up Node-Red and attempted to get GPIO, serial and I2c running – one of the big issues with boards other than the above-mentioned Raspberry Pi – is IO – everyone CLAIMS (either subtly or not) Raspberry Pi compatibility and a whole RAFT of IO, few achieve it due to lack of support.

I managed to get one spare UART working – which is already one up on the RPI, GPIO did NOT work as expected now I’m using the excellent node-red-contrib-opi-gpio and supporting that in my script…  I’ve become accustomed to accessing ports using a formula – where the port lettering A, B, C etc. corresponds to 0, 32,64.. so Port PA2 would be 2, PB2 would be 34. This works well for a number of different boards – but not the BPI3 – it is not even compatible with the BPI2+

The GPIO facility that comes WITH THE SOFTWARE, when requesting “gpio readall” returns “ Oops – unable to determine board type… model: 25” what???

I2c… well, no, despite several attempts and the ability to apparently SEE I2c 0 and 1 – I could not see my little OLED display which normally shows up on port 3C. Nothing.

Bearing in mind that I’ve just tested the Orange Pi Plus 2E in which pretty much everything I tried worked, this board was a little disappointing. 

The obvious thing to do having flashed an SD with the operating system was to get it onto eMMC which is faster.  In the case of the Orange Pi, there was a menu item in their command-line menu – which made it copying the operating system a snap – at the press of a button the operating system was moved from SD to eMMC and one reboot, viola, not so in the case of the Banana Pi M3. 

In this case I had to take their image file (.img) – copy it onto a USB chip, make that available and use the Linux DD tool to move that to the eMMC.

A doddle you may say, well, not quite because the file was too large to copy to a FAT32 USB chip. Now I was covering new ground. I had to load drivers for NTFS file systems (thanks to Antonio for that as I would not have had a clue) which meant the Banana Pi M3 could then mount an NTFS USB chip. Once that was done the DD operation was simple enough.

At the end of all of that, the Banana Pi M3 generally works if you’re not into IO. I was supplied with a small heatsink which I have to say is not really enough – the likes of the FriendlyArm boards usually have custom heatsinks or even heatsinks with fans which adequately cool the boards, this one remains a tad hot though not dangerously so. 

Nothing wrong with the board as long as you don’t need I2c because I spent altogether too long trying to get it to work properly without success – and easy GPIO seems to be a non-starter – at least on the Ubuntu release.  As always with these boards it is down to support, what information you can find and how good you are at making use of it.  It has to be said that POTENTIALLY this has a lot going for it because of sheer range of features… but you should compare this to the likes of the Orange Pi Plus 2E and others as to what works for you. After my failure with GPIO generally I didn’t even want to start trying to get infra-red running.

There is plenty of information on this board at https://bananapi.gitbooks.io/bpi-m3/zh/bpi-m3_quick_start.html including certificate of conformity, RoHS certification and lab tests – and they do if you look carefully enough, point you to a version of Wiring Pi for that board.  I went off to install the software. The build seemed to go fine apart from the usual TON of warnings during the compile…

But in the end, errors stopped it completing. Oh, well.. And so it was that I ended up here – http://forum.banana-pi.org/t/bpi-wiringpi-officially-supports-bpi-m3-kernel-3-4/998

Looks official – refers to BPI-M3. I followed the instructions. Sure enough – the video suggests this is for Ubuntu on the M3 – but no – it wanted a GIT username… once I entered that, I was told that the repository was not found. I corrected an error from the paste (removed the 25 that should not be in there) and tried again. Once again the compile started, once again the silly warnings – once again – failure to compile.

I tried registering for the Banana Pi  forum to ask questions – it offered to let me register using my Facebook account – the result…

“Sorry, there was an error authorizing your account. Perhaps you did not approve authorization?” – So – I tried registering another way – entering my email and a password. An email turned up to confirm registration – my email client warned me that the link provides could be dangerous – I went ahead anyway – and was taken back to the Banana Pi site – and on completion… “Sorry, there was an error authorizing your account. Perhaps you did not approve authorization?”

I could see how this was going and decided that perhaps I should be satisfied with my success with the Orange Pi Plue 2E (not to mention the Raspberry Pi 3 and a raft of FriendlyArm boards excluding the K2). I have written to Banana Pi support about all of this – let’s see where that goes.


16 thoughts on “Enter the Banana Pi M3

  1. Peter, what would be REALLY nice would be a summary of success/fail tests of the various hardware.

    I keep looking for alternatives but I’m constantly put off by the odd decisions, missing or poorly performing bits, etc.

    At least someone recently gave me a Pi3 so I don’t need to worry for a while 🙂 But still, an ongoing summary of good/bad – maybe even with links to the blog posts?

    1. Hi Julian

      That’s WAY too organised for me… ok right now – if I was to buy a board – hands down it would be the Orange Pi Plus 2E followed by the Pi3 (the latter for compatibility issues I’ve yet to discover). If you go to my blog entry on that board, absolutely everything worked AND I got 2 or more UARTS into the process whereas the Pi 2 shares it’s only UART with debug – and worse in the Pi3 it shares with Bluetooth… I really don’t understand that. I’d do links but I’m on my way out to get some buttons to finish off my UPS “dog’s breakfast” version. the search box on the blog is actually quite good. Let me know if you need something you can’t find.

      1. Haha, well I tried. It would be nice for someone who has real-world tested these things to keep a summary but I understand.

        I do come back to this blog regularly to catch up with what is going on so I can certainly find things out the hard way 😉

        I saw a reference to the ESPRESSObin SBUD102 elsewhere – interesting, and very disappointing to note that this wee beast, which looks very interesting (with a built in 3xGb switch) would cost over £73 to the UK (eBay) instead of the $49 in the US. An appalling rip-off.

    1. Well at least now you have some honest reviews to work with. Right now (it may not last) my favourite is the Orange Pi Plus 2E using Armbian as per my review – but that’s just me.

      1. That is true Peter. Still trying to get my pi to talk to the webhook from ifttt. Still having problems with it. Got google home to work so far. Not a fan of RF bridge by sonoff so far. Done three videos so far about it.

        1. Hi Chuxxsss,

          I’ve not tried the Sonoff RF bridge but I build an ESP8266 based 433 RF to MQTT gateway using this code: –


          It’s been working faultlessly with various devices for me at home so I recently rolled it out at my holiday home too. It also supports IR remote control (if you add the IR emitter/receiver to the circuit) and whilst I’ve got a Broadlink RM Mini 3 ‘hacked’ with some Python code on my Raspberry Pi to allow full control locally without the Chinese app, I’d like to see if the OpenMQTTGateway setup will be a ‘one box’ solution for my RF/IR to MQTT (and vice-versa) interfacing.

  2. Silly me: I forgot to mention the Marvell boards for server stuff. Both Espressobin and Clearfog are excellent choices.

  3. Pete: wrt Armbian ‘does generally support Banana Pi boards’. No.

    Adding support for the original A20 Bananas was ok and easy (since all the work needed already done for Cubieboard and by linux-sunxi community). But already their next A20 board (the ‘routerboard’ Lamobo R1) was such an insane nightmare with insufficent powering, the vendor not able to tell how a connected disk can be powered and refusing to release schematic so we had to reverse engineer everything…

    Their next board (M2 based on another SoC) was also an absurd fail and it took us insane amounts of energy and time to get from the vendor at least the necessary information (technical documentation) to be able to support it (their OS images for the first year contained zero GPIO config for example)

    Next thing was this M3 2 years ago. Again lack of useful information/documentation and already at that time the vendor himself pretty unsupportive refusing even to accept fixes/patches for this smelly vendor kernel.

    With their next thing (M2+ based on H3) we thought it would be easy since H3 was already known from the Orange Pi boards. But in fact this was one of the devices I wasted most of my time with since we didn’t know back then that they send us partially defective dev samples (great!), again wrong information (getting 1-Wire to work on the pin where I2S is available can’t work) and again wrong schematics (still wrong even if they know what has to be corrected).

    And the worst part is that they neither get the meaning of ‘open source’ (them opening the resources/sources they got from the chip manufacturer allowing us to support their hardware) nor how counterproductive all their behaviour is (not providing sources timely, not providing CORRECT technical information at all, not providing correct schematics and so on). Added to this every new device from them relies on a new and totally incompatible SoC compared to the prior ones so from a software point of view it’s always starting at 0 again. Just weird and not worth the efforts.

    1. Excellent feedback Tkaiser. Of interest, my current fad as mentioned earlier is the Orange Pi Plus 2E – partly because of the amount of RAM and eMMC, partly because the GPIO, serial and I2c works a treat…. what would your favourite board of the year be….

      And while I have you here – can you point me to info in the Armbian site that might tell me how to turn off the serial debugging on that Orange Pi – it’s the only tiny bugbear i have (though there are other ports to use) – I can’t seem to find a way to turn it off so I have free access to that serial port.

      1. Sorry, can’t help with the serial question, better insist in the forum (I saw you were using one of the experimental images with mainline kernel).

        Board of the year? Hmm…. IMO it’s all about use cases 🙂

        From the boards I already have (see below) I would put 2/3 away since uninteresting in the meantime (most of all these A20 devices since while nice for some server tasks their SATA implementation is simply way too slow).

        For server stuff ROCK64, ODROID-HC1 and almost all Orange Pi and NanoPi with Gigabit Ethernet are interesting (the exceptions being OPi Plus and Plus 2 since same crappy GL830 USB-to-SATA bridge as on the Banana above). I’m really looking forward to testing the newly released Orange Pi Zero Plus soon (comparable with NanoPi NEO2 just faster due to better voltage regulation)

        For IoT stuff still OPi Zero and NanoPi Duo (more or less both the same) are my favourites. And in other use cases (Android, ‘Desktop Linux’) I’m simply not interested so don’t care about the needed feature sets anyway 🙂

        – A10-OLinuXino-Lime (Allwinner A10)
        – A20-OLinuXino-Lime2 (Allwinner A20)
        – Banana Pi (Allwinner A20)
        – Banana Pi M2 (Allwinner A31)
        – Banana Pi M2+ (Allwinner H3)
        – Banana Pi M3 (Allwinner A83T)
        – Banana Pro (Allwinner A20)
        – Beelink Mini MX (Amlogic S905)
        – Beelink X2 (Allwinner H3)
        – Clearfog Pro (Marvell Armada 385)
        – Cubietruck (Allwinner A20)
        – ESPRESSOBin (Marvell ARMADA 3700)
        – Geekbox (Rockchip RK3368)
        – Lamobo R1 (Allwinner A20)
        – MinnowBoard MAX (Intel E3825 Bay Trail-I Atom)
        – NanoPi M1 (Allwinner H3)
        – NanoPi M3 (Samsung/Nexell S5P6818)
        – NanoPi NEO (Allwinner H3)
        – NanoPi NEO Air (Allwinner H3)
        – ODROID-C1+ (Amlogic S805)
        – ODROIC-C2 (Amlogic S905)
        – ODROID-HC1 (Samsung Exynos 5422)
        – ODROID-XU4 (Samsung Exynos 5422)
        – Orange Pi 2G-IOT (RDA 8810PL)
        – Orange Pi Lite (Allwinner H3)
        – Orange Pi One (Allwinner H3)
        – Orange Pi PC (Allwinner H3)
        – Orange Pi PC Plus (Allwinner H3)
        – Orange Pi Plus 2E (Allwinner H3)
        – Orange Pi Win (Allwinner A64)
        – Orange Pi Zero (Allwinner H2+)
        – Orange Pi Zero Plus (Allwinner H3)
        – Orange Pi Zero Plus (Allwinner H5)
        – pcDuino3 Nano (Allwinner A20)
        – Pine64+ (Allwinner A64)
        – Pinebook (Allwinner A64)
        – Raspberry Pi 2 (Broadcom BCM2836)
        – Raspberry Pi 3 (Broadcom BCM2837)
        – Raspberry Pi B (Broadcom BCM2835)
        – Raspberry Pi B+ (Broadcom BCM2835)
        – Raspberry Pi Zero (Broadcom BCM2835)
        – ROCK64 (Rockchip RK3328)
        – Roseapple Pi (Actions Semi S500)
        – UP Board (Intel x5-Z8350)
        – Wandboard Quad (NXP i.MX6) x

    1. Couldn’t agree more!

      Vendor software support is horrible (still an unpatched 3.4.39 kernel from 5 years? ago), community more or less ignores this device ( so still no newer usable kernel) and the hardware is questionable too since no mounting holes for a giant heatsink mean no way to get full performance on this board and the USB-to-SATA bridge is the most crappy one the world has seen (the broken GL830 chip eating up the last sectors of every connected disk and slow as hell: Only 15 MB/s writing)

      More info/warnings:


      1. I just knew you’d come in quickly – well, I don’t guarantee good reviews 🙂 I have to say this month the board I’m happiest with is the Orange Pi Plus 2E – unlike it’s sibling the Orange Pi 2. Close behind (though not the same performance it is tiny) would be the Neo Plus2 – funny they have similar names… In the near future I’m going to tackle putting SPI displays on these things I’m I’m sure that’ll count a few more out.

Comments are closed.