Radxa X4 SBC Unites Intel N100 and Raspberry Pi RP2040

At first glance, especially from the top, the Radxa X4 is your typical Arm SBC:

Radxa X4 Top

But you'll quickly notice the lack of an SoC—that's on the bottom. Looking more closely, what's a Raspberry Pi chip doing on top?! First, let's flip over the board to investigate. There's the SoC: definitely not Arm inside, this thing's an Intel N100:

Radxa X4 Bottom - Intel N100 SoC

I have all my benchmarks and notes bringing up this board stored in my sbc-reviews GitHub repository: Radxa X4 - geerlingguy's sbc-reviews, and I also summarized everything in a video on YouTube, which you can watch inline (or skip past and read this blog post instead):

x86 with a side of Arm

This is a gutsy design, and to be honest, I love it. It's not just another Arm board, it's trying something new.

But when I tweeted about it, some people were skeptical. Like Libre Computers replied:

"ARM SoCs are usually designed to idle at 1W. N100 idles at 5W. N100 should not be put on a small form factor board like the Pi series."

So to figure out if the X4 is a Pi killer, I have to test it in all the ways I test a Pi or other Arm SBC.

Thermals and Cooling

First: is the Intel CPU too hot for a board this small? After running my SBC benchmarks, the answer is 'yes'.

Radxa X4 Heatsink

There's almost no way you could run this thing without active cooling, and Radxa's own heatsink enclosure is just not adequate. In fact, at least in the first production batch, the thermal pad was crumbly and didn't make great contact for most testers.

Even if you go all out with some thick thermal paste, the heatsink can't pull enough heat off to keep the CPU from throttling, even with a reduced power limit.

On top of that, the integrated fan cable is laughably short, and the wires have to be stretched pretty tightly to plug into the 2-pin fan header under the USB ports.

I tried fixing it by re-screwing the fan with the wires closer to the fan connector, but the fan blades started rubbing against one of the wires, so this really needs to be fixed with a longer cable.

But the fan still just runs full blast all the time, there's no way to control fan speed, and it's not quiet. (It's not horribly loud, but it's annoying if it's on my desk 2' away.)

Assuming you're fine with that, how does the X4 stack up against other SBCs? It's still fast, but it's not giving the same leap in performance I measured on the LattePanda Mu, with the same chip.

Radxa X4 HPL Efficiency

The Radxa Rock 5C, which uses an Arm chip (RK3588S), is even faster than the X4 at nearly everything, and it's much more efficient. The 5C running without a heatsink and would still be faster, at least for a while.

Radxa X4 Linux Recompile Benchmark

The LattePanda Mu has the same N100 chip, but it's noticeably faster, especially on the Linux recompile, where it's more than twice as fast. Any time the CPU needs power for a long time, the X4 starts throttling.

See all my benchmarking and test results in the sbc-reviews: Radxa X4 GitHub issue.

There's just not enough board space to handle the power requirements for an Intel CPU.

And board space also means the LPDDR5 RAM runs slower. There isn't enough space on the PCB to put in dual-channel, 64-bit-wide address support. So not only is the CPU throttling from heat, it isn't getting as good of performance because the memory's slower.

Radxa X4 - Tinymembench vs N100 on LattePanda Mu

Tinymembench really shows those differences, you're getting like 50 to 60% better performance on the Mu.

Usage

The compromises from a bigger chip and more power don't end with performance.

Because of the size of the N100, it had to go on the bottom. The official heatsink case flips the board upside-down, so it's hard to use for tinkering. In fact, some of the GPIO pins are nearly inaccessible, unless you take off the bottom part of the heatsink case.

Then, you can't really use it upside-down, because the fan has nowhere to pull in fresh air, so you can either try running it on its side, or just give up on tinkering with HATs.

Radxa X4 HAT with GPIO

One thing I did love is the built-in audio jack, but the flipped design also means you have some antennas and a CMOS battery just flapping in the breeze.

I used some VHB tape for the battery, and stuck the antennas onto the base, but the enclosure overall is full of compromises; I hope they can design a better case.

There are other things SBC users get used to that are missing, like HDMI-CEC support. That makes it a little more annoying if you want to use for a media center.

I also used one of my NVMe SSDs in the tiny 2230-size M.2 slot, and it works great, except it's also burning hot, idling above 70°C!

The NVMe did get over 1.5 GB/sec read and write speeds, and networking was solid too, with wired giving me 2.35 Gbps, and wireless over 600 Mbps on my WiFi 6 network.

The integrated GPU is a highlight, though; it's not only faster than any of the Arm SBC GPUs I've tested, it can run games natively in Windows (at least casual games).

In general, the PC parts of this thing are good. They're not great, but good, especially considering the price and size of the X4.

GPIO and RP2040

GPIO makes a Pi a Pi, and there's a huge ecosystem of Pi HATs to add on anything from audio devices to AI accelerators.

Radxa X4 with Pi HATs

Do those work with the X4? No. Well, at least a lot of them won't, without a decent amount of effort porting things into MicroPython, and building your own bridge between Linux or Windows and the RP2040.

The way Radxa set it up is neat, though. You just press the unmarked button near the GPIO header, and it mounts the RP2040 as a USB device. Copy firmware over to it, and the 2040 reboots and runs the firmware.

You can drop MicroPython on it, and run any 2040 code on it. I tested temperature measurements with the built-in ADC, and had no issues. Pinouts for popular devices and libraries will differ from standard Pi GPIO, though.

But it is a neat implementation. It's certainly more fun having the RP2040 integrated instead of dangling a Pico off the side. And you can do real-world projects with this, it'll just take more effort since you can't rely on the hundreds of HATs and libraries are already in existence.

BIOS and Windows

But let's be honest, most people who run Raspberry Pi's don't use the GPIO. And if you're running a Pi in your homelab, a lot of software is still easier to run on x86, like old-school software that doesn't support Arm yet.

An SBC with full-fledged BIOS and the ability to run Windows without patching an Insider build is useful.

And to that end, I installed Windows 11. I created a USB installer, popped it in the X4, and installed Windows, just like that.

Radxa X4 - Windows 11 Device Manager

Windows didn't automatically recognize the Ethernet or WiFi, though, so I had to use a USB Ethernet adapter to get Internet access. Once I did that, I downloaded the 800 megabyte Ethernet driver package from Radxa's site, installed it, and now I could use onboard Ethernet. The WiFi driver was thankfully a lot smaller, and after installing it, I could use WiFi too.

Then I tried installing the Intel GPU driver, and after I downloaded it from Radxa, Windows told me the compressed folder was empty!

I posted an issue on Radxa's community forum, and it looks like Radxa will fix the download. But having to download a driver from Radxa for an Intel device, and having the zip file look corrupt, makes the experience running Windows a little annoying.

Luckily, the GPU driver eventually installed in the background, and like I mentioned earlier, the iGPU on here is pretty decent.

Radxa X4 - Windows YouTube 4K playback

At least, it'll run casual games okay on low settings. And it accelerates video playback well enough for 4K on YouTube. I can't say the same for most Arm SBCs.

Outside my driver speedbumps, BIOS releases need more QA. This is an area I've dinged Radxa on in the past. Hardware is usually pretty amazing, but the software experience kinda spoils it. They've already had one BIOS slip-up, they released an update that magically gave everyone 12 Gigs of RAM earlier this month, except it didn't.

Bret Weber installed it, and when he tried using the extra RAM the BIOS gave him, the X4 crashed.

And you could just skip BIOS updates, right? Well, the reason Bret probably upgraded was to get GPIO support working; that wasn't something that worked on the firmware the board launched with.

So Radxa still has some work to do on the software and support side, especially for early adopters.

Conclusion

Which brings me to my recommendation. Do I think this is the Pi killer, finally here after all these years?

No.

The hardware is very cool. And unlike many of the other Arm SBCs I own, this one might not end up in a box on my shelf. But do I think anyone buying a Pi, or one of the other Arm SBCs that's faster and more efficient, should drop Arm and switch to this Intel board? No.

It has its uses, and for the price, despite its flaws, I think it's a great value. But it's not quite the Pi killer we expected.

Comments

Some day, you should see and make a video on the Arduino's performance, and although you'll never get the same performance, it would be very interesting!

Jeff, how about adding copper shim to fix the heat issues? It should fix the throttling.

This Radxa with the N100 CPU suffers from some unfortunate design decisions, and your test leaves questions, including about how you went about it. As for the X4's design: To begin with, the CPU on any of these little boards that could (if we let them) is - by far - the main consumer of power, i.e. the main source of heat. That's no different with the Raspberry 5, which can also get quite toasty and then throttles, but already a good passive heatsink will take care of most of that waste heat. But, that requires the warm air to be able to rise (convection). However, the N100 on the X4 is on the bottom of the board. So, unless one operates the X4 bottom side up, there is little chance of convection, as the hot air is trapped. The board's plastic is no help, being a poor heat conductor. Which sort of comes with being a good electric insulator - a requirement for materials to make circuit boards from.
So, we need a fan (the Radxa one is not exactly good at it, plus it's noisy and speed cannot be regulated). Next, you mentioned that the provided thermal pad was already coming apart - crumbles of thermal pads are better at insulating than at conducting heat, due to the air in between the crumbles.
Next, you mentioned that you applied a thick layer of thermal paste. That's exactly the wrong way to use thermal paste. You want to use the thinnest possible layer of thermal compound, as even the best compound conduct heat less well than the metals used in heat spreaders and heatsinks. The reason for using thermal paste in the first place is to avoid air gaps between the heatspreader (or die, if delidded) and the heatsink (cooler). But more paste than necessary actually worsens heat transfer.
Back to the X4 and similar boards: if they are well designed and with the IO the N100 can provide, they can be a good, cost-competitive alternative to the Raspberry 5. Not least because the N100 brings a number of PCIe-3 lanes to the table. I hope Radxa fixes their design for the X4, or at least it's fan plus heatsink add-on.