I’ve really enjoyed experimenting with the Raspberry Pi, and have even deployed a few as UNIX servers in my home and office network. The quad-core performance of the latest Pi models is awesome, but serious I/O limitations remain. With just one USB 2.0 interface shared for all network and storage operations, you aren’t going to be able to do much with the Pi. That’s why I was pleased to discover the Allwinner A20 CPU and the few single-board computers that use it, especially the Olimex A20-OLinuXIno-LIME2, which sports native Gigabit Ethernet and SATA!
ARM, Raspberry Pi, I/O, and the Allwinner A20
The fact that I/O is so limited for ARM-based single-board computers is due to the same factor that made the Pi possible in the first place: Economies of scale thanks to components designed for mobile phones. The Pi is based around Broadcom’s ARM CPUs, which are cheap because literally billions are sold into the phone and tablet market. But phones and tablets don’t need much I/O, so most ARM CPUs have only SD card storage (SDIO) and USB 2.0.
There are a few ARM CPUs with serious I/O capabilities, but they’re rare. ARM did add PCIe to some server-oriented CPUs, but these haven’t taken off and remain stupidly expensive. Apple’s A9 has PCIe for storage and USB 3.0, but of course these are only available inside expensive Apple products. But one intriguing option remains, courtesy of Chinese low-cost chip maker Allwinner.
Introduced in 2012, the Allwinner A20 uses inexpensive, power-sipping ARM A15 cores like so many other mobile device CPUs. But Allwinner inexplicably also added two key features to the A20 that make it the ideal platform for a “Pi killer”:
These are pretty ordinary interfaces in the PC market, but both are leaps and bounds beyond any other volume ARM chip in the market today. In my tests, my Lime2 board was able to push 750 Mbps through that Gigabit Ethernet interface and 150 MB/s to an SSD. Compare this to the 95 Mbps of Ethernet and 25 MB/s of my Pi2 and you’ll see why I’m excited!
Introducing Olimex and the A20-OLinuXIno-LIME2
But I’m getting ahead of myself. The exciting I/O possibilities of the Allwinner A20 are only realized when integrated into an affordable, available, reliable computer. So it’s time to leave China and head to Bulgaria.
Olimex is a less-familiar name here in the USA, but they’re well-regarded in Maker communities as a source of single-board computers, components, and prototyping kits. They develop their own open-source hardware designs and produce them in their factory. These parts are available from Amazon.com and are priced competitively with competitors like Raspberry Pi and Arduino.
The horribly-named A20-OLinuXIno-LIME2 isn’t necessarily a Linux system, has little to do with the Arduino, and is no lemon. Rather, it’s a Raspberry Pi competitor with serious I/O thanks to native Gigabit Ethernet and SATA. Let’s decipher that name a little: The “A20” obviously stands for the CPU used, while “OLinuXIno” is the name Olimex applies to all of their single-board Pi-like computers. “LIME” is this sub-series and this is the second-generation (don’t accidentally buy the Fast Ethernet-equipped first-generation board!) This is such a bad name, I’m going to call it the “Lime2” from now on.
In researching the world of Raspberry Pi competitors, I discovered that there are a few single-board computers out there that leverage the Allwinner A20 to offer Gigabit Ethernet and SATA:
- Certain models of the Banana Pi (M1, M1+, and Pro)
- The Wandboard Quad (which is somewhat expensive at $129 but has a quad-core CPU)
- The Olimex A20-OLinuXIno-LIME2
I was intrigued by these options, but which was the wise choice? I had a bit of trouble figuring out the Banana Pi and OlinuXino product lines, and found little information about the Wandboard. But after reading a bit about the cool folks at Olimex, I decided to give the Bulgarians their chance.
Why the Lime2 is Something Special
The Lime2 is the newest member of the “OLinuXIno” family, and the first to have a Gigabit Ethernet chip – the earlier Lime only has 100 Mbps Ethernet. It sports a dual-core A20 CPU running at 1 Ghz, just a little faster than the Pi2 but with half as many cores. I found the A20 to be a good-enough performer, blowing the doors off the original Raspberry Pi and about the same as a Pi2 or Pi3 in common single-threaded applications.
There’s a native full-size HDMI port between the SATA and USB On the Go ports on one end, with Ethernet, two USB 2.0, and power ports at the other. Interestingly, there’s an integrated battery charging and power port in the mix as well. On top are a generous assortment of GPIO pins as well as an LCD interface. The bottom we find three momentary buttons (very useful) as well as the Micro SD card slot. The Lime is also available with native flash memory, though the SD option is much less expensive.
A Cheap Little Storage and Network Server
Although not the same form factor or pinout as the Raspberry Pi, the Lime boards are very similar in application. They can be used for projects, prototypes, or little servers. This last use case is what got me interested.
I’m a storage guy, and am interested in servers and networking, too. I use a Model B Raspberry Pi for UPS monitoring and as an FTP server at the office and a Pi2 to manage two UPSes at home. I had tried using that Pi2 as a file server, but was frustrated by how slow it was in this role: Paired with a USB-attached Drobo, I was seeing under 6 MB/s throughput on my home (Gigabit Ethernet) LAN. I eventually switched to an Intel NUC, which easily delivers 60-70 MB/s in the same application, though the Drobo is limited to 25 MB/s thanks to a USB 2.0 interface.
I had also tried using the Pi2 as a Hurricane Electric IPv6 tunnel but performance there was too pathetic for production. In my tests, the Pi2’s Fast Ethernet port can hit 95 Mbps in some benchmarks but slows down mightily with more I/O present. This is because it shares the same USB 2.0 connection and hub as every other peripheral.
After receiving the Lime2, I installed Armbian (a Debian distribution for ARM computers) and put it through its paces. Sure enough, the Ethernet port blew the doors off the Pi, maxing out at 750 Mbps with 12 threads on iperf. The little system is CPU-bound, maxed out with that load. But this bodes well for network appliance use, from firewalls to gateways to storage.
I then attached a Crucial SSD to the SATA port to see what it could do. The Lime2 only supports 1.5 Gbps SATA, not the 6 Gbps my SSD can handle, but it performed admirably there. I read a reliable and repeatable 150 MB/s using hdparm -t, which is about 80% of native interface speed. Although not in the same league as today’s M.2 and PCIe storage interfaces, that’s plenty for a mechanical hard drive or basic SSD.
One note on power: I found that the USB On-the-Go port couldn’t reliably power a SATA device, but was disappointed by the barrel connector too. The Lime2 won’t even boot with a low-powered USB brick on the 5 volt port! I had to use a 2.1 Amp Apple iPad power supply rather than the generic 1 Amp supplies I’ve traditionally used. Be warned!
I’m very happy with the capabilities of the Olimex Lime2. With functional and fast Gigabit Ethernet and native SATA, it’s everything I wished the Raspberry Pi was. I’m looking forward to the network applications I can put it to!