Finally Putting The RK1 Through Its Paces

The good folks at Turing Pi sent me a trio of RK1 modules to put through their paces, to go along with the single unit I bought myself. And the TLDR, if you need some real ARM processing power, and don’t want to spend an enterprise budget, a Turing Pi 2 filled with RK1s is a pretty compelling solution. And the catch? It’s sporting the Rockchip RK3588 processor, which means there are challenges with kernel support.

For those in the audience that haven’t been following the Turing Pi project, let’s recap. The Turing Pi 1 was a mini ITX carrier board for the original Raspberry Pi compute module, boasting 7 nodes connected with onboard Gigabit.

That obviously wasn’t enough power, and once Raspberry Pi released the CM4, the Turing Pi 2 was conceived, boasting 4 slots compatible with the Nvidia Jetson compute units, as well as the Raspberry Pi CM4 with a minimal adapter. We even covered it shortly after the Kickstarter. And now we have the RK1, which is an 8-core RK3588 slapped on a minimal board, pin compatible with the Nvidia Jetson boards.

The story about Linux

Now, it has been a while since Turing sent me these devices. The main reason is that Linux support was broken in a couple of important ways. I’ve spent many hours over the last six months trying to debug these issues, and was really quite excited when I could finally boot the stock installers of Fedora 41, Ubuntu 24.10, and latest OpenSuse Tumbleweed on the RK1. The most notable issue is that mainline Linux completely failed to see the NVMe drive at boot, due to a pinmux issue that might finally get officially fixed in 6.13 or a 6.12 point release. This issue could be worked around with a custom Device Tree Binary (DTB), but it is a fiddly installation process. And the second issue was related: Using this hacked DTB only ever worked for the 32 GB ram model. These two issues really made a proper review very difficult.

You may be checking your Kernel calendar, and noting that right now, we just got the 6.12 release. Did that include the fix? Not yet. Here’s where we get to dive briefly into the ARM UEFI boot process. The Device Tree is the data structure that the kernel uses to find and initialize the hardware on the board. The 6.12 kernel is otherwise in pretty good shape for using the RK1 as a compute unit. It just has some DTB problems.

The important note is that for UEFI booting, the bootloader provides the DTB. U-boot copies that binary tree into memory, and hands the kernel a pointer to it during boot. The new development is that the semi-official Ubuntu 24.10 image finally has the patched DTB with the corrected pinmux. This arrangement also takes care of the 16GB boot failure. That meant that we could use the Turing Pi 2’s web interface to upload the Ubuntu 24.10 image, which includes U-Boot, log in to that install, and then use dd to write a disk image to the NVMe. That was a huge step forward, but it was still not ideal for a couple reasons. First, it’s a pain to install a Linux image just to be to install a Linux image. And second, not every distro releases an image that’s appropriate to simply copy onto the target drive.

The intended solution is UEFI boot that supports booting from a USB ISO. That, unfortunately, didn’t work. U-boot pulls its DTB definitions from the Linux Kernel itself, and while [Josh]’s image did have a few patches on top of the kernel’s RK1 DTB, it didn’t have a working DTB. U-boot needed not only a DTB patch, but also a patch to its own USB support, as the RK1 has a nifty trick where the USB port can be a host, device or OTG port. U-boot doesn’t really know what to do with this, and for UEFI boot, it needs to be explicitly set to host mode. All that work resulted in this flashable u-boot image. You can flash it from the web interface to an RK1, and it actually finally works to do UEFI boot on MMC, USB, and NVMe. Tested with Fedora 41, Ubuntu 24.10, and latest Tumbleweed.

So how did it turn out?

Finally, we can start with benchmarks. I ran a set of tests using the Phoronix test suite. The Pi4 is running off an SD card, and the Pi5 and RK1 results labeled “nvme” are all running off the same model of Crucial P3 NVMe.

There is a wildcard here I didn’t control for. The RK3588 is eight cores, but four A76, and four A55. So for single-threaded tests, it may be that the benchmark didn’t actually run on the most performant core. The other distinction here is that the “rk1-mainline” results is from running an Ubuntu 22.04 install with the vanilla 6.7.0 kernel, while the rk1-rok tests are from running the same Ubuntu release, but with the Rokchip kernel. Due to the issues I ran into with Linux installs, noted above, these benchmarks are a little stale.

The Pi4 is really showing its age here, and the fact that the Pi4 can only run off an SD card definitely doesn’t help compilation times. The Pi5, running off the NVMe, makes a good showing, but the RK1 is about 80% faster in this particular test. And that’s generally what I found across the board, with the RK1 performing generally between 50% and 100% faster than the Pi5.

That advantage seems to boil down to the RK1’s 8 cores, as opposed to the 4 cores in the Pi5. Tests like the timed Eigen compile showed the Pi5 and rk1 absolutely trading blows. And in the TSCP chess program, the Pi5 actually manages to eke out a win, again on a very single-core sort of workload.

So, each RK1 gives you 8 cores and up to 32 Gigabytes of ram. And thanks to the PCIe x3 lanes available, and the NVMe slots on the bottom of the Turing Pi 2, plenty of NVMe storage. Four of those in a mini-itx form factor might just be a compelling bundle of compute.

How to Get Going

One of the neat features of the Turing Pi 2 is that the baseboard itself is a Linux machine, so you can ssh into the baseboard, and access the serial ports of the individual blades. While writing this, I’m working with slot two, which is /dev/ttyS1, based on the TP2 documentation. The command to monitor and interact is picocom /dev/ttyS3 -b115200.

The other useful tool here is the web interface. In there we can toggle power on and off, as well as flash an image to the MMC of individual nodes. Grab the .bin I generated, flash it to the RK1’s MMC, and then boot from an ISO burned to DVD or a flash drive. Use the minicom command to access the serial interface, and do the install configuration over serial.

If you have a Linux install on both the MMC and NVMe, it’s useful to know how to boot off the emmc again. From that picocom terminal, interrupt u-boot, and set the target back to just the mmc:
setenv boot_targets mmc0
boot

And there you have it. This process should work for most Linux distros that have an Arm64 ISO that can boot using UEFI, running the 6.7 kernel or newer, but ideally at least a 6.11 kernel.

Into the Future

Officially, when it comes to distro options, there’s good news and bad news. Officially, you can run whatever distro you want, so long as it’s Ubuntu. The better news, support for the RK3588 is making progress in the upstream kernel. It’s decent enough that some of the benchmarks above were run with 6.7.0. 6.11, the kernel that comes with Fedora 41 is even better shape. Some HDMI work is slated to land in 6.13, along with the DTB fix.

The NPU unit, an AI accelerator built in to the chip, has an open source driver, and patches have been submitted. As far as I can tell, these have not landed upstream in the kernel yet, but work has continued since then.

The bad news is that [Josh Riek], the maintainer of the Ubuntu-Rockchip image, has taken a leave of absence from the project, putting the premier Linux image for Rockchip devices in serious limbo. And this is where we come to the biggest reason why you might not want to use the RK1. Rockchip has sadly followed the pattern of many other hardware vendors in the embedded world, and provided very little support to the community trying to maintain the software for their devices. The RK3588 launched back in 2022, and it’s still not fully supported in the Kernel. That’s not to say that Rockchip has been completely remiss. There are four Linux kernel maintainers with @rock-chips.com email addresses. But one of [Josh]’s complaints was that the whole project was on him, and Rockchip refused to even have a conversation about supporting the project.

The Conclusion

OK, so the RK1 has some impressive capabilities, and while the compatibility story isn’t perfect, it’s much better than it was, with even more coming. But what’s the real use-case for these things? What problem does a quartet of RK1 boards in a Turing Pi 2 solve, that a conventional desktop doesn’t? When I started writing this article, the answer was running Github actions on actual ARM hardware. And while Github beat us to it, now offering ARM64 runners for Github actions, those runners are considered “large” runners, and not available on the Github free tier.

Even after the ARM64 runners roll out to everyone, is there still a use case for hosting your own runners? Github runners aren’t known for their blazing speed, and a big part of that is the fact that Github runs everything inside virtual machines. An organization is also limited to a max of 20 Github supplied runners. If you have a relatively secure way to run your workflow on real hardware like the RK1, the speedup might be worth it. I look forward to future coverage on this topic.

There are, obviously, some other things you might want to do with RK1 devices. It has plenty of horsepower to run web services, host builds, run Docker images, and more. The RK1 is basically powerful enough for anything compute you want to do.

So what do we think about the RK1? It’s certainly not the only way to get your hands on the RK3588 ARM processor. It is, however, the only way I know of to put four of them in a single mini-ITX form factor. The support isn’t quite as well developed as we’d like to see, but it does result in a usable system, with a lot of ARM horsepower in a small package. There are developers working on the system, so the situation there is looking to improve. I have a pair of RK1s in active use doing GitHub CI runs.

Reviewing The World’s 2nd Smallest Thermal Camera

A thermal camera is a very handy tool to have, and [Learn Electronics Repair] wanted to try out the Thermal Master P2 for electronic repair, especially since it claims to have a 15 X digital zoom and 1.5 degree accuracy. The package proudly states the device is the “World 2nd Smallest Thermal Camera” — when only the second best will do.

The camera is tiny and connects to a PC or directly to a tablet or phone via USB C. However, it did look easier to use on the end of a cable for probing things like a PC motherboard. The focus was fairly long, so you couldn’t get extremely close to components with the camera. The zoom somewhat makes up for that, but of course, as you might expect, zooming in doesn’t give you any additional resolution.

He also compares the output with that of a multimeter he uses that includes an IR camera (added to our holiday gift list). That multimeter/camera combo focuses quite closely, which is handy when picking out a specific component. It also has a macro lens, which can zoom up even more.

We’ve looked at — or, more accurately, through — IR cameras in the past. If you are on a tight budget and you have a 3D printer, you might try this method for thermal imaging, but it doesn’t use the printer the way you probably think.

Continue reading “Reviewing The World’s 2nd Smallest Thermal Camera”

KolibriOS: The Operating System That Fits On A 1.44 MB 3.5″ Floppy Disk

While most operating systems are written in C and C++, KolibriOS is written in pure x86 assembly and as a result small and lightweight enough to run off a standard 1.44 MB floppy disk, as demonstrated in a recent video by [Michael].

Screenshot of the KolibriOS desktop on first boot with default wallpaper.
Screenshot of the KolibriOS desktop on first boot with default wallpaper.

As a fork of 32-bit MenuetOS back in 2004, KolibriOS has since followed its own course, sticking to the x86 codebase and requiring only a modest system with an i586-compatible CPU, 8 MB of RAM and VESA-compatible videocard. Unlike MenuetOS’ proprietary x86_64 version, there’s no 64-bit in KolibriOS, but at this level you probably won’t miss it.

In the video by [Michael], the OS boots incredibly fast off both a 3.5″ floppy and a CD-ROM, with the CD-ROM version having the advantage of more software being provided with it, including shareware versions of DOOM and Wolfenstein 3D.

Although web browsers (e.g. Netsurf) are also provided, [Michael] did not get Ethernet working, though he doesn’t say whether he checked the hardware compatibility list. Quite a few common 3Com, Intel and Realtek NICs are supported out of the box.

For audio it was a similar story, with the hardware compatibility left unverified after audio was found to be not working. Despite this, the OS was fast, stable, runs DOOM smoothly and overall seems to be a great small OS for x86 platforms that could give an old system a new lease on life.

Continue reading “KolibriOS: The Operating System That Fits On A 1.44 MB 3.5″ Floppy Disk”

Reviving A 15-Year Old Asus EeePC With Modern MX Linux

Welcome back to 2010 and the Asus eeePC Netbook, Seashell series. (Credit: Igor Ljubuncic)
Welcome back to 2010 and the Asus eeePC Netbook, Seashell series. (Credit: Igor Ljubuncic)

It’s often said these days that computers don’t become outdated nearly as quickly as they did in the past, with even a decade-old computer still more than capable of handling daily tasks for the average person. Testing that theory, [Igor Ljubuncic] revisited the Asus eeePC which he purchased back in 2010. Although it’s not specified exactly which model it is, it features an Intel Atom N450 (1 core, 2 threads) running at 1.67 GHz, 1 GB of 667 MHz DDR2 and a 250 GB HDD, all falling into that ultra-portable, 10.1″ Netbook category.

When new, the netbook came with Windows 7 Starter Edition, which [Igor] replaced with Ubuntu Netbook Remix 10.04, which was its own adventure, but the netbook worked well and got dragged around the world on work and leisure assignments. With increasingly bloated updates, Ubuntu got replaced by MX Linux 18, which improved matters, but with the little CPU struggling more and more, [Igor] retired the netbook in 2019. That is, until reviving it recently.

Upon booting, the CMOS battery was of course empty, but the system happily continued booting into MX Linux. The Debian update repositories were of course gone, but changing these to the archive version allowed for some (very old) updates. This raised the question of whether modern Linux would even run on this ancient Atom CPU, the answer of which turned out to be a resounding ‘yes’, as MX Linux still offers 32-bit builds of its most recent releases. A 15 minute upgrade process later, and a 2 minute boot later, the system was running a Linux 6.1 kernel with Xfce desktop.

As for the performance, it’s rather what you expect, with video playback topping out at 480p (on the 1024×600 display) and applications like Firefox lacking the compact density mode, wasting a lot of screen space. Amazingly the original battery seems to still deliver about half the runtime it did when new. All of which is to say that yes, even a ‘low-end’ 2010-era netbook can still be a very usable system in 2024, with a modern OS.

Review: IFixit’s FixHub May Be The Last Soldering Iron You Ever Buy

Like many people who solder regularly, I decided years ago to upgrade from a basic iron and invest in a soldering station. My RadioShack digital station has served me well for the better part of 20 years. It heats up fast, tips are readily available, and it’s a breeze to dial in whatever temperature I need. It’s older than both of my children, has moved with me to three different homes, and has outlived two cars and one marriage (so far, anyway).

When I got this, Hackaday still used B&W pictures.

As such, when the new breed of “smart” USB-C soldering irons started hitting the scene, I didn’t find them terribly compelling. Oh sure, I bought a Pinecil. But that’s because I’m an unrepentant open source zealot and love the idea that there’s a soldering iron running a community developed firmware. In practice though, I only used the thing a few times, and even then it was because I needed something portable. Using it at home on the workbench? It just never felt up to the task of daily use.

So when iFixit got in contact a couple weeks back and said they had a prototype USB-C soldering iron they wanted me to take a look at, I was skeptical to say the least. But then I started reading over the documentation they sent over, and couldn’t deny that they had some interesting ideas. For one, it was something of a hybrid iron. It was portable when you needed it to be, yet offered the flexibility and power of a station when you were at the bench.

Even better, they were planning on putting their money where their mouth is. The hardware was designed with repairability in mind at every step. Not only was it modular and easy to open up, but the company would be providing full schematics, teardown guides, and spare parts.

Alright, fine. Now you’ve got my attention.

Continue reading “Review: IFixit’s FixHub May Be The Last Soldering Iron You Ever Buy”

New 2 GB Raspberry Pi 5 Has Smaller Die And 30% Lower Idle Power Usage

Recently Raspberry Pi released the 2GB version of the Raspberry Pi 5 with a new BCM2712 SoC featuring the D0 stepping. As expected, [Jeff Geerling] got his mitts on one of these boards and ran it through its paces, with positive results. Well, mostly positive results — as the Geekbench test took offence to the mere 2 GB of RAM on the board and consistently ran out of memory by the multi-core Photo Filter test, as feared when we originally reported on this new SBC. Although using swap is an option, this would not have made for a very realistic SoC benchmark, ergo [Jeff] resorted to using sysbench instead.

Naturally some overclocking was also performed, to truly push the SoC to its limits. This boosted the clock speed from 2.4 GHz all the way up to 3.5 GHz with the sysbench score increasing from 4155 to 6068. At 3.6 GHz the system wouldn’t boot any more, but [Jeff] figured that delidding the SoC could enable even faster speeds. This procedure also enabled taking a look at the bare D0 stepping die, revealing it to be 32.5% smaller than the previous C1 stepping on presumably the same 16 nm process.

Although 3.5 GHz turns out to be a hard limit for now, the power usage was interesting with idle power being 0.9 watts lower (at 2.4 W) for the D0 stepping and the power and temperatures under load also looked better than the C1 stepping. Even when taking the power savings of half the RAM versus the 4 GB version into account, the D0 stepping seems significantly more optimized. The main question now is when we can expect to see it appear on the 4 and 8 GB versions of the SBC, though the answer there is likely ‘when current C1 stocks run out’.

This Is Not A Laptop, It’s A KVM Combo

A spare monitor and keyboard are handy things to have around, but they’re a bit of a hassle. They are useful for hardware development, plugging in to headless servers, or firing up a Raspberry Pi or similar single-board computer (SBC). If that’s something you do and portability and storage space are important to you, then you may be interested in the CrowView Note.

I got an opportunity to test and provide feedback on an early version of this unusual device, which is functionally a portable spare monitor plus keyboard (and touchpad) without the bulk and extra cables. Heck, it’s even giving me ideas as the guts of a Cyberdeck build. Let’s take a look.

What It Is

It really looks like a laptop, but it’s actually a 14″ 1920 x 1280 monitor and USB keyboard in a laptop form factor.

There is also an integrated trackpad, speakers and mic, and a rechargeable battery. That makes it capable of providing its own power, and it can even function as a power bank in a pinch. There’s an HDMI input on one side, and on the other is a full-featured USB-C port that accepts video input via the DisplayPort altmode.

Pictured here is a Raspberry Pi 5 with optional PCB adapter to eliminate cables. The three ports (HDMI in, USB-C 5 V out, and USB-A for peripherals) provide all the board needs.

The CrowView Note is a pretty useful device for a workbench where one is often plugging hardware in for development or testing, because there’s no need to manage a separate monitor, keyboard, and mouse.

It is not a laptop, but attaching an SBC like a Raspberry Pi makes it act like one. The three ports conveniently located on the left-hand side (HDMI in, USB-C out for power to the SBC, and USB-A in for peripherals like keyboard and trackpad) are all that are needed in this case. Elecrow offers a “cable eliminator” PCB adapters to make the process of connecting a Raspberry Pi 5 or a Jetson Nano as simple as possible. The result is something that looks and works just like a laptop.

Well, almost. The SBC will still be a separate piece of hardware, whether connected by cables or by one of Elecrow’s PCB adapters. The result is OK for bench work, but especially in the case of the PCB adapter, not particularly rugged. Still, it’s a nice option and makes working on such boards convenient and cable-free.

Continue reading “This Is Not A Laptop, It’s A KVM Combo”