Monthly Archives: October 2014

Product Review: Banana Pi

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:

Update: What I’ve Been Up To

The past several months have been a whirlwind of the following:

  • Searching for a job
  • Putting various aspects of my life in order post-college, including sorting and fixing a lot of stuff that just wasn’t important enough to take care of while I was a student, but definitely is now that I’m not
  • Back-to-back: A nearly-free trip to Cabo and then a trip to Illinois for my sister’s wedding
  • Dealing with treatment and surgery for a torn peroneal tendon in my left ankle

Job Search

I have the unfortunate circumstance that I have a gaping hole on my resume from August 2002 to December 2008, primarily due to the tech crash that followed the World Trade Center attacks of 9/11/2001. When I graduated with my BSEE in August 2002, new graduate unemployment in my field was over 50%. There was a deluge of laid-off, experienced engineers, all clamoring to take any job, even entry level.

I was also living in my hometown of Mattoon, IL after college. In spite of my eagerness to relocate, this did not help my odds of getting a job. Between August 2002 and December 2008, countless applications and resumes sent out yielded a total of five honest-to-goodness electrical engineering job interviews. I applied for other types of jobs too, but none of that ever bore fruit, not even a single interview. I did a bit of temping, taught myself to code, and even consulted on a Second Life game called Tringo, which earned a mention in the Wall Street Journal.

Since I earned my MBA and MSCE and finished 2 graduate internships with major semiconductor manufacturers, interviewers care about that employment gap slightly less. I’ve had about a half dozen interviews since December 2013, mostly with solid companies. Getting those interviews is still challenging, enough that each one I get feels just like I imagine winning the Little Lotto would. I do my best for every interview to show that I’m a great candidate, but I’ve not had any offers yet.

I’ve recently started working with a couple of recruiters, so hopefully this will also help in my search. I’m sure I’ll find something, as I have the talent and skill and I’m working to demonstrate it in every possible way (e.g., this site and projects I can demo in interviews), but there’s probably still a lot of work ahead before I’m employed.

Fixing Stuff

Just like nearly everyone else of the “handy” persuasion, I have a backlog of unfinished projects. No matter how hard I work to minimize that backlog, there will always be a few things. But, to put it simply, I have too much of that stuff right now, partially as a consequence of getting advanced degrees and not having the time to sort through stuff. As I’ve had the time, I’ve been working to do something about it since I graduated in December.

In late July, I took on my cache of damaged electronics and small appliances. As a result, I did a half dozen or so major restorations and repairs. I think some of them are worth posting on here. I’ll surely have time to do some of that over the next several weeks.

Of course, I also gave away some things, donated others to Goodwill, recycled some, and just plain threw some it out. All of that helps too.

Trips

As I said above, I traveled to Cabo and Illinois several months ago.

The Cabo trip was wonderful. It was part of a service award that my wife, Teri, won at work. We were able to extend it to 9 days total. It was so nice to get away and spend some quality time on a beach again. We hadn’t had that kind of a vacation in about five years. I’ll probably post something more about that eventually.

And a short visit to my hometown of Mattoon is always interesting. At the very least, it’s nice once in a while to go back and visit places like the local Burger King. My hometown isn’t a very exciting place, but it’s still pretty unique.

Surgery

Until 3 weeks ago, I’d been tolerating a split peroneal tendon in my left ankle for between 16 months and 5 years. I have a few guesses about when and how I injured it, but none stand out enough that I’m certain of the cause. It was likely an injury of attrition, resulting from too much walking and not enough time for the tendon to repair itself. I do walk around quite a lot.

Once I knew what the injury was, I did my best to let it heal on its own. But that isn’t easy with a torn tendon. The human body is generally amazing at healing itself and indicating that it needs a rest. Tendons are an absolute exception – the pain goes away far more quickly than they heal, tempting the risk of further injury. With a tendon in the ankle, it’s especially tough, because life frequently presents scenarios where the choice is to either take a fall or undo weeks of healing. And that’s just what you get for walking around; anything requiring more exertion is a greater risk.

Six weeks ago, after trying to let the torn tendon heal on its own, I decided to have it surgically repaired. This wasn’t an easy choice, since it meant up to six weeks without walking. As of today, I’ve been out of surgery for three weeks. It’ll still be another three weeks before I can use my left leg for walking or even holding up my body weight. After that, I get to walk in one of those huge boots for two more weeks. Then, it’s on to physical therapy, to learn to use my left ankle properly again.

Since I’m mostly going to be sitting over the next three to five weeks, I’ll hopefully also finally get to spend some more quality time with the Pi cluster too.