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.

Facebooktwittergoogle_pluspinterestlinkedin

13 thoughts on “Enter the Banana Pi M3

    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:

      - https://forum.armbian.com/index.php?/topic/474-banana-pi-m3/
      - http://linux-sunxi.org/Banana_Pi_M3
      - https://www.cnx-software.com/2017/03/16/suptronics-x800-2-5-sata-drive-expansion-board-and-cases-for-raspberry-pi-23-and-odroid-c2-boards/#comment-540247

      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.

  1. 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. 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: -

          https://github.com/1technophile/OpenMQTTGateway

          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.

Leave a Reply

Your email address will not be published. Required fields are marked *