About the Olimex A64-Olinuxino

In June 2019, I bought three Olimex A64-Olinuxino boards. Here's a review of my experiences.

Summary

Features:

Major caveats:

Minor caveats:

Buying the boards

The boards can be bought on Olimex' website. The board is sold with no bundled accessories whatsoever, so unless you already own the hardware, you will need to buy, in addition to the boards themselves:

Installation

Upstream Armbian mostly works, but it is better to use the images provided by Olimex (which have working Bluetooth and temperature sensing). Instructions:

After rebooting and before running any upgrades, you'll want to add the following to the file /etc/apt/preferences:

Package: *
Pin: origin "repository.olimex.com"
Pin-Priority: 600

Usage

CPU, memory, and storage

The CPU is a quad-core Cortex-A53; it implements ARMv8.0-A, and Armbian runs in 64-bit mode. It is fast enough to do native compiles, but I prefer to cross-compile from a Debian desktop (use aarch64-linux-gnu-gcc for C, and GOARCH=arm64 for Go). The Cortex-A53 implements the ARMv8 crypto extensions (AES, SHA-1, SHA-2), which are well supported by the Linux ecosystem (at least by the kernel, by OpenSSL, and by the Go runtime).

The board has 1GB of RAM, of which 80MB appear to be reserved for the GPU (which there is no obvious way to recover without patching the kernel).

The on-board eMMC has reasonable performance, and at any rate the board has enough RAM to keep my working set in cache. Since 4 GB is plenty for my needs, I have only used the micro-SD slot during installation.

Ethernet

The Ethernet works out of the box, it successfully autonegotiates both 100Mbit/s and Gigabit (I no longer have access to a 10Mbit/s hub). It saturates my WNDR3700v2 with ease (at 400Mbit/s), I haven't tried it with a faster router.

WiFi

The chip is a RTL8723BS connected over SDIO, with a PCB antenna (there's no external antenna connector). It's a 1×1 2.4GHz-only chip. Either the chip or the Linux driver has some limitations:

BlueTooth

BlueTooth 4.0 (with BLE). It works. I'm getting roughly 2 Mbit/s over BNEP, with 20 ms latency.

I've found that the BlueTooth disappears after a reboot. You need to physically power-cycle the board in order to recover.

Running on battery

The board runs fine on a 1400mAh toy battery. The PMIC indicates that it's using 800mA when idle; if that's accurate, then we should have a good few hours before we need to recharge, way more than I'd need for even the most ambitious demo.

There is an upstep converter on board, so the USB ports work even when on battery.

Expansion

Only one UART port is populated, and it is used as the console.

The board has space for three extra headers: one UEXT connector (UART + I²C + SPI + power), one HSIC, and one undocumented 40-pin header. Unfortunately, none of these are populated, so using them will require soldering. (Not that I have big needs, but a second UART and an I²C would be handy.)

So I guess I'm condemned to the USB2 ports, with their atrocious latency and high power consumption.

Conclusion

A decent board if you forget about the onboard WiFi.