While I was away in Poland for Easter I had an email from someone called Jet (email@example.com – he asked me to share that) about a board called Banana Pi. I’d heard of it already. I also knew that other people in the Raspberry Pi community had been approached (we talk to each other ;p). They wanted me to join their forums and submit a request for a sample.
I didn’t want to play that game so I said I was happy to have a look at it if they sent me one, but otherwise no thanks (and by the way we get about 4k views per day). They asked for a mailing address.
The day after I returned from Poland, it arrived.
So What Is It?
It’s basically a clone of the Raspberry Pi, but with some differences.
For starters, it’s slightly larger and the PCB is thinner…
length * width * board thickness
85mm * 56mm * 1.5mm Raspberry Pi
92mm * 60mm * 1.0mm Banana Pi
It uses an Allwinner A20 dual-core T processor and has 1 Gb of RAM
The ARM CPU is faster than the ARM CPU of the Raspberry Pi.
It has a Mali GPU, which is said to be significantly inferior to the Raspberry Pi’s VideoCore GPU, but I have no way of measuring that.
The GPIO header is supposed to be pin-compatible with the Raspberry Pi.
It has an ‘on the go’ micro-USB port, which is confusingly in the same place as the Raspberry Pi’s power port.
It also has…
- A SATA port for hard disk drives
- Power and reset buttons
- A teeny electret microphone
- An IR sensor
- A tiny button, they call a UBOOT key.
- The ethernet port is a Gigabit port
- A metal SD card slot
It has two ribbon connectors in similar location to the DSI and CSI ports on the Raspberry Pi, but the width and pitch are different so they won’t be compatible with Raspberry Pi accessories.
Price. Delivered to UK is about $76, which is about £45. In the UK you can buy a Raspberry Pi model B for £28.07 delivered (from CPC).
Took A While To Get It Working
I went to their site lemaker.org and downloaded one of the choice of three SD card images. I picked the one they called “Raspberry Pi” because I assumed it was a port of Raspbian for the Allwinner A20 chip they’re using. I ended up with a .tzg file which extracted to a file called pi.8GB, which I then flashed to an 8Gb SD card using ‘dd’ on a Ubuntu laptop (~an hour). That didn’t boot properly, so I looked for the instructions and did it exactly according to those. That failed in exactly the same way. I got about two screens worth of normal boot messages followed by something that talked about numbers of blocks being different.
I think it was an issue of media card size differences here. I tried shrinking the image with a utility I use for Raspbian images – autosizer.sh, by SirLagz but that didn’t work (probably due to the unusual partition arrangement). I didn’t have any available SD cards >8Gb so, for the time being, I stopped.
Then I remembered I had a 32 Gb card in my weather station pi, so copied and shrank that SD card image, then cloned it and made sure the weather Pi was working, before flashing the nana Pi Raspbian image to the larger card. It takes about an hour to flash an 8 Gb image using dd in Ubuntu and USB 2. So having done it three times I was a bit irritated. If it didn’t work third time, I decided I’d ‘call it quits’.
Third Time Lucky
Happily it did work the third time. The Banana Pi version of the Raspbian image has 5 partitions on it: Recovery; Boot; Root; Settings and ‘the partition with no name’.
SD Card Image Is Twice As Big As It Needs To Be!
It’s an 8Gb image with 3.36 Gb of empty space in the main Linux partition. This could have been compressed and resized later GRRRR. It takes about an hour to write to SD card on a USB 2 card writer. This isn’t funny when you have to do it 3 times to find a card that works. So by the time I got to this stage, I was already quite irritable.
Are We There Yet?
It boots OK, but with some failure messages e.g. ‘module sndBCM2835 not found’ etc…
Then it logs you in automatically and takes you straight into LXDE, after what seems like a long period of ‘blank screen, has it crashed?’ In my opinion, this kind of misses the point of Pi, which is to boot into a command line environment and then have to type a command to make it do something (i.e. being in control).
Once there, though, LXDE works quite well. There is no GPU support, it’s all running on the ARM CPU. But it works quite well in terms of being able to drag windows around the screen. Midori still takes a long time to fire up, but, once it’s going, it works well loading graphically-intensive web pages tolerably fast. I don’t generally browse on the Raspberry Pi as it’s slower than my patience threshold. The Gigabit ethernet port, 1 Gb of RAM and faster ARM processor helps the ‘nana outperform the Raspberry in this area.
But Here’s The Thing.
I don’t use the Raspberry Pi for browsing because I have two phones, a tablet and several larger computers that do this much better.
I use the Raspberry Pi for programming in Python, learning Linux and hacking around with electronics and controlling hardware with GPIO ports, SPI, I2C.
I have been known to fire up OpenElec and use that to watch a video occasionally too.
Sadly, although they say their GPIO header is pin-compatible with the Raspberry Pi, the Banana Pi’s GPIO ports are not yet accessible or usable by someone like me. There is no RPi.GPIO or WiringPi for the ‘nana, and the ports are not accessible in bash either.
A ‘low-level programming guru’, I am not. So GPIO work and electronics is not an option at this time. Maybe it will be, but not yet.
Not All Add-ons Will Fit
Even if the GPIO header pinouts are the same as on the Raspberry Pi, not all add-ons will fit properly because the distance between the GPIO header and the composite port is different.
Let’s Watch a Movie Then
Are you waiting for the other boot to fall? There’s currently no GPU support either. So no omxplayer, or XBMC either. Other media players, like VLC, might work using the ARM, but I don’t expect the performance would be particularly good until the GPU can be brought into use.
So. Should I Get One?
Here’s the thing. It looks like a well made piece of hardware. It’s about 50% more expensive than the Raspberry Pi. The ARM CPU has a bit more ‘oomph’, and it has some extra hardware features, SATA, mic, IR, etc. But the software, support and community are not there (yet).
If you don’t need/want your hand holding or you’re a hard-core developer, you should probably get one. But, since the software side of things is at a very early stage of development, and there isn’t much support available, most of us would be better off sticking with the Raspberry Pi. It might be worth it to some people who require the extra CPU oomph, but I feel that the vast majority of users will be better served by the Raspberry Pi because there are so many resources, blogs, YouTube channels, Jams and people around to help.
If they can gather enough momentum from developers, the banana could be a good platform. The big question is can they? The jury’s out on that one.
I look forward to seeing where this project goes. It doesn’t have the same ‘feelgood factor’ as that generated by the Raspberry Pi’s charitable, educational goals. And one can’t help feeling that perhaps they’ve made a mistake trying to identify with the Raspberry Pi? Maybe they would have been better off calling it something different, or waiting to release it until there was a more complete software stack?
We’ll see. What do you think? Let us know in the comments below. I will make a video, perhaps later in the week.
Update. I’ve been a bit busy to make a video, but Mathew Keegan has made one that pretty much echoes my opinion above…