SpacemiT K3 Pico-ITX RISC-V Chassis Kit Review – Part 2: What works, what doesn’t in Bianbu OS 4.0

Last month, I received the SpacemiT K3 Pico-ITX Chassis Kit based on the company’s K3 16-core RISC-V SoC, and started the review with an unboxing, a teardown, and a first boot to Bianbu OS 4.0. Since the system features a 10Gbps Ethernet SFP+ cage, I also had to order a 10GbE SFP+ to Copper adapter, as my 10GbE networking gear is exclusively based on RJ45 ports.

In this review, I’ll check system information in Bianbu OS 4.0.1, run a few benchmarks, test 10GbE, GbE, and WiFi 6 networking performance, play YouTube videos at various resolutions, run AI workloads (LLM), check all/most features work as expected, and measure the power consumption of the SpacemiT K3 “Pico-ITX Chassis Kit” mini PC. It’s a fairly long review, so if you are short on time, you can check out the “what works, what doesn’t” section.

SpacemiT K3 Pico-ITX Chassis Kit BianbuOS 4.0 review

Bianbu OS 4.0 System Information

Before running anything, I updated the system:


594 packages were updated. For reference, the update also involved updating the EC (Embedded Controller) firmware:


Let’s double-check the system information after a reboot:


The system was updated to Bianbu 4.0.1 (Resolute Raccoon), which appears to be a stable release rather than the RC I got last month. The kernel is unchanged (Linux 6.18.3) and a few packages report updated versions. Total memory is now shown properly (16 GiB), and the idle CPU temperature is still fairly high.

K3 Pico-ITX SBC benchmarks

We already ran some headless benchmarks on a remote SpacemiT K3 platform last January, but let’s run them again with sbc-bench.sh to see if anything has changed.


Let’s see. memcpy’s memory bandwidth is 6045.3 MB/s instead of 5947.7 MB/s (minor improvement), 19,680 MIPS in 7-zip against 17,530 MIPS (quite better), and AES-256-CBC has dramatically improved with 1,316,580.01k vs 869,520.73k, probably because some crypto instructions were enabled…

You can check the full log for more details, and a quick comparison against the Rock 5B (RK3588), Raspberry Pi 5, and higher-end Orion O6 Armv9 motherboard. The SpacemiT K3 is fairly faster than the Rockchip RK3588 in the 7-zip multi-core benchmark, almost twice as fast as the Raspberry Pi 5 at stock frequency, but not quite to the level of the 12-core CIX P2 motherboard.

SpacemiT K3 benchmarks vs Rock 5B Raspberry Pi 5 Orion O6

sbc-bench.sh still doesn’t detect the temperature, and this won’t be fixed because it appears Bianbu OS does that in a non-standard way. We can still list several temperature sensors:


To stress test the device, I launched stress-ng on the 8 X100 “Linux” cores…


… and on the 8 A100 AI cores in a separate terminal:


We can see all sixteen cores under load. 0-7 X100 cores and 8-15 A100 cores.

CPU usage K3 SoC 8 CPU core 8 AI cores

The temperature is between 80 and 87°C under load, and the CPU fan is rotating at full speed or close to it (5208 RPM):


Note that the test was done in a room with an ambient temperature of around 31°C.

Let’s now test the GPU with glmark2-es2-wayland, and the good news is that 3D hardware acceleration is enabled.

BIanbu OS 4.0.1 glmark2-es2-wayland


1,153 points in glmark2-es2-wayland compares to 2036 points for the Raspberry Pi 5, and 4000-4500+ points for Rockchip RK3588 platforms. GPU performance can vary a lot depending on the driver used, so there may be more performance to be extracted here.

I then ran the Speedometer 2.0 performance in Chromium to evaluate web browsing (single-core) performance: 39.4 runs per minute. The Pi 5 goes 63.4 runs per minute. This test can vary a lot depending on optimizations, and for reference, two RK3588 targets got completely different scores: the NanoPi R6 achieved 17.2 rpm, and the Khadas Edge 2 Pro managed 80.7 rpm, both in Chromium.

SpacemiT K3 Speedometer 2.0 Chromium RISC V

I also repeated the test with the new Speedometer 3.1 benchmark to get a reference point for future reviews.


SpacemiT K3 Speedometer 3.1 Chromium RISC V

3D graphics acceleration also works in the Chromium web browser. The WebGL Aquarium demo was rendered at 60 FPS with 500 fish, and still managed 25 FPS with 5000 fish.

SpacemiT K3 Pico-ITX Chromium WebGL Aquarium

Going to chrome://gpu confirms WebGL is enabled, as well as OpenGL.  I can also see “Video Decode: Hardware accelerated” there, so let’s try YouTube.

Chromium RISC-V GPU WebGL Video Decode

YouTube video playback up to 4K 60 FPS

Since I haven’t always had the best experience with YouTube video playback on RISC-V (and Arm) platforms, I found a 4K 60 FPS video and started at 720p60.

SpacemiT K3 720p60 YouTube Video playback
Only a few frames dropped at the beginning, but after that, the video played great. Same results with 1080p60. It’s starting to look good.

SpacemiT K3 1080p60 YouTube Video playback
The user experience is still great at 1440p60 (2560×1440 @ 60 FPS) with only a few frames dropped at the beginning.

SpacemiT K3 1440p60 YouTube Video playback
4K60 FPS video streaming was almost perfect, except for two micro-freezes leading to 38 dropped frames out of 16,183 playing the video for a little over 4 minutes.

SpacemiT K3 4K YouTube Video playback

 

So my experience was better than expected here, although it was not perfect due to two very short freezes (several hundred milliseconds) at 4K resolution. Note that the video uses the VP9 video codec, and AV1 hardware video decoding is not supported by the K3’s VPU.

Storage and USB performance

I started storage testing with the built-in 128GB UFS storage:


UFS is a big improvement over systems with eMMC flash, with 853 MB/s read speed, 168 MB/s write speed, and decent random I/O performance.

The K3 Pico-ITX SBC features a M.2 Key-M socket, so I also installed a 128GB MakerDisk M.2 NVMe (PCIe Gen3 x4) 2280 SSD rated up to 1800 MB/s reads, and 560 MB/s writes.

SpacemiT K3 Pico-ITX Chassis Kit M.2 NVMe SSD installation

After starting the board, I noticed I couldn’t mount the drive:


The kernel log tells us to change some parameters related to ASPM and NVME latency. I eventually found /boot/env_k3.txt to add the recommended arguments:


After a reboot, it was even worse:


However, after a proper power cycle, leaving the machine turned off for a minute or so, I could mount the drive:


However, running iozone ended up with an input/output error:


I did some more modifications to the commonargs:


It failed the first time as above, and after another reboot, I decided to run the test with a smaller 10MB test file:


It went through, so I increased the size to 100MB:


and tried my luck again with a 1GB test file, and this time I worked:


About 855MB/s sequential reads and 167 MB/s sequential writes are quite lower than expected, something similar to a PCIe Gen3 x1 connection.

However, we can clearly see a PCIe Gen3 x4 connection is used for the NVMe controller:


It’s unclear why the performance is not better, although there may be some clues when we check the log for the drive, as one of the temperature sensors reports 83°C:


The “Critical Composite Temperature Time” is shown to be zero, so it’s unclear whether an SSD heatsink may help here.

Time to test the six USB ports using lsusb and iozone as showns the the USB-C OTG port below.


352 MB/s is on the low side, as I’d usually expect about 420 MB/s for a 5Gbps USB port.

Summary for the six USB ports from top left to right

  • USB 2.0 #1 – 480 Mbps – ~35MB/s read speed
  • USB 2.0 #1 – 480 Mbps – ~35MB/s read speed
  • USB 2.0 #1 – 480 Mbps – ~35MB/s read speed
  • USB 2.0 #1 – 480 Mbps – ~35MB/s read speed
  • USB 3.2 Type-C #1 – 5000 Mbps – ~352 MB/s read speed
  • USB 3.2 Type-C #2
    • ORICO NVMe enclosure – Drive not detected; Note: connected through the USB 3.2 Type-A port on the UGREEN dock used for power and HDMI video output
    • Seagate USB 3.0 hard drive – 5,000 Mbps – Connected via UGREEN dock. Speed not tested since the hard drive would be the bottleneck…

All ports work, but at lower speed than expected. The USB-C port used for power and DP Alt mode appears to have an issue recognizing one of my drives. It’s unclear whether it’s the USB-C port itself, or a compatibility issue with the UGREEN dock.

10GbE and GbE, WiFi, and Bluetooth

10GbE networking is one of the highlights of the K1 Pico-ITX motherboard, but it features an SFP+ cage, so I needed a 10GbE RJ45 adapter for my testbed. The cheapest I could find that met my requirements (10Gbps Ethernet) was the Xicom XC-SPF+-T30 sold for about $18 on AliExpress. One small downside that doesn’t matter to me is that it only supports 2.5GbE, 5GbE, or 10GbE, and not gigabit Ethernet and lower link speeds.

XICOM XC-SFP+-T30 10GbE 5GbE 2.5GbE Copper adapter10GbE RJ45 SFP+ adapter

Installation couldn’t be easier: insert the adapter in the SFP+ cage, until it clicks. To remove it, lift the golden bracket.

K3 Pico-ITX Chassis Kit 10GbE SFP+ RJ45 adapter installation

I first connected it to a 2.5GbE switch, so we can try to see if 2.5Gbps Ethernet is indeed supported. The UP Xtreme i11 Edge mini PC was used on the other side. iperf3 was used for testing.

  • Download

  • Upload

  • Full-duplex (bidirectional)


2.35 Gbps downloads and 2.16 Gbps uploads are pretty good, albeit not perfect on the upload side.

Let’s now do the same test, but with 10GbE networking using an  iKOOLCORE R2 Max mini PC running OpenWrt on the other side.

SpacemiT K3 10GbE SFP+ cage connected to iKOOLCORE R2 Max mini PC

  • Download

  • Upload


Upload is fine, but not so much download. If I retry upload, I get similar results each time 5.xx Gbps. Just in case the transfer is CPU-bound, let’s run iperf3 in parallel mode:


9.36 Gbps is excellent. Time to test full-duplex with three parallel streams to see if the system can handle bi-directional 10Gbps Ethernet at full speed:


9.40 Gbps uploads and 9.15 Gbps downloads is not too bad. For reference, I also tested bidirectional with two streams: 9.40 Gbps/4.2 Gbps. Four parallel streams further improve the performance:


So the SpacemiT K3 can handle 10GbE networking pretty well, but it’s recommended to use multiple cores to achieve optimal performance.

Let’s also test the GbE port:


938/935 Mbps for uploads and downloads is good for Gigabit Ethernet.

Let’s now connect the K3 Pico-ITX computer over 5 GHz WiFi 6 using a Xiaomi Router AX6000.

  • Download

  • Upload


653 Mbps downloads and 669 Mbps uploads are quite decent for this system, although Intel/AMD computers can usually handle Gbps WiFi speeds with this setup.

The final wireless test is with Bluetooth. I could pair my Android smartphone with the mini PC without any issue.

BianbuOS 4.0.1 Bluetooth pairing

I used the connection to transfer a file from the mini PC to the phone, and also played audio from the phone to speakers attached to the mini PC’s audio jack.

SpacemiT K3 BianbuOS 4.0.1 Bluetooth file transfer

SpacemiT K3 AI workloads – Large Language Models.

The SpacemiT K3 SoC features eight RISC-V A100 AI Cores and is said to deliver up to 60 TOPS (INT4) of AI performance, so I had to try some AI workload.

First, I had to install the relevant tools optimized for the K3:


We can check it’s installed properly by running the client:


You’ll find a list of models quantized to 4-bit on the SpacemiT website.

SpacemiT AI model

The Qwen3‑30B‑A3B and Qwen3‑35B‑A3B look interesting; however, they won’t fit into 16GB of RAM, and you’d need to use the version of the board with 32GB of RAM for these.

Although the best possible model would be LFM2-24B-A2B-Q4_0, it will be tight on 16GB of RAM, so let’s go safe with an 8B parameter model (Qwen3-8B-Q4_K_M.gguf):


We can try the model in the command line (t 8 means we want to use eight cores):


Here’s the output:


Performance is 4.3 tokens per second for generation.

Loading the model occurs on the X100 (Linux) cores, but inference happens on the A100 AI cores.

llama inference eight A100 cores

It’s also possible to run the llama-server to access the LLM chatbot in a web browser.


With the command line above, we need to use Chromium on the machine itself. It takes quite a lot of resources (12GB+ RAM) since everything runs on the RISC-V computer, even though the X100 application cores handle the web browser, and the A100 AI cores take care of the AI inference.

llama server spacemit K3

So I restarted to give access to compute on the LAN instead, using 0.0.0.0 for the host:


Web interface LLM on K3 RISC-V SBC

Performance is about the same at 4.7 tokens per second; it just consumes fewer resources on the RISC-V board.

Summary of what works, what doesn’t

So now that testing is basically finished, let’s write a summary showing what works and what doesn’t on the SpacemiT K3 Pico-ITX chassis kit:

  • Storage
    • 128GB UFS storage  – OK, tested up to 853 MB/s read speed, 168 MB/s write speed
    • NVMe SSD – Works, but only after changing the system configuration. Performance could be better for a PCIe Gen3 x4 connection (885MB/s read, 167 MB/s write)
  • Video and Audio Output
    • USB-C
      • Video and audio OK through UGREEN dock; tested up to 1920×1080
      • Video and audio OK through KTC A32Q8 4K monitor with USB-C PD power; tested up to 3840×2160
    • 3.5mm audio jack – OK, tested with external speakers.
  • GPU – 3D graphics acceleration enabled, tested with glmark2-es2-wayland and WebGL in Chromium
  • VPU – OK in YouTube up to 4K (note: two micro freezes occurred at 4K resolution)
  • AI acceleration – OK, tested with 8B LLM (4-bit quantization) at 4.8 tokens/s running on the A100 cores.
  • Networking
    • Gigabit Ethernet – OK; full-duplex:  902/877 Mbps
    • 10Gbps Ethernet – OK; full-duplex up to 9.40/9.45 Gbps; parallel streams required for optimal performance with iperf3
    • WiFi 6 – OK, tested at about 660 Mbps DL/UL
    • Bluetooth – OK; tested with file transfer and audio playback using an OPPO A98 5G Android smartphone
  • USB – USB 3.0 ports tested with an ORICO NVMe SSD enclosure (unless stated otherwise), USB 2.0 ports with a USB HDD (both using an EXT-4 partition), and an RF dongle for a wireless keyboard/mouse combo. Front left to right
    • USB 2.0 #1 – 480 Mbps; tested up to 35  MB/s with iozone3
    • USB 2.0 #1 – 480 Mbps; tested up to 35  MB/s with iozone3
    • USB 2.0 #1 – 480 Mbps; tested up to 35  MB/s with iozone3
    • USB 2.0 #1 – 480 Mbps; tested up to 35  MB/s with iozone3
    • USB 3.0 Type-C #1 – 5 Gbps; tested up to 352 MB/s (read)
    • USB 3.0 Type-C #2 – 5 Gbps; tested through UGREEN dock
      • Power input and DP Alt Mode OK.
      • ORICO NVMe enclosure – Drive not detected
      • Seagate USB 3.0 hard drive – 5,000 Mbps – OK. Speed not tested since the hard drive would be the bottleneck…

SpacemiT K3 Pico-ITX Chassis Kit USB PD monitor
SpacemiT K3 Pico-ITX Chassis Kit connected to a 4K monitor with USB PD support over a single USB Type-C cable
SpacemIT K3 Pico-ITX mini PC speakers audio jack test
Audio jack test with USB-powered speakers

Although it’s not perfect, I’m pretty happy with the results. The main issue was to get an NVMe SSD to work with the board. There also seems to be a compatibility issue with at least one SSD enclosure when using the provided UGREEN USB-C dock, and USB ports’ performance could be a little better.

SpacemiT K3 Pico-ITX Chassis Kit’s power consumption

I also checked the power consumption with a wall power meter after removing the NVMe SSD. The first time I measured 13.5 Watts at idle in server mode with just an Ethernet cable connected to the mini PC. It seems a bit too high, but then I remembered I had disabled ASPM for the SSD, so let’s revert the changes and try again:

  • Power off – 2.7 Watts!
  • Idle
    • Server mode
      • GbE + WiFi 6  – 13.1 Watts
      • 10GbE + WiFi 6 – 17.0 – 17.1 Watts
      • GbE + 10 GbE + WiFi 6 – 17.3 – 17.5 Watts
    • Desktop mode
      • GbE + WiFi 6 + UGREEN dock + HDMI + RF dongle – 13.6 – 13.8 Watts
      • 10GbE + WiFi 6 + UGREEN dock + HDMI + RF dongle – 18.0 – 18.2 Watts
  • YouTube 4K in Chromium – 17.1 – 19.0 Watts
  • Stress-ng
    • 8-core X100 – 22.1 – 22.6 Watts
    • 16-core (X100 + A100) – 25.2 – 25.3 Watts; note: fan gets noisier

Reverting the boot arguments didn’t help much. The SpacemiT K3 consumes a bit more power than some people may be comfortable with. The power-off consumption at up to 3 Watts may even be illegal in some countries… The good news is the relatively low power consumption when playing a 4K YouTube video thanks to hardware video decode.

For reference, unless otherwise stated, all tests were done in “Desktop mode” with GbE, UGREEN dock, HDMI, and RF dongle.

Conclusion

Overall, I was pleasantly surprised by the SpacemiT K3 Pico-ITX Chassis Kit, as it looks like a standard mini PC and many people could even consider it as a low-end computer to browse the web, watch videos, and check emails. Almost everything works as advertised, including 3D graphics acceleration, hardware video decoding in YouTube up to 4Kp60 resolution, and accelerated AI/LLM workloads. UFS storage provides excellent performance, 10GbE networking works well, although you’d need to use multi-core to achieve the full throughput, and I didn’t encounter any issues with the GbE port, WiFi 6 (660 Mbps upload/download), or Bluetooth connectivity.

That’s not to say I didn’t have issues. First, I struggled to have an M.2 NVMe SSD work reliably, and I had to change boot parameters. Once fixed, the performance of the SSD over a PCIe Gen3 x4 SSD was disappointing. I also had interoperability troubles using one NVMe SSD enclosure through the USB-C PD port that was not recognized at all, and the actual throughput of all USB ports is a bit lower than expected. I also wish there were an HDMI port or a second USB-C port with DP Alt Mode, as the mini PC requires a USB-C dock to connect a display and power, except for people owning a monitor with USB-PD output to power the mini PC. Finally, the power consumption of the system is rather high at idle.

I’d like to thank SpacemiT for sending the K3 Pico-ITX Chassis Kit for review. The company told me this exact kit might become available in August. If you don’t care about this specific enclosure, SpacemiT relies on a range of distributors such as Banana Pi and Sipeed for the K3 Pico-ITX SBC ($479 for the 16GB/128GB model). The closest option to the “Chassis Kit” is the Milk-V Jupiter 2 with a Pico-ITX chassis using two external antennas. It sells for $380 for the 16GB RAM/128GB UFS model.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress. We also use affiliate links in articles to earn commissions if you make a purchase after clicking on those links.

Radxa Dragon Q8B Edge AI SBC with Snapdragon 8cx Gen3 SoC
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
1 Comment
oldest
newest
Boardcon MINI1126B-P AI vision system-on-module wit Rockchip RV1126B-P SoC