Some time ago, I wrote about the FriendlyArm NanoPi M1, a simple, low cost board which seems to hold it’s own against the Raspberry Pi2 in all but GPIO control – that’s not to say there is anything wrong with the GPIO but you have to write your own stuff for it as there is (so it would seem) nothing remotely like PIGPIO for these or similar machines. PLEASE prove me wrong.
See updates to this article at the end….
So that’s all fine but what if you need something more meaty? The FriendlyArm NanoPC T3 is a 64 bit octa-core board of similar size to the Pi and where the M1 scored a benchmark similar to the Pi2, the T3 is nearly twice as fast and has a lot more going for it – but then, it is also more expensive. When I say TWICE as fast – that’s doing the same benchmark – if the benchmark made use of all eight cores then the difference could be considerably greater. I've also reviewed the NanoPC T2 but my recent conclusions on that, at least for Android were not too good, certainly not for media consumption. In fact, as of now, I would say NOT to use the T2 as a media centre. See later comments in here.
Like the M1 I’ve managed to get Debian with all my usual tools running on it, really without any great problems. So what’s so special about this one?
It has an A53 Octacore processor, running at 1.4Ghz, with 8Gb of eMMC internally and of course you can use an SD. Unlike most other boards it has 1Gbps Ethernet along with WiFi 802.11b/g/n and Bluetooth 3 dual mode.
Along with that we have 1GB RAM, the facility to handle one of the company’s inexpensive LCD touch display boards, serial debug, RTC interface, 4 USB ports, camera interface, HDMI and supports Android 5.1 (yes with Playstore, unlike the M1 which for some inexplicable reason also support a much earlier Android but with no Playstore – so I just ignored that option - pretty useless really), Debian and Ubuntu.
I set mine up with Debian as usual, used my script to put all my usual stuff on and left it happily sitting in a corner running Node-Red for days - worked a treat.
On the GPIO front – there is some C code available and accessing the ports is fairly straight-forward but it requires root access and we really do need a better way.
Incidentally the unit I have, has a heatsink. Recommended.
There is a microphone input as well – and audio output can go to hdmi or the 3.5mm stereo jack. I already have a T2 model sitting running Android and ImperiHome as a kind of desktop status display – this one may end up doing something just a little more processor-intensive (read on). NOT cheap however so you might want to check total cost including postage.
About the only thing I really did not like about the Debian setup for the T3 was wpa_gui which not only looks naff – but also fails to report the status of WIFI. It would connect no problem but then still say “connect” – which is a worry.
Now, as it happens I have one of the FriendlyArm M1s again running Debian and that has wiCD Net work manager which does work. So I figured, in for a penny, in for a pound.
sudo apt-get install wicd
I had to tell it about the connection at first as it didn’t have my wifi details stored… and then
sudo apt-get remove wpagui
Problem solved. Now – getting the GPIO to work – it’s not an H3 so I can’t use WiringOp…. out of ideas on that one for now.
One issue with the T3 – is the eMMC itself. All of the above was done using eMMC and in an attempt to copy that to SD, I blew the lot. Why was I doing that? Because I can find no simple way to back up and restore the internal eMMC. I can't actually see much use for 8GB of EMMC especially as it is a pain to back up.
I spent ages getting onto the Baidu site trying to get an SD version of the software as the Google Drive link on FriendlyArm’s website just would not work. I don’t know if you know but if you don’t read Chinese – getting a Baidu account can be a treat. Anyway I finally got one.
Update: I contacted FriendlyArm at least twice about this as their Google Drive link does not work – I don’t know what BAIDU is like inside China but it is ATROCIOUS outside of it. This is my third attempt took well over an hour… I would normally get such a small file in a matter of minutes at most.
When I eventually got the file – I realised I could get it to run – but I could not expand it – I tried various approaches including with support from FriendlyArm and the SD simple would not expand – I wanted to use an 64GB SD yet could access only a tiny amount of available storage – which seems awfully silly. With Android up and running the first thing I tried was a media player – but because there is no information on the infrared remote control, I thought I’d try WIFI control by my phone – but THAT requires root access and the Android provided is not rooted – worse – Kingroot simply will not root it.
Meantime, FriendlyArm sent me some information on expanding the board - info that they had previously put out on the web and it simple would not work - I've now checked and there is nothing out there on this - HOWEVER - their solution works - they just missed out some important info.
When you blow their image onto SD - BEFORE you start playing with Android AT ALL, stick the SD into a Linux PC or a Raspberry Pi or similar (or a Debian machine on one of their boards) - and do the following exactly... firstly check that SDA is available (/dev/) and if not - maybe it is SDB??
So to recap, flash the Android SD - put it straight into a Linux computer - and run the commands below - do not "try it out" in the T3 first or you will fail.
Replacing SDA with SDB etc if necessary (I've done several installations and not had to change this)...
sudo parted /dev/sda unit % resizepart 4 100% resizepart 7 100% unit MB print
sudo resize2fs -f /dev/sda
Now This isn't EXACTLY what Friendlyarm said in their instructions - but then their exact instruction didn't work - this does. Once done, take the SD out - stick it in your T3, hold the BOOT button, turn the power on and after a few seconds release the BOOT button. Might take a minute or so for Android to come up - originally I was getting a 4GB Android which is about as much use as an ashtray on a motorbike - now I have one set up with 32Gb and another with 64GB of internal memory - no problem. All of this this will work in a NanoPC T2 but overall I found that to be sluggish.
From there I've put KODI and several other programs in there and it all works very well - the hardware Ethernet being a boon if you're streaming TV shows etc. and the video runs smoothly.
Now all I have to do is figure out how to get the board to boot into Android on SD without having to press the button... I did try just holding the button down and that works so worst case I could see a link coming on.
Update November 29th 2016: As you’ll see elsewhere I’ve been playing with the Nanopi M3 – a great little board with a nice heatsink and fan that makes for a good media centre… the only issue is – the noise of the fan. It is something one can deal with but it was enough to have me do one last test of the T3. There is now an image for the T3 that will boot up and let you have your choice in a menu of Ubuntu, Debian or Android 5.1.1 - now, I have commented in the blog that I am not stunningly impressed by either Debian or Ubuntu on these devices – at least not the FriendlyArm version and I really would like to see an up to date Android available – however – I thought I’d try this all in one SD image – which lets you easily blow code to the EMMC.
Well I have to say – M3 on SD – or T3 on EMMC – the results are quite clear – the T3 is FASTER. Running Kodi I noticed that videos play smoothly on the M3 until you pop up the menus – and running the video with all that guff overlaid onto it makes for a very SLIGHTLY jerky movement – but enough to notice it. Not so on the T3 which runs, to use a local phrase, as smooth as a baby’s bottom! Also Android is one hell of a lot easier to tackle for overscan and resolution changes than the other options and I was soon able to turn the mighty T3 into quiet a reasonable stick-on-the-back-of-the-TV media centre and I am more than happy with the results!