Although most single-board computers these days ship in a “full” Raspberry Pi 3/4/5 “B” form-factor or larger, I have been on the lookout for Zero variants for a long time, and the Geniatech XPI-3566-Zero is the latest one I’ve tested.
Disclaimer: Geniatech supplied me with a Geniatech XPI-3566-Zero free of charge, for which I thank them. And, as usual, this article follows my review policy.
I love this form factor partly because I routinely use a Radxa Zero as an “iPad sidecar” and partly because there are many applications where a smaller form factor makes more sense–and unlike a compute module, you can deploy the bare SBC without a carrier board and with reliable I/O connectors.
In my particular use case, these smaller boards are excellent due to their low power consumption and the fact that they can be powered by USB-C, and they provide a good balance between performance and power consumption for a “portable server”.
But Geniatech builds them specifically for industrial applications, so the components are a bit more high-spec than the typical Zero and the emphasis is on a slightly different set of features.
Hardware
The model I got comes with:
- Rockchip RK3566 CPU ([email protected])
- 4GB LPDDR RAM (sadly, I didn’t get the 8GB model)
- 32GB eMMC (can go up to 128GB)
- mini-DVI (which can output up to 4K)
- 2.4/5GHz Wi-Fi, Bluetooth 5.0 (there’s a single SMC connector for the supplied pigtail antenna, which I didn’t need)
The CPU is the star here, since the RK3566 has a GPU/VPU able to decode 4K@60fps H.264/H.265/VPN and encode 1080p@60fps H.265/H.264, so theoretically at least (with the usual Rockchip software support caveats), you can run a surprisingly beefy media server off it.
It also has an NPU, although with 1Tops@INT8 (which is enough for signal processing and vision applications, but not LLMs), there isn’t a lot I can do with it in my current projects–but with A55 cores instead of the A53 cores you’d get on a Pi 2W I was expecting at least a 15-20% performance bump, and that is nothing to sneeze at.
The rest is pretty similar to the typical Zero form factor, except that you get USB-C connectors (as befits a modern board) and there isn’t an SD card slot (which, to be honest, you don’t want to have in an industrial setting).
Software
The board ships with Debian 11 bullseye
pre-installed–more specifically, a Linaro build atop kernel 5.10:
Regular readers will be wondering at this point what I am doing testing a board with a non-Armbian distribution, and the answer is simple: One thing that caught my eye in the documentation was the mention of a “Raspberry Pi OS emulator”, so I was really curious to see what that would entail.
So after a little benchmarking (more on that later, since it was a bit of a rabbit hole) I downloaded and flashed that OS image, which is essentially a Raspbian Debian 11 image (i.e., the old bullseye
) version with the same kernel.
That image is very familiar, and started out with the Raspbian welcome wizard:
…before landing you on a desktop that looks exactly like the Raspbian desktop:
I should point out that Geniatech made the correct version of RKDevTool
available for download in the same bundle as the firmware, so I was able to flash the board with without any issues or hesitations (well, other than the usual problems of having to use Rockchip’s tools on a Windows machine, but that’s not their fault)1.
From a user perspective, it works fine and is very responsive, but I did notice a few things–most notably that raspi-config
wasn’t tweaked at all and that you can nuke the entire installl by asking it to expand the filesystem onto what initially appears to be free space (it’s not, it’s just a rather typical Rockchip partitioning scheme with 7-8 partitions).
But the real issue is the kernel version, which is ancient by modern standards (most of my machines, including Raspberry Pi ones, are running 6.1+). I was expecting a more modern kernel, ideally something on a par with the Armbian builds I use on my other boards, but that wasn’t the case here.
Performance
But the story isn’t that simple–even before switching the Linux distribution, I started doing some testing, since I wanted to see how much of a performance bump I could get from the RK3566 over the Amlogic S905Y2 on the Radxa Zero.
The lack of RAM meant I couldn’t really benchmark the XPI-3566-Zero using ollama
, so I resorted to sbc-bench
.
I still prefer to measure performance in the use cases that matter to me, but in this case a “standardized” benchmark came in quite handy.
You see, I was expecting the RK3566 to outperform the Amlogic S905Y2 on my Radxa Zero but, instead, the results were… inconsistent with those expectations, and sbcbench
has a huge amount of benchmarking results I could use as guidance.
Here’s the sbcbench
output for the original OS, the Raspbian flavour, my Radxa Zero and a “normal” Zero 2:
Device / details | Clockspeed | Kernel | Distro | 7-zip multi | 7-zip single | AES | memcpy | memset | kH/s |
---|---|---|---|---|---|---|---|---|---|
Rockchip RK3566 EVB2 LP4X V10 Board | 1800 MHz (throttled) | 5.10 | Raspbian (bullseye) | 3080 | 1294 | 827780 | 2930 | 7910 | 3.98 |
Rockchip RK3566 EVB2 LP4X V10 Board | ~1340 MHz | 5.10 | Debian 11 bullseye | 3390 | 948 | 620820 | 2060 | 4220 | - |
Radxa Zero | 1800 MHz | 6.6 | Armbian 24.5.5 bookworm | 4530 | 1337 | 834820 | 1580 | 5620 | 6.65 |
Raspberry Pi Zero 2 (RP3A0) | 1200 MHz | 5.10 | Raspberry Pi OS Buster | 3640 | 1007 | 36300 | 1320 | 1790 | - |
Other Testing
I got similarly weird results from sysbench
, which ranked the XPI-3566-Zero as 15% slower than the Radxa Zero in CPU and RAM metrics.
That didn’t make any sense to me–I expected the RK3566 to also beat the Amlogic S905Y2–so I spent a long time fiddling with power supplies, CPU governor configurations, checking temperatures, etc., I didn’t get any better results than the above, and got nowhere regarding a definite conclusion other than confirming two data points:
- The CPU temperature stayed below 75oC most of the time (so I don’t know why it was throttling)
- The board took in only 1.54W at peak load/temperature (measured with the exact same USB tester I used with the Radxa Zero, which seldom went past 1.2W)
Of course, this doesn’t test any of the GPU or NPU features, so you’d think that for CPU-only use cases there would be no benefits from using a RK3566 over the Amlogic S905Y2… But there is a major difference between those systems, and that is the kernel.
Kernel Matters
In short, and even though there are certainly clocking and RAM variations at play, I think that the Linaro 5.10 kernel this board ships with it is doing it a massive disservice–over the years, the Armbian systems I upgraded to kernel 6.x have all felt much snappier, and I am currently testing another RK3566 device that is much faster than this one without any real hardware differences.
I suspect that, again, Rockchip mainline support (or lack thereof) is a key factor here.
Sadly, the CPU (re)testing took enough time to stop me from getting into the weeds of GPU/NPU libraries, so this time I didn’t test Jellyfin or anything else that would have made good use of the GPU/NPU.
Upsides
However, I should also point out that there is nothing fundamentally wrong with the results. For starters, the board never crashed during any of my testing, temperatures were never excessive (that tiny little thermal block worked perfectly), and I didn’t really notice the performance difference in practical use.
Not to mention that it soundly trounced the original Raspberry Pi Zero 2 in all the non-I/O-bound tests. And if I compare both boards directly it’s nearly all upside (including being able to use 5GHz Wi-Fi, which is a huge deal for me).
So I think this is pretty much what you want for an industrial system that might need to do heavy CPU work in a very small form factor–it’s just that I was expecting a bit more from it.
Power Consumption
As mentioned before, I could not get the board to go past 1.54W at peak load, which is quite decent for an RK3566 board. I did notice that the board was a bit more power-hungry than the Radxa Zero at idle (1.0W almost on the dot), but given that the XPI-3566-Zero is running an ancient kernel and I had inconsistent results when fiddling with CPU governors, I don’t think that’s a fair comparison–or even a good data point.
Conclusion
The XPI-3566-Zero is a nice board that needs better software, and I hope that Armbian can support it soon.
This particular one won’t replace my Radxa Zero as an iPad companion–I really need a more modern Linux distribution, and more RAM/storage in this form factor–but I find it intriguing to have a Rockchip board that can (nominally) run Raspbian, even if an older version, so I am printing a case for it and will be trying to get
As to my next steps with it, I’m printing a little case (with the exact same dimensions as the Radxa Zero’s) and will be playing around with it a bit more. Hopefully I can install something that makes good use of the GPU/NPU), but I really want test two things:
- Video encoding/decoding performance (I will probably have to reflash the original image to do this, since the Raspbian image defaults to packages that rely on the Broadcom GPU)
- GPIOs (this seems like a good thing to test on a device that aims to emulate a Raspberry Pi)
-
The image was hosted on Mega (of all places), and I did have to change the tool’s language to English, but this was nonetheless an improvement over the usual situation. ↩︎