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

The iPhone 16 event

OK, fine. Since I upgraded , I was quite unfazed by Apple’s 2024 iteration on either the iPhone or the new watches (let alone AirPods), but there were a few things I liked–and some I didn’t.

Sizes, for instance. Never mind the lack of an iPhone Mini model (we all know that’s unlikely and almost random), but I don’t need a bigger watch (although I like that they keep getting thinner and with a few more pixels of screen real estate).

But the Watch’s hidden superpower is having a CPU with enough NPU cores to run Siri on-device, which is… Pretty impressive, not to mention that I appreciate having some features back-ported to my Series 9.

And yet the non-existence of complete third-party watch faces is getting sillier each year, especially now that there is enough CPU to render a seconds hand…

I couldn’t care less about AirPods, though–at least at the current price point, there are loads of more sensible options, although the amount of Pro features shoehorned into the mainstream model is impressive (and the new hearing protection/aid features are certainly getting some people to upgrade to the Pros).

But the new iPhone… Well, the only thing I have to say about it is: What if Camera Control supported Touch ID?

Seriously now, Camera Control is the only thing I think I “miss” in my , and it feels somewhat overdue as a feature in the same way the Action Button (which I never use) feels like a mis-feature.

That said, the only other thing that really caught my attention was their explicitly calling out Apple Intelligence being available outside the US as long as you have your phone set to US English. That strikes me as a smart move, although I’m curious as to EU-specific caveats that might crop up (I got nothing considering the way requests are effectively anonymously processed off-device, but you never know).

And with the new A18 chip, I’m left wondering if they will really gimp the next iPad Mini by not giving it an M-series chip. Not that I expect to do any “AAA gaming” on any of my Apple devices, but it would be really nice to have an iPad Mini Pro.

That I’d pay good money for. iPhones and sundry, I’ll probably skip for another three or four years.

Notes for August 26-September 8

And so it came to pass that I took a break from writing (and most other things) for a couple of weeks, and now I’m back. Sort of.

Soul Cleansing

Like , I read six or seven books of various genres–some new, some old, some just to try to shake away the blues and try new things. Regretfully, as time goes by, one’s likelihood of finding something truly new and exciting diminishes, so I won’t go into detail about them here (even the technical ones were, to be honest, a bit of a letdown–the art of writing decent programming or systems books seems to be on the wane, somewhat like the average quality of software itself).

But I did finally catch up on Slow Horses a day before the new season dropped, so that almost rated as a success by the standards of one of the lead characters (if you watched it, you can guess who).

However, as far as my hobbies go, I failed miserably at trying to complete some of my projects–as usual, vacations are where I tend to go off into the weeds, and this year there was a steeper cliff between the days I could stay home and the ones we spent on the beach.

Electronics and 3D Printing

I did manage to spend some quality time sorting out non-computing things in my office. Sadly, none of my electronics projects progressed at all, even though I actually took a board with me and spent a couple of hours trying to get it to do something useful at the hotel (yes, really).

But a few critical parts got held up in customs in my absence, so I honestly don’t know when I will pick those projects up again.

Since coming back from the beach, I’ve also been printing a lot of utilitarian things (like Gridfinity bins for electronic components) and “de-fragmenting” my drawers.

With the now enclosed, I’m tackling bigger prints than usual but I’m still not happy with the quality of the calibration. There’s never enough time to tweak things properly, but for functional prints it’s plenty good enough as is.

Computing and Remote Access

My has changed a bit, but not by much–the and the were the only updates, and even then I ended up connecting back home to (half–I powered down the rest) of my cluster via because there were things that needed more RAM than what I was carrying along.

And yes, you can go a long way with an if you put your mind to it (or if you don’t have anything else…). Living inside mosh and tmux sessions felt like a throwback to the good old days, but the , was a joy to use despite dwarfing the iPad, so I don’t regret taking it along.

But I spent a while pondering simpler, purer computing (as usual).

There is something to be said for the simplicity of a thin client, but also the polish of a good tty-based interface–and terminal utilities have come a long way, so for the sake of modernization, I’ve started moving my configuration to Neovim (I think eight years is mature enough…) and settled on as my new terminal emulator of choice (I’ve finally given up waiting for Apple to modernize ).

So far I’m quite happy with it–well, except for the hideous macOS icon. Seriously, it’s the one thing that put me off trying it for so long.

Somehow, having a terminal that looks like this makes me feel like I’m in the future:

WezTerm with imgcat
I know this may seem confusing and overly meta, but look at it carefully.

We’ve had this technology for decades, and we don’t use it enough. If you want an imgcat alias, here’s mine:

# if we have magick installed, then define imgcat
[ -x "$(command -v magick)" ] && alias imgcat='_i() { magick $@ sixel:- };_i'

This will work for things like imgcat image.png and imgcat *.jpg (and let you see images in full Sixel graphics glory instead of the blurry mess most imgcat utilities output), but I didn’t really have the patience to make it take standard input (yet) because I can always fall back to magick if needed.

Artificial In(comp)telligence

Since I was bereft of nearly all significant computing resources, I ended up taking my , tweaking the prompts for gpt-4o-mini and modernizing them a bit, although thanks to the new 128k token APIs I ended up with a few new prompting techniques to flag interesting news items.

This was a serendipitous prelude to the , and what it effectively means is that I have a stack of prompts to go through and work into something more coherent that will blend in with my current news reading habits.

I will be poking at it and letting it brew steadily over the next few weeks…

Oh, and I finally tried FLUX.1. Like the original , the results were… interesting. I’m not ready to share them yet, but I’m definitely going to keep poking at at it for fun.

Most of the rest of the AI industry, as usual, is a dumpster fire. I’m , though.

Coding

Amidst the sweltering Summer heat, I sampled an explosive cocktail of , and… Hy. I’m not sure what I was thinking, especially since I was hopeful the latter was more stable.

But no, the Hy maintainers keep breaking the syntax (which, if you think about it, is a really hard thing to do on a ), so there was no joy there. I have no idea what they are thinking, but as someone whose code was (at one time) one of the main public examples of how to use the language, I’m not impressed.

I did manage to realign the ML part of my brain enough to write some embedded without swearing too much, but I’m absolutely positive I don’t like it. I get the advantages, but when you’re used to focusing on data and using abstractions to transform it easily, the amount of non-incidental detail and effort you have to put into the language itself to do the simplest things is just… wrong.

After all, we built abstractions to make computers easier to program, not to get quagmired in.

Returning to Work

I’m definitely not ready for that, but I have to, and I’m not looking forward to it.

Let’s just see how it goes tomorrow and hope for the best, shall we?

Notes for August 19-25

The week turned out to be far from auspicious, and I ended up spending an unwholesome chunk of it pondering that is still too fresh in my mind.

Read More...

Notes for August 12-18

It was a quiet week, but still devoted to (pretty literally) mopping up stuff and checking off some long-standing items from my TODO lists.

Read More...

Running NixOS on Proxmox LXC

As a sort of quick follow-up to I decided to do the same on and document the process for its environment.

Read More...

The Hexgears Immersion A3

I never expected to review this many keyboards in a year, but it’s Summer, and here we are.

Read More...

Notes for August 5-11

There isn’t a lot to report this week, other that I had a few setbacks at work and decided to re-focus on reading and doing some hardware projects to decrease my screen time.

Read More...

The Sodola Multi-Gigabit Managed Switches

A few months ago, I wrote a piece on the I’d been using so far, and I can finally tell you why: I’ve been testing a 9-port Sodola Multi-Gigabit Switch and its 6-port homelab-focused counterpart, and after three largely uneventful months using them in several configurations with great success, it’s time to post my notes.

Read More...

Archives3D Site Map