About the Olimex A64-Olinuxino

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



Major caveats:

Minor caveats:

Buying the boards

The boards can be bought on Olimex' website. The boards are sold with no bundled accessories whatsoever, so unless you already own the hardware, you will need to buy, in addition to the boards themselves, the following components (all of which are available from Olimex):


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


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). This particular build of 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). This makes the board useful for network servers and VPNs.

At least with kernel version 5.2, when under full load on all four threads, the board reboots when the CPU's temperature reaches 100°C.

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 4GB is plenty for my needs, I have only used the micro-SD slot during installation.


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). I have been able to push some 450Mbit/s from userspace, I haven't done any serious testing to see if I could do more.


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 4.0 (with BLE). It works. I'm getting roughly 2Mbit/s over BNEP, with 20ms latency.

I've found that 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.


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.


A decent board if you forget about the onboard WiFi and don't need documentation.