Last 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.