The Geniatech XPI-3566-Zero

Although most single-board computers these days ship in a “full” 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 .

I love this form factor partly because I routinely use a 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 board
Both sides of the board--very much like a normal Zero

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:

screenshot of the Debian desktop
A little round up of system info

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:

boot sequence
Yes, this was the actual boot sequence

…before landing you on a desktop that looks exactly like the Raspbian desktop:

screenshot of the Raspbian desktop
It's like coming home

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 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 .

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 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 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 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 , 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 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 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 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 ’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 )

  1. The image was hosted on Mega (of all places), and I did have to , but this was nonetheless an improvement over the usual situation. ↩︎

This page is referenced in: