Product Review: Banana Pi

By | October 31, 2014

A little while back, I was asked by someone from LeMaker to review the Banana Pi. I was sent a total of four Banana Pi boards, along with related accessories.

Here’s what one set looked like:

Banana Pi with Accessories

As far as I know, the SATA cable and case are generally sold separately.

Unboxed, here’s what the Banana Pi looks like (banana for scale):

Banana Pi for Scale

Here’s a Banana Pi next to a Raspberry Pi Model B:

RPi with BPi 1 RPi with BPi 2

Functionally, the main things that distinguish this board from a Raspberry Pi Model B are as follows:

  • More RAM (1 GB vs 512 MB)
  • A faster SoC, with 2 cores (Allwinner A20 vs Broadcom BCM2835)
  • Power and reset buttons
  • Onboard SATA
  • Onboard USB OTG port
  • Onboard IR receiver
  • Higher price tag – as of 10/31/2014, they’re $58.99 on amazon.com.
  • It draws more current, making it slightly more difficult to power reliably. Plenty of adapters are available that fit the bill, but one that works with a Raspberry Pi or smart phone won’t necessarily provide it with enough current. A common recommendation I’ve seen is to use an adapter with at least a 2A current rating. Or you could go bigger and power several Banana Pis at once.

Hardware-wise, the Banana Pi seems to be roughly on-par with a platform like the Hummingboard-i2, Hummingboard-i2eX, or Cubieboard2. But I can’t make that comparison properly, as I don’t have access to any of those.

Initial observations:

  • Build quality generally seems very good. It’s at least on par with or slightly better than the RPi 256 MB and early RPi 512 MB (also made in China). At the very least, the solder joints look really good on the units I received.
  • The layout of the Banana Pi seems like it was probably inspired by the Raspberry Pi model B (RPi B). With some exceptions, its ports are positioned very similarly. Given the differences in SoC and RAM, I’m sure the traces are actually laid out very differently, but its functional similarities should be good for a lot of hobbyists who want a drop-in CPU upgrade for the RPi B.
  • The Banana Pi is slightly larger than the Raspberry Pi, by a few millimeters in both directions. This is a small difference, but it could potentially matter in applications where a Raspberry Pi would fit tightly. Sorry, your Raspberry Pi case probably won’t work for it.
  • The network and USB ports are properly lined up, just as they are now on the RPi B+. The misaligned ports were always an annoyance for me in designing around the RPi B, so I’m glad neither outfit decided to keep that feature of its layout.
  • The SD card socket is a metal jacket type similar to the one I use when I rework a 512 MB RPi B for my Raspberry Pi cluster. Jacketed SD card sockets are less prone to letting the SD card warp from heat, so I’d call this a plus. The RPi B+ also uses a jacketed type socket now, but of the micro SD variety.
  • The Allwinner A20 CPU is quite a bit larger than the Broadcom CPU used on the RPi. It’s mounted on the bottom of the PCB, as opposed to the top. I’m sure this is because the top is pretty crowded with ports and such. But I’m interested in whether or not this makes it inconvenient for anyone to keep it cool enough.
  • On the RPi, the single RAM chip was mounted on the top of the CPU in a package-on-package (POP) configuration. On the Banana Pi, the RAM is in two separate chips next to the CPU. This configuration is probably a lot better for cooling than a POP configuration would be.
  • When the Banana Pi is turned on, its indicator LEDs are pretty bright, especially the green one. The LEDs tend to blink a lot. It’s a little bit distracting if it’s in your field of vision while you’re trying to use it. Some users have considered this to be a great annoyance, but I see it as minor. It’s bright enough that I’d recommend considering a smoked acrylic case in place of a clear one or some method of dimming the LEDs. It’s not a big enough issue that it should be a factor in deciding which mini PC to buy.

Fully assembled, this is what the Banana Pi looks like in its acrylic case:

Banana Pi in Case Top Banana Pi in Case Bottom

SATA

The package I received included a specialized SATA cable with a power connection to power it. It only appears to support 5V power; the drawback to this is that it likely won’t work with a lot of SATA drives without an external power adapter, due to the loss of 12V power. (3.3V isn’t such a big loss.) With an external adapter, I was able to read from a WD10JPVT I had on-hand.

Through dmesg, I found that the onboard SATA controller appears to be routed through USB (which appeared to be USB 2.0). I don’t think this is at all unusual for one of these hobby boards, but it should be considered if you’re planning to buy a hard drive to use with it. I’d recommend not paying extra for drive performance.

SD Card Support

I couldn’t get the Banana Pi to work with the Kingston SD4/8GB SD cards I use with the Raspberry Pi model B. Luckily, it works with the Kingston SD10V/16GB SD cards that  I originally bought to try with the RPi B (They didn’t work with the RPi B.) It must be really tough to make these boards support all SD cards.

OS Support

I learned from my experience with the Hi802/GK802 (for which software support never fully matured) that hobby platforms like these are no better than their software support. If software support dries up before at least one mature OS image emerges, the platform can become worthless. Conversely, extensive software support (especially software that’s poorly supported elsewhere) can provide the user with far greater benefit than hardware specifications alone provide.

I believe this explains both the continued success of the Raspberry Pi, in the face of better-performing rival platforms, and the thinking behind LeMaker’s OS image page. They seem to be doing a pretty good job so far of supplying OS images to use with the Banana Pi. Presently, there are links for 13 different operating systems. It’s a good sign that so many operating systems already run on the Banana Pi. However, it’s a little worrisome that most of the download links utilize free file hosting services. It would add credibility to LeMaker to consider hosting their own files, even if they just provide a .torrent and seed each file with severely limited upload bandwidth, in addition to the existing free hosting.

I don’t expect to try every OS available, but I tried a few of them.

Raspbian (Banana Pi version)

By far, I spent the most time with this OS, simply because of my familiarity with it on the Raspberry Pi. It seemed very much like Raspbian on the Raspberry Pi, except that a freshly imaged SD card booted straight to an LXDE desktop. The background background was bright yellow with a Banana Pi graphic in the center. I think this is a nice touch, but you’ll want to customize it. It’s otherwise very similar to the standard Raspbian image.

The default username is ‘bananapi’. For security reasons, this is probably slightly better than ‘pi’, but it does mean you’ll be typing a longer username. If you plan to set up your own user account anyway, this doesn’t mean much to you.

The version of raspi-config on this image has been customized a little. I tried the menu option to expand the SD card image and it worked fine. I’m guessing other software-related options like keyboard configuration should also work. Hardware-related options like memory split were still available in the menus, but I’m not sure if these have been fixed to work on the Banana Pi; they might not even do anything at all.

Aptitude (Debian’s package manager, a front-end for apt) works pretty much the same on this image as it does on the Raspbian image you’d get from raspbian.org. Out of the box, it’s also configured to use http://mirrordirector.raspbian.org as its repository. With it configured this way, you’re getting binaries compiled for ARMv6. It seems to work fine. However, for performance reasons, I’d prefer to have the option to use a repository with binaries compiled for ARMv7.

Browser performance (with Chromium) was a little better than what I’ve come to expect from the Raspberry Pi. For example, typing into the search box for a Google search stuttered a lot less. This leads me to believe the Banana Pi is probably a little more suitable than the Raspberry Pi for use as a low-power substitute for a desktop PC.

I spent some time trying to get Mupen64Plus to compile and run. In theory, it should work, since the Mali 400 driver supports OpenGL ES 2.0. I gave up after doing far more than a more casual user would be able to do. (I think my failure was the result of structural changes to Raspbian’s file system, not a shortcoming of the Banana Pi.) I still think it should be possible to get it to work. It’s something I’d like to see, since there are a few N64 games that don’t run on the Raspberry Pi and a few more that don’t work very well. I expect more of them should run on the faster SoC of the Banana Pi.

Lubuntu

Without trouble, this image booted to a similar yellow desktop (also LXDE) as the Banana Pi version of Raspbian. I didn’t spend much time in this OS, as I discovered that graphic performance was worse than the Raspbian image. Still, it did work.

OpenSuse

This was another variant that booted to a similar desktop as Raspbian and Lubuntu. I had only planned to try it out quickly and realized soon that my habits (formed using many variants of Debian) and lack of experience with Zypper (OpenSuse’s package manager) worked against me. As a consequence, I didn’t get very far with it after I had it booted. Still, it was yet another OS that booted to a desktop and seemed to work fine. It would probably be great for someone who prefers the Suse way of doing things.

Bananian

bananian.org states the following: “The main focus is to provide a lightweight headless platform for home servers, small webservers, ownCloud hosting, Linux based wifi access points, NAS systems, monitoring devices, etc.”

The fresh image booted to login prompt without difficulty. Logging in takes the user (root only on a fresh installation) to a shell. I expect it would probably be possible to get a graphical desktop working on it, but there isn’t much point given the availability of Raspbian for Banana Pi.

Summary

Overall, I like the Banana Pi. Since it performs a bit better (due to it having more/faster RAM and dual core SoC), I think it’s better as a desktop replacement than the Raspberry Pi. It still won’t be blazing fast, but it should be enough for checking email and web browsing – at least for sites that aren’t script heavy.

OS support for the Banana Pi is very good at this stage. It will be great to see LeMaker continue expanding it. What they’ve done so far is more than you get from a lot of mini PC platforms (for example, the Hi802/GK802). I think OS support for the Raspberry Pi is still more mature, of course, but it’s an older platform.

Since I have 4 Banana Pis, I expect to try distributed applications on them. I’ll post something about that as soon as I’m able.

Related product links: