Around early February, I got a little extra something in the mail: An Orange Pi Zero 3, which is (yes, you guessed it) yet another single-board computer–not based on the RK3588
, but on the AllWinner H618
SoC, which is a lower end quad-core ARM Cortex-A53 running at 1.5GHz:
Disclaimer: Orange Pi sent me a review unit (for which I thank them), and this article follows my Review Policy.
Hardware Specs
The Zero 3 is a bit of an odd duck, but with a few interesting features:
- 4GB of
LPDDR4
RAM
- A Gigabit Ethernet port
USB-C
for power
I quite like to see Ethernet ports in smaller SBC
s, since it makes them more useful as thin clients, and the generous RAM
allocation is also a plus for a board this size. The rest of the specs are a mix of the usual and the unusual:
- AllWinner
H618
SoC
with 4xCortex-A53 cores running at 1.5GHz and a Mali G31 MP2GPU
. - An on-board single-die
20U5622
Wi-Fi/Bluetooth module that supports 802.11ac at 5GHz and Bluetooth 5.0 (a pigtail antenna is supplied) - a micro-
HDMI
port (which is a bit of an annoyance, but I have a few cables for that) - An
SD
card slot (which is all you get for storage, since there is noEMMC
on this board) - a 26-pin
GPIO
header (which is also a bit of an oddity, but is documented on their wiki) - A 13-pin header for an optional daugherboard (which I also got) with:
- Two additional
USB-A
ports (it has one on the main board) - A 3.5mm audio jack
- A microphone
- An IR receiver
- Two additional
Given the mixing and matching that is going on in the BOM
, I suspect this board (or its ancestors) was originally designed for use in a set-top box and re-purposed for the maker market by replacing an EMMC
with a card slot, but that’s just a hunch.
Software Support
As usual, getting stable, maintainable software was a bit of a challenge. While fiddling with the board I realized that it booted into a mini-userland saved to SPI
flash when no card was present (which has interesting implications for field service and is something I’d like to see more often), but booting a full OS has to be done from an SD
card.
As to Linux distributions, it took me a while to actually get around to testing it, for two reasons:
- I really wanted to flash Android, and that was a bit of a rabbit hole (more on that below).
- The board is not officially supported by Armbian, nor is there a “vanilla” Debian CLI image for it (which I would have preferred).
Not the droid you are looking for
On the Android front, things are just… strange. To flash the official image to an SD
card, you need to use an extraordinarily specific Windows tool (you read that right, it does something to the partitioning scheme that apparently can’t be done with your usual dd
or Mac/Linux imaging tools), and there is no real way to customize or build your own image–so after a few weeks of poking around I gave up on that–part out of principle (it’s an unmaintainable solution) and part out of frustration.
Then I went and spent a fair chunk of time searching for a way to get a Linux image I could easily maintain or upgrade, and things were better, but still far from perfect.
An Armbian and a Leg
There are unofficial Armbian images available, but even though the wiki had quite a bit of documentation, it took me a while to realize I had to use specific system images for the 4GB RAM
version of the board.
And, you guessed it, there were no prebuilt ones. This is apparently due to the need of having specific DTB
files for uboot
depending on board version, and instructions for patching the images were a bit hard to find (they are in Chinese, which I personally don’t really mind, but by that time I was already out of time).
So, in short, the software situation is a bit… complicated. And for folk like me, who are used to embedded systems and can boot their own kernels, Orange Pi does have build instructions for building a Linux 6.1 kernel on GitHub.
But since at the time I was already trying to backport an RK3588
kernel to Armbian, I just didn’t have the time to deal with another SoC
and its quirks.
“Official” Debian
I eventually flashed the official Debian desktop image onto a 32GB SD
card, and even though the system booted to a US English locale, I still had to do a few changes:
- Remove the
huaweicom
repository fromapt
sources, because, well… I’d rather update from other places, or use geo-distributed mirrors. - Change the default terminal back to
xfce-terminal
, because (as usual in Chinese distributions) the default terminal is picked due to its ability to display Hanzi. - Remove a bunch of similarly-handpicked utilities, and install
firefox-esr
as a browser since it was lighter than Chromium. - Set up
avahi-daemon
andnss-mdns
to be able tossh
into it usinghostname.local
and discover my other machines on the network.
I was also pleasantly surprised by orangepi-config
, which is pretty feature-packed:
Power Consumption
Running Debian, I measured the bare board at the USB-C
port, and saw it taking in a maximum of 2.2W while booting without anything connected, and idling at 0.8W in the same situation.
Plugging in a keyboard and mouse bumped these by almost 1W, and adding Ethernet another 0.3W.
With a monitor, keyboard and mouse plugged in, it was taking in a little above 2W idle, which is in line with expectations for a board with this kind of feature set.
Use Cases
With my original idea of flashing Android on it and test Moonlight alongside the Logitech G CLoud out the window, I plugged the Zero 3 into an LCD
panel I have on my electronics bench and used it to look up documentation and well as a thin client to connect to my desktops.
And it worked–pretty well, really. With 4GB of RAM
and a quad-core CPU
, it was snappy enough to open PDF
s and browse the web (as long as you don’t expect to watch a lot of video–anything over 720p was a bit sluggish):
I used it without the expansion board, since the keyboard I was using has a built-in USB
hub (and didn’t need audio), and it was almost invisible thanks to its small size.
So as a thin client, yes, it does work perfectly–I had zero issues with performance over VNC
or RDP
on the 1080p display I was using. And I did eventually try out Moonlight as well, although clearly the Linux image I was using was not optimized for making the best out of the Mali G31 GPU
:
Conclusion
The Orange Pi Zero 3 is a strange SBC
. Like many, it is let down by its software support, but the only real flaw I can point to hardware-wise (within comparable boards) is the lack of an EMMC
.
I would have loved to have a good, easy way to run Android on it (where the GPU
would shine), but as a Linux board I see it as being more useful for thin clients and running Klipper/Octoprint alongside a 3D printer than, say, digital signage (since the video decoding is lacking), but it’s a very capable one.
It is a bit of a shame that it doesn’t ship with EMMC
storage. But overall it is a capable board that can be used for a variety of purposes.
My plans for it are to (eventually) build it into a monitor (the panel on my electronics desk is just bare, literally hanging by the driver board, and I have been slowly designing a suitable enclosure). That way I can use it as a thin client, and, eventually, plug in my oscilloscope via USB.
But given its small size (it’s almost exactly the size of the now useless LCD on my KP3S Pro), I’ve also considered using it to run Klipper (although with 4GB of RAM
it could probably handle two or three printers), and I suspect a lot of people will find the lower-specced boards pretty handy for that.
Another use (given its Ethernet port and low consumption) is as a home router “sidekick”–you can confidently power it off a USB
port on your router and use it to run Pi-hole
for ad blocking or OpenWRT
for a personal VPN–which would be a nice and compact way to add those features to a home network.