Home Blog Page 2

Building a 4-Bay 3.5″ NAS with a Raspberry Pi 5 and 3D Printed Enclosure

Over the past few years, I’ve built several Raspberry Pi-based NAS (Network Attached Storage) devices. These range from a dual-drive setup using a Pi 4, a budget-friendly Pi Zero NAS for under $35, and more recently, an all-SSD NAS running on a Raspberry Pi 5. While each project had its advantages, today’s build takes things up a notch — we’re going for a more practical, fully-featured 4-bay NAS that resembles a traditional commercial unit.

Here’s my video of the build, read on for the write-up;

https://youtu.be/8CmYghBYT0o

What You Need To Build Your Own 3.5″ Pi NAS

Tools & Equipment Used For This Build

Hardware Overview

For this project, I’m again using the Raspberry Pi 5, making full use of its PCIe port by attaching the Radxa Penta SATA Hat, which provides four SATA ports. Technically, the hat includes a fifth port (hence the penta SATA name), but it uses a different connector and is inconveniently positioned, so I’m sticking with four.

For storage, I’m using four 4TB WD Red NAS drives, providing a good balance of capacity and reliability.

WD Red NAS Drives

Because 3.5″ drives are too bulky to plug directly into the Radxa hat, I’m using SATA extension cables. The particular ones I’ve chosen have mounting holes, allowing me to design a custom bracket to align them properly with the drive trays.

To complete the setup, I’m using:

  • A Pi 5 active cooler for CPU thermal management
  • A microSD card to run the operating system
  • A 12V 40W power adapter to power the NAS
  • A slim 12V 80mm fan to cool the drives and internal components
All NAS Hardware

Designing the NAS Enclosure

I designed the custom 3.5″ Pi NAS enclosure in Fusion 360.

The design features:

  • Individual drive trays with pull-out levers for easy access
  • A mounting bracket for the SATA extension connectors so that drives can slide in and plug directly.
  • The Pi and Radxa stack behind the drives, as we don’t need HDMI or USB-C access
  • A barrel jack extension for clean power supply routing to the Radxa hat
  • An 80mm fan mount above the Pi to draw air through front vents and exhaust it at the back
  • A vented fan guard to prevent cables from catching in the fan blades

All of the components are enclosed in a housing that closely resembles a traditional 4-bay NAS.

You can download the 3D Print files from Makerworld.

3D Printing the Case with the Bambu Lab P1S

To bring the 3D model to life, I used the Bambu Lab P1S Combo, one of Bambulab’s mid-range CoreXY printer with:

  • High-speed enclosed printing
  • Multi-material support through the AMS (Automatic Material System)
  • Reliable out-of-the-box performance which is perfect for a functional project like this

Handling the Large Print Size

One challenge with the design is its length. The full enclosure is 275.5mm long, while the P1S has a 256mm max build volume along each axis. To work around this, I split the enclosure along a diagonal. This hides the seam as part of a design accent and, as a bonus, eliminates the need for print supports.

The enclosure was then exported and sliced across six build plates using Bambu Studio, and printed in:

  • Black PLA Basic for the enclosure
  • White PLA Basic for the front panel and tray lever text

I also used all default settings/presets for the textured PEI build plate, 0.2mm standard print profile and PLA Basic.

The entire enclosure uses nearly 1kg of filament and is going to take just under 24 hours to print. Because the text is only a couple of layers deep, we only have 5g of filament waste for the two-color prints on the front panel.

Print Results & Design Adjustments

The Bambu P1S produced high-quality parts straight off the printer. There was no warping or stringing, and the parts had accurate tolerances. This was especially impressive since it was the printer’s first large print out of the box with just basic setup and auto-calibration.

I did need to reprint the enclosure halves to add clearance for the drive tray guides and mounting holes for the Pi which I forgot about. Both small fixes, but worth mentioning.

Trays Dont Slide Into NAS Housing

Assembling the 3.5″ Pi NAS Enclosure

Adding The Brass Inserts

The 3D printed components are held together with M3 screws into brass inserts, so we need to get those installed using a soldering iron;

  • Four go into the back half of the enclosure for joining the two parts together
  • Four go into the SATA cable holder to mount it to the case
  • Eight more go into the cable holder to secure the SATA connectors to the holder
  • One for each drive tray to mount the tray lever with a 3D printed washer

Installing the SATA Cable Connectors On The Bracket

Each SATA connector is fastened with two M3x8mm button head screws. I added two brass inserts and installed the one on the end first, I then used a long hex key to secure them through the holes made for the subsequent inserts. This makes it easier to get to each set of screws, since its quite compact. This process was repeated for all four connectors.

Assembling the 3.5″ Drive Trays

Each 3.5″ HDD is mounted using four countersunk drive screws. The tray lever is then attached with an M3x8mm screw and a 3D printed washer, allowing it to pivot between the pulled out and stowed positions. This process is repeated for all four trays.

Installing the Fan & Power Jack

The 80x10mm 12V slim fan is mounted to the rear of the case using four M3x16mm screws. Make sure that it is aligned to push air out of the enclosure. I oriented the vent guard slots horizontally to minimize cable interference.

I also installed the barrel jack extension for the Radxa hat’s power input.

Power and Fan Cable Installed

Pi Stack Assembly

Next we can assemble the Pi stack to install it into the enclosure. OMV (Open Media Vault) is the software package that we’re going to be running and that requires Raspberry Pi OS Lite to be flashed onto the microSD card – so get that done before installing it.

To assemble the Pi stack, we need to;

  • Plug the prepared microSD card into the Pi’s card reader.
  • Install the active cooler on the Pi. You’ll need to remove three heatsink fins to clear the Radxa hat’s barrel jack. This is a bit of a design flaw with the hat.
  • Install the included standoffs from the Radxa kit onto the Pi with the threads facing upwards
  • Connect the PCIe ribbon cable to the Pi.
  • Mount the Radxa hat onto the Pi’s GPIO header and secure it.
  • Plug in the Molex fan power cable before installing the stack, as there’s not enough clearance to plug it in once installed.
  • Secure the Pi stack in the case with four included M2.5 screws
  • Connect the fan and power cables

Next we need to install the SATA power cable assembly above the Pi. Start by plugging each of the connectors into the Radxa Penta SATA hat. Then align the bracket with the holes in the back enclosure half. Make sure the SATA cable holder is installed with the data connectors on the bottom — I initially installed it upside down by mistake. Secure it with another four M3x8mm button head screws.

Do one more check to make sure that there isn’t too much pressure on any of the SATA connectors going into the Radxa hat and also check that the fan is still able to rotate freely and doesn’t have any cables caught up in it.

Final 3.5″ Pi NAS Enclosure Assembly

Slide the two enclosure halves together and secure them with four M3x8mm button head screws. You can also use black screws for a cleaner finish if you’d prefer.

I finished it off with some small rubber feet on the bottom of the case for vibration isolation, and the NAS is readyto install the drives. These each slide into place until you feel them plug into the connectors at the back.

Booting Up the NAS & Installing OMV

To boot up the NAS, we first need to plug in an Ethernet cable and then the 12V power supply.

Plugging Ethernet and Power Cable In

Give the Pi a few minutes to boot up and then, find its IP address through your router’s DHCP table or using a utility like Angry IP Scanner.

Use SSH to access the Pi and then update the Pi and install OpenMediaVault (OMV) with the following commands:

sudo apt update
sudo apt upgrade -y
wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash

This script takes about 5 minutes and you’ll need to reboot your Pi when you’re done.

First Boot and Setup

Enable The PCIe Port

Before drives will show up, we need to enable the PCIe port on the Pi. Add the following lines to the Pi’s /boot/firmware/config.txt:

dtparam=pciex1
dtparam=pciex1_gen=3

And again reboot the Pi.

Once the Pi has rebooted, the drives should show up and you can confirm this by entering:

lsblk

You should see something like (one for each drive):

sda
sdb
sdc
sdd

Configuring OMV

Once we’ve got OMV installed and the PCIe port enabled, we can acess the OMV web dashboard by entering the Pi’s IP address in our browser. The default login is:

  • Username: admin
  • Password: openmediavault

Be sure to change these credentials after logging in.

OMV Login

I’m not going to go into too much detail on setting up OMV since there are loads of guides available already. Essentially I’ve followed the following steps:

  • Set up the drives in a RAID 5 configuration, providing 12TB of usable space with redundancy.
    • OMV 7 on a Pi doesn’t allow you to create a RAID array, you’ll need to do this through the terminal.
  • Create a Storage Volume
  • Created a Shared Folder on the Storage Volume
  • Create a User Account with permissions to access the Shared Folder
  • Enable the SMB service

Testing The 3.5″ Pi NAS

Transfer Speeds

To test the Pi NAS’ transfer speeds, I’ve mapped the network drive to my Windows 11 PC. I then tried copying a large 30GB video file across to the NAS. I got an average write speed of about 110MB/s with some short dips along the way. This is around 900Mb/s, so we’re likely saturating the gigabith Ethernet port on the Pi.

Testing Writes at Gigabit

I then tried copying the same file from the NAS back to the PC. This is a bit faster and more consistent, I got an average speed of 113MB/s.

I then tried an automated tested using a 1GB file size got similar results again. Writes were around 110MB/s and reads around 110MB/s.

Automated 1GB File Test

Like with my SSD Pi NAS, because it looked like we were saturating the Ethernet port, I then tried using a 2.5G USB Ethernet adaptor plugged into one of the Pi’s USB 3 ports.

This improved writing to the NAS to an average of around 200MB/s, again with a few dips, and reading from the NAS I got a faster 250MB/s. So writing to the NAS is now likely being nottlenecked by the software RAID parity calculations being done on the Pi’s CPU.

This makes the 2.5G network adaptor an easy and worthwhile upgrade for less than $20. It makes a big difference to the NAS’ performance, especially when large amounts of data are being transferred.

Adding 2.5G Network Adaptor

Power Consumption

I used an AC power meter to measure the NAS’ power consumption under a full writing load and at idle.

  • Idle: ~18W
  • Under Load: ~30W

This is higher than my SSD Pi NAS (~9–12W), but is reasonable for a NAS have four large mechanical drives. For comparison, my Asustor NAS idles at around 18W with the drives spun down, so this NAS does great with them still running.

Thermals and Noise

Thermally, the ventilation ports on the front and the 80mm fan at the back do a great job at keeping the NAS cool, even under a full load.

The only real negative for this build is that it is quite noisy. With the 80mm fan running, we get a sound level of about 54dB at 20cm.

Pi NAS Noise Level

Final Thoughts on my 3.5″ Pi NAS Build

That wraps up the build of my 4-bay 3.5″ Raspberry Pi 5 NAS. It offers solid performance, a functional and aesthetic 3D printed design, and the flexibility to use OMV or another NAS OS for your home NAS needs.

Pi 5 NAS

I’ve uploaded the 3D print files to MakerWorld. If you’ve got a Bambu Lab A1, P1S, or X1C, you can use my preconfigured print profiles to start printing directly from the Bambu Handy app. If not, download the files and slice them in your own slicer.

If you’re considering getting a 3D printer, the Bambu Lab P1S is a fantastic option. It’s fast, supports multi-material printing, and its enclosed design handles a wide range of materials. It’s perfect for makers and you won’t outgrow its capabilities any time soon.

Let me know what you think of my Pi NAS build in the comments section below.

Pironman 5 Max: A Feature-Packed Raspberry Pi 5 Case from SunFounder

SunFounder have returned with the latest iteration of their Pironman case. This time, it’s called the Pironman 5 Max, built specifically for the Raspberry Pi 5. This case brings a host of upgrades, including dual NVMe support, a sleek black aluminium body, and tinted acrylic panels.

At $95 for the standard kit, it’s definitely on the higher end for Raspberry Pi enclosures, but it makes up for that with a range of inclusions and features. Most notably, the ability to run a Hailo-8L AI accelerator alongside an NVMe SSD. That makes it ideal for AI applications like onboard voice recognition, object detection, and real-time pose estimation.

Pironman 5 Max Case By Sunfounder

Let’s walk through the case design, assembly, features, and performance testing to see how it holds up.

Here’s my video review of the case, read on for the write-up;

Where To Buy The Pironman 5 Max Case

Equipment Used For Testing

First Impressions & Unboxing

The Pironman 5 Max arrives in a clean, white branded box. Inside, you’ll find the aluminium shell, fans, cooler, expansion boards, and mounting hardware, everything you need to get up and running.

Pironman 5 Max Unboxing

This is the third-generation Pironman case, and visually, it carries forward the design of its predecessor while swapping the silver and clear acrylic for a more refined black aluminium and tinted acrylic look. You’ll also notice upgraded features like dual M.2 NVMe ports, programmable RGB lighting, and a tap-to-wake OLED stats display.

Assembling The Pironman 5 Max Case

Like its predecessor, the Pironman 5 Max case is quite complex and requires some effort to assemble. It’s not difficult, thanks to the well-illustrated instruction sheet and clearly labelled screws, but it’s more involved than your average snap-together Pi case.

Graphical Instruction Sheet

Here’s a quick overview and some photos of the assembly process;

  1. Install Standoffs – Attach various lengths to one half of the enclosure.
  2. Prepare the Pi – Plug in the carrier boards and mount the Pi 5 into the case.
  3. Install the Cooler – Apply thermal pads to the CPU, WiFi module, and power circuitry. The included Ice Cube cooler uses the same mounting holes as the Pi 5 Active Cooler and similar “press into place” spring mounts.
  4. Add the NVMe Adapter – The adaptor supports 2230 to 2280 drives. I installed the Hailo-8L AI accelerator in the top port and a Lexar 2280 NVMe SSD in the bottom (there is functionally no difference between ports)
  5. Attach the Fans – These mount on the back panel.
  6. Optional Camera Support – If you’re using a camera module, this is the time to install it (I decided to do this later as I wanted to test the case without it first).
  7. Add the OLED & GPIO Expansion Board – This board includes the GPIO extension and RGB lighting. The display gets stuck onto the front panel.
  8. Assemble the Shell – Screw the aluminium halves together.
  9. Finish with Acrylic Panels – The dark tinted panels give it a clean, high-tech look. The power button gets added to the front panel before installing it.
  10. Install the Rubber Feet to finish it off.

The total assembly time was around 25 minutes, and everything went together quite smoothly. There are also spare screws and cables included, which is a helpful touch.

First Boot & Software Setup

With Raspberry Pi OS pre-installed on the NVMe SSD, we can more stright on to booting it up. The OLED display and RGB lighting won’t function right away, they requiresome additional setup and software.

Fortunately, setup is easy. A quick config change and GitHub install later, and everything was up and running. I followed the instructions from SunFounder’s wiki and had no issues. They’ve also confirmed compatibility with other operating systems like Home Assistant, Ubuntu, and Kali Linux.

Configuring The Pironman 5 Max Case

After rebooting, the OLED display shows:

  • CPU temperature and usage
  • RAM and storage capacity
  • IP address

The display goes to sleep after 10 seconds by default, but you can wake it with a tap or adjust the timeout in the config files.

The Pironman 5 Max Web Dashboard

One of my favourite features from the previous Pironman case was the web-based dashboard and I’m happy to repor that they’ve retained it. You can access it via your Pi’s IP address and port 34001.

Web Dashboard

From here, you can:

  • View system stats and logs
  • Graph CPU usage and temps (as well as a wide range of other metrics)
  • Adjust OLED settings (like network interface, sleep timeout and display orientation)
  • Customise the RGB lighting, including style, colour and animation speed
  • Control fan behaviour with presets like Quiet, Balanced, and Performance
Settings Options

The new PWM fans are a big step up. They can now be set to come on at different temperatures, unlike the previous version’s which were either always on or off.

Cooling Performance

To test the coolingperformance of the case, I set the fans to Always On and ran a 30-minute CPU stress test using CPU Burn.

  • Idle temperature: 35°C
  • After 30 minutes under full load: 46°C
  • Temperature delta: 11°C

So thermal performance is pretty good, leaving a lot of headroom for overclocking.

In comparison, these are the temperatures records on the same setup (without the Hailo AI module) on the previous generation case;

  • Idle temperature: 36°C
  • After 30 minutes under full load: 53°C
  • Temperature delta: 17°C

These results aren’t bad but you’d expect better from a case with three 40mm fans cooling a single Pi 5. I previously attributed this to restricted airflow from overly fine dust filters and inadequate inlets.

The Pironman 5 Max fixes this with front air inlets cut into the “Pironman” logo and filter-free exhaust fans, significantly improving airflow.

Fan Noise on the Pironman 5 Max

During the thermal stress test, I also measured the sound levels produced by the fans:

  • Quiet mode with fans turned off (idle): 29–33dB – practically silent
  • Always On (full load): 47dB – noticeably louder, potentially distracting if it’s close to you

So the added PWM fan control makes a huge difference for balancing performance and noise.

RGB Runnings Running Full Speed

NVMe & Performance

I then wanted to test the performance of the dual NVMe adaptor. I did this by running James Chambers’ Pi Benchmark script three times on the Lexar NVMe SSD. These were the results:

  • Scores: 36,973, 36,947, 38,078
  • Average: 37,333
James Chambers Pi Benchmarks

This aligns with expectations for a PCIe Gen 2 single-lane interface. You can boost it by switching to Gen 3 in the Pi’s config file.

Hailo AI Accelerator

Next, I tested the Hailo AI accelerator with an added Raspberry Pi camera and Hailo’s pretrained models from their Developer Zone. The performance was quite impressive:

  • Pose Estimation: 30fps, with CPU usage under 15%
  • Object Detection: Also ran at 30fps with low CPU usage
  • Person & Face Tracking: Handled multiple subjects in frame with ease

So using the Hailo AI module with a Raspberry Pi 5 significantly boosts performance for object recognition and pose estimation, enabling real-time inference with low CPU load and efficient power usage. It allows for smooth, high-speed AI processing directly on the device, ideal for edge applications without needing cloud resources.

Final Thoughts on the Pironman 5 Case

The Pironman 5 Max is a thoughtfully designed case with a premium look and a ton of functionality:

  • Dual NVMe slots for expanded storage or device support
  • Rear-only cable management for a cleaner setup
  • Full-size HDMI ports, avoiding the inconvenience of micro HDMI
  • Vast improvements to cooling and airflow
  • Great AI accelerator support
  • OLED display and RGB lighting with web-based customisation and controls

The case has the same footprint as its predecessor, 112mm x 117mm x 79mm, but packs in even more functionality.

The only real area for improvement would be more refined PWM control, allowing the fans to ramp smoothly with temperature rather than switching at fixed thresholds.

Despite the $95 price tag, the Pironman 5 Max offers great value considering it includes the enclosure, active cooling, dual NVMe support, OLED screen, RGB fans, and the necessary expansion boards. It’s one of the most complete cases currently available for the Raspberry Pi 5.

What do you think of the Pironman 5 Max? Let me know in the comments section below.

GMKtec NucBox K10 Mini PC Review: Powerful Performance in a Compact Package

The GMKtec NucBox K10 is a mini PC that packs a serious punch. Featuring a 14-core Intel Core i9 processor, impressive connectivity options, and upgradeable RAM and storage, it’s a compelling option for those looking to add a capable system to their homelab, or even as a quietand powerful workstation.

Here’s my video review of the NucBox K10, read on for the written review;

https://youtu.be/X9X9vSrzCh4

Where To Buy The GMKtec NucBox K10

Tools & Equipment Used For Testing

Some of the above parts are affiliate links. By purchasing products through the above links, you’ll be supporting my projects, at no additional cost to you.

What’s in the Box?

GMKtec NucBox K10

In the box, first up we’ve got the NucBox K10 and underneath it is a sleeve with a user manual. Two accessory boxes are included, one with an HDMI cable and a power cable, and another with a 120W power brick and two WiFi antennas.

Design and Dimensions

Physically, the NucBox K10 is on the larger side for a mini PC. It measures 178mm x 176mm x 40mm and weighs just over 1kg. The build feels solid, and it has a functional design that accommodates powerful hardware while maintaining a relatively small footprint.

NucBox K10 Dimensions and Weight

Ports and Connectivity Features

The NucBox K10 is well-equipped when it comes to connectivity. On the front panel, you’ll find:

  • 1x 3.5mm audio jack
  • 2x USB 3.2 Type-A ports
  • 1x USB Type-C port with DisplayPort support
  • 2x USB 2.0 ports
  • Power button and power indicator LED
Front Ports and IO

On the rear panel, the system offers even more:

  • 2x USB 3.2 Type-A ports
  • 2x USB 2.0 Type-A ports
  • 2x HDMI 2.0 ports
  • 1x DisplayPort 1.4 (full-size)
  • 1x 2.5G Ethernet port
  • 1x RS-232 serial port
  • 1x DC power input
  • 2x WiFi antenna connectors
Back Ports and IO

While the range of ports is quite good, it would have been great to see an additional USB Type-C port, or even USB 4 support, to make it more future-proof.

For wireless connectivity, the system includes WiFi 6 and Bluetooth 5.2, ensuring strong performance with modern devices and networks.

Ease of Access & Upgradeability

One of the standout features of the NucBox K10 is its tool-less access panel on the bottom. This provides direct access to:

  • 2x SODIMM RAM slots
  • 3x M.2 2280 NVMe SSD slots

This design makes it incredibly easy to upgrade the RAM and storage without needing tools. The unit comes with 32GB of DDR5 RAM (two 16GB sticks in dual-channel configuration) running at 5200MHz. This is the CPU’s maximum supported speed, even though the supplied ADATA modules are rated for 5600MHz.

ADATA RAM

For storage, one of the three M.2 slots is populated with a 1TB Crucial P3 Plus NVMe SSD. It’s not common to see three M.2 slots in a mini PC. Two of these ports support PCIe Gen 4 x4 and one supports PCIe Gen 3 x3. The SSD also lacks a thermal pad, which could have helped with heat dissipation given its proximity to the metal access door.

In additional to being upgradeable, its also good to see they’re using decent quality components and not a generic unbranded drive and RAM.

Taking A Look At The Internals

The main top cover is also easy to remove, secured with a single thumb screw. Inside, you’ll find the heart of the system, the Intel Core i9-13900HK, a 13th-gen Raptor Lake mobile CPU with 14 cores and 20 threads capable of boosting up to 5.4GHz.

It’s quite a power hungry CPU, with a TDP of 45W, so hopefully the cooler is able to deal with this. The cooler is a full copper heat pipe design but since this is a mini PC, the cooler is quite compact. It does however have quite a large fan which should support better cooling and keep noise down.

The CPU includes Intel Iris Xe integrated graphics with 96 execution units, running at up to 1.5GHz. This will likely be limitating for GPU-heavy tasks or gaming. That said, for media playback, light editing, or basic 3D applications, it should hold up reasonably well.

First Boot & Performance Testing

The included power adapter outputs 19V at 6.32A, totaling 120W, which is higher than most mini PCs but necessary for this level of performance.

Power Adaptor

The K10 ships with Windows 11 preinstalled, and the installation appears to be clean with no bloatware.

Opening Task Manager confirms the specs:

  • Intel Core i9-13900HK with 20 threads
  • 32GB DDR5 RAM @ 5200MHz
  • 1TB Crucial NVMe SSD
  • Intel Iris Xe iGPU with 16GB shared memory

Geekbench CPU Benchmark

Running a Geekbench CPU Benchmark yields solid results:

  • Single-core score: 2,411
  • Multi-core score: 12,596
  • Averaged over three tests: 2,514 and 12,606 respectively

These scores are pretty good for a mini PC, and would beat some more modern Core Ultra 7 series PCs.

Geekbench Results

3DMark Night Raid GPU Benchmark

In 3DMark Night Raid, designed for integrated GPUs:

  • Overall score: 21,902
    • Graphics score: 25,166
    • CPU score: 12,624

The graphics score is near the top end of what is achievable with this iGPU and is far better than older UHD graphics. It’s likely good enough for low to medium settings on less demanding games but won’t be good for any modern games. The CPU score is also quite good.

Gaming Test: Counter-Strike 2

I then tried running counterstrike 2 on it to see how the GPU performed. And, as expected, it’s not great for gaming. At 1080P with graphics on medium settings we get about 75fps. This is usable but I expected a bit more. The GPU is very much the bottleneck for this PC. With graphics set to very high this goes down to 30fps.

Storage Performance

Testing the Crucial P3 Plus SSD with a 1GB test file:

  • Read speed: ~5190 MB/s
  • Write speed: ~4750 MB/s

These are expected figures for a PCIe Gen 4 x4 interface with a DRAM-less budget drive.

Drive Speed Test

Power Consumption

  • Idle: 18W
  • Full load (CPU + GPU): 84W

While this is high for a mini PC, it’s still much more efficient than a desktop with comparable specs. The performance-per-watt is excellent.

Fan Noise & Sound Level

Throughout benchmarking and gaming I was pleasantly surprised by how quiet the fan was. It’s barely audible at idle and only slighter louder when full loaded.

  • Idle: 30dB
  • Full load (CPU + GPU): 39dB

The fan also does a good job at keeping the CPU cool, even under full load the CPU didn’t go over 60 degrees.

Final Thoughts On The GMKtec NucBox K10

The GMKtec NucBox K10 delivers an impressive balance of power, upgradability, and quiet operation in a compact form factor. It’s not a gaming rig, but it excels as a homelab server, media center, or productivity workstation.

Pros:

  • Powerful 14-core i9 processor
  • Toolless design for easy upgrades
  • Quiet under load
  • Generous IO selection
  • Excellent storage and RAM options

Cons:

  • GPU performance limits gaming
  • Higher power consumption than most mini PCs
  • Lacks USB 4 support

In terms of pricing, on the GMKtec website, the barebones PC with no RAM or SSD installed is $420, this goes up to $590 with 64GB of RAM and a 1TB SSD installed. You can also often find them on sale on Amazon, so have a look there first.

For those who need a quiet, powerful, and compact system, the K10 is a great value, especially if you’re building out a homelab. I’ve already added mine to my 3D printed Lab Rax setup.

NucBoc K10 In Lab Rax Homelab

Let me know what you think of the NucBox K10 in the comment section below and if there’s anything else you’d like to see me test on it.

Beelink ME Mini – Tiny, Silent, and Perfect for a DIY NAS?

Today we’re aking a look at the new Beelink ME Mini, a compact mini PC designed to function as a small home NAS. It supports up to six NVMe drives, features dual 2.5G networking with link aggregation, and offers a silent, compact form factor — all ideal traits for a flexible DIY NAS.

Here’s my video review of the Beelink ME Mini, read on for the written review;

Where To Buy The ME Mini?

Tools & Equipment Used:

Unboxing the Beelink ME Mini

Inside the box, you’ll find:

  • The Beelink ME Mini itself, wrapped for protection
  • An HDMI cable
  • A power cable
  • A user manual

Like most mini PCs, it does not include an Ethernet cable, so you’ll need to provide your own.

First Impressions and Design

The ME Mini is impressively compact, measuring just 99mm square. It has ventilation holes on the top, bottom, and two sides.

ME Mini Dimensions

This version is white, but it’s also available in grey and a blue-green color called Peacock Blue.

ME Mini Top Ventilation

Front I/O

  • USB 3.2 Type-C port
  • Power indicator LED
  • Power button
  • Sleep indicator LED
  • USB 3.2 Type-A port
Beelink ME Mini Front Ports

Rear I/O

  • AC power input
  • USB 2.0 port (mouse/keyboard; can be set to always-on)
  • Dual 2.5G Ethernet ports
  • HDMI port
Beelink ME Mini Rear Ports

The two sides are reserved for ventilation only.

To access the internals, you’ll need to remove four screws on the bottom. These screws are initially covered with sticky plugs — a slightly odd choice for a device that’s meant to be user-accessible for drive upgrades.

Internal Layout and NVMe Support

With the cover removed, you’ll find a large central heatsink with drive slots on either side. The internal layout is thoughtfully designed:

  • Supports up to six M.2 2280 PCIe Gen 3 NVMe SSDs
  • Five slots use a single PCIe lane
  • One slot uses two PCIe lanes, intended for the OS
  • Thermal pads are preinstalled, making drive installation very straightforward

A 2TB Crucial P3 Plus drive was preinstalled in this model, and Beelink has partnered with Crucial for this lineup — a welcome change from generic SSDs often found in budget systems.

Why the 4TB Limit?

Official specs list a maximum supported capacity of 4TB per drive, likely due to:

  • Power or thermal limits
  • Heatsink contact only on one side, while larger 8TB drives are often double-sided

That said, 8TB may still work — just with reduced cooling and potential risk.

Crucial P3 Plus Drives Installed

Power and Cooling

The rear of the heatsink houses a 45W built-in power supply — no external brick required. It takes a direct mains cable and is rated at 12V, 3.75A.

ME Mini Power Supply

This heatsink cools:

  • The CPU
  • The power supply
  • All NVMe drives

A single fan blows downward across the heatsink, with air exiting through the bottom and side vents. The heatsink has a machined contact face to improve thermal transfer from the CPU.

CPU, RAM, and Connectivity

The ME Mini is powered by Intel’s new N150 CPU:

  • 4 Efficiency cores
  • Up to 3.6GHz
  • 6W TDP
  • Slightly faster than the popular N100
N150 CPU

Memory and Storage

  • 12GB LPDDR5 RAM at 4800MHz (soldered, not upgradeable)
  • 64GB eMMC storage (also non-upgradeable)

Connectivity

  • Dual 2.5G Ethernet ports
  • WiFi 6
  • Bluetooth 5.2
Beelink ME Mini Board

Software and Use Cases

The ME Mini ships with Windows 11, but since it’s geared toward NAS use, I installed TrueNAS for testing.

It’s a flexible platform that could also be used for:

  • Unraid (home NAS)
  • Kodi, Plex, or Jellyfin (media center)
  • Proxmox (homelab/virtualization)
    • Note: The 12GB RAM might limit heavier virtualisation tasks.
Comes With Windows 11 Preinstalled

OS Flexibility

You can install your OS on either:

  • The eMMC storage, ideal for lightweight systems like Unraid
  • The 2-lane NVMe slot, for faster OS performance under Windows/Linux

This gives you flexibility based on how you want to allocate your storage.

Storage Testing: NVMe Performance

I installed a second 2TB P3 Plus SSD to test both the single-lane and dual-lane NVMe ports.

Drive Setup

Two separate storage pools were created in TrueNAS:

  • One on the dual-lane slot
  • One on a single-lane slot

File Transfer Benchmarks

  • 1GB file test: ~260MB/s write, ~245MB/s read
  • 16GB & 64GB files: Similar results
  • Real-world test with 46GB video file:
    • ~280MB/s both to and from NAS on both slots

The performance across both slots was identical, as expected, due to the 2.5G Ethernet bottleneck. The internal PCIe lane speed doesn’t become a factor here.

Thermals and Noise

Even under stress testing:

  • CPU temps stayed below 55°C
  • Fan noise was negligible
    • Silent at idle (around 35db)
    • Barely audible at full load, only noticeable within 20cm (around 36db)

The case gets warm, but not hot — impressive for a fan-cooled, passively compact system.

Power Consumption

With two NVMe drives installed:

  • Idle: ~8W
  • Write load: ~12W
  • Max CPU load: ~15W

This is very power-efficient, especially for 24/7 operation.

Pricing and Value

  • Base version (no storage): $209
  • 2TB version: $329
  • 4TB version: $429

Note: The drive upgrades aren’t discounted — it costs about the same as adding your own Crucial P3 Plus. But the base $209 model offers fantastic value for its features.

Pricing For Beelink ME Mini

Who Is the Beelink ME Mini For?

This is a great option if you’re looking for a:

  • Quiet, energy-efficient NAS
  • Flexible platform with OS choice
  • Media server or file backup system
  • Device to run Docker containers, light Proxmox VMs, or home services

You can start with a single SSD and scale up to 6 drives.

Limitations

It’s not designed for:

  • Hot-swappable drives
  • Hardware RAID
  • 10G networking
  • PCIe expansion

So it’s not for high-demand enterprise environments. But at $209, it beats most DIY NAS options, including my own Raspberry Pi NAS build from last year, and with significantly more performance.

Beelink ME Mini No Cover

Final Thoughts

The Beelink ME Mini is a compact, silent, and power-efficient mini PC that delivers everything you need for a budget-friendly DIY NAS. With support for six NVMe drives, dual 2.5G networking, flexible OS options, and surprisingly solid performance, it’s a well-rounded package for home users looking to build their own storage solution without the noise, bulk, or high cost of traditional NAS systems.

The ME Mini punches well above its weight for home NAS use, it’s:

  • Tiny
  • Efficient
  • Silent
  • Affordable
  • And thoughtfully designed for DIY upgrades and flexibility

Let me know in the comment section below what you think of the ME Mini or if there’s anything else you’d like to see tested!

Raspberry Pi 5 Test Bench with Real-Time Stats & RGB Load Monitor

If you’re into testing and experimenting with Raspberry Pi accessories, then you’ll know the importance of a solid setup that’s both functional and accessible. In today’s post, I’ll walk you through the design and build process for a custom open-air Pi test bench tailored for the Raspberry Pi 5. It’s complete with a real-time stats display, RGB CPU load monitor, and push-button controls.

Pi Test Bench Running

Here’s my video of the build, read on for the written guide;

What You Need To Build Your Own Pi Test Bench

Tools & Equipment Used:

Some of the above parts are affiliate links. By purchasing products through the above links, you’ll be supporting this channel, at no additional cost to you.

Why Build a Raspberry Pi Test Bench?

The idea was to create something better than a simple Pi stand. I wanted something that looks great on a desk but is also practical for testing different HATs, accessories, and custom configurations. I needed a setup that would allow easy access to the Pi’s components while offering flexibility for cooling and external add-ons.

Pi Test Bench Executing Script

The result is a two-level stand with the Pi 5 on the base and a mounted HAT above it, making everything clean and organized while remaining functional. I still have access to the Pi’s GPIO pins and have a clear area above the Pi to fit a range of coolers.

Designing the Stand in Fusion 360

I started out in Fusion 360, designing the stand to hold a Raspberry Pi 5 flat on the desk and a HAT mounted above at an angle. The angled top mount can accommodate various add-ons like NVMe adapters or AI accelerators. You can still add external coolers and peripherals, which would be difficult with a HAT sitting directly on the Pi.

Designing The Pi Test Bench

The stand was designed to be milled from aluminium for durability and aesthetics, but it can also be 3D printed. Alongside the main frame, I designed a small custom PCB that adds an OLED screen, RGB LED, and three programmable buttons to the mix.

Here are the 3D Print Files if you’d like to try print out your own stand.

Designing the Control PCB in EasyEDA

The control board was designed using EasyEDA, a free online PCB design tool.

Designing The PCB

Despite its small size, the PCB brings a lot of functionality:

  • OLED Display: Shows IP address, CPU temperature, and system resource usage.
  • RGB LED: Changes colour based on CPU load—green for idle, red for max load.
  • Three Pushbuttons: Mapped to custom actions like running scripts, toggling services, or rebooting.

All of this connects neatly to the Pi’s GPIO header via a short lead.

Here are the PCB gerber files if you’d like to make your own PCB;

Manufacturing the Components with the Carvera Air

To fabricate the components, I used the Carvera Air, a compact desktop CNC that Makera sent me to try out. I already had one from their Kickstarter campaign last year, so this expands on my workshop capabilties.

The Carvera Air is a versatile machine that can:

  • Mill wood, plastic, and aluminium
  • Laser engrave
  • Fabricate PCBs

So it’s a great addition to a home workshop or Makerspace.

Milling the Aluminium Parts

I began by milling the three aluminium pieces for the stand, the two identical sides and the central joiner.

First up, we need to create the tool paths for each operation required to make up each part. I did this in Fusion360’s manufacturing space. This also allows you to add virtual stock and simulate the paths that are created.

Side Tool Path

To make up the first leg, the Carvera Air performs autolevelling by probing the surface. I then used a 1/8″ endmill to face the parts. Then drilled holes using a 2mm drill bit for the joiner connection and finally, used the same endmill to contour the parts.

Tabs hold the parts in place during milling and need to be removed and cleaned up afterwards, but overall I’m really impressed by how well it came out.

Contouring The Leg With Tabs

We then need to repeat the process for the second leg and make up the joiner too.

Making the PCB

The PCB was also fabricated using the Carvera Air using their PCB Fabrication Pack.

This is a simple PCB, so it only requires a single-sided PCB blank. The Carvera Air again starts out by probing the surface of the blank so that it’s able to accurately engrave the traces.

Probing The PCB

The traces are then engraved using a 0.2mm engraving bit.

UV-curing solder mask is then applied and cured for 10-15 minutes using a UV lamp.

In hindsight, I probably put a bit too much UV mask on in each layer, so the finish isn’t great and it took a long time to cure between layers. It was first time using the solder mask and the end product doesn’t look too bad, it’ll be on the back in any case.

The solder mask is then removed from the pads that we’re going to solder onto using a mask removal tool. Then holes were drilled for the through-hole components with a range of drill bits.

Removing Additional Solder Mask

Finally, a 0.8mm corn bit was used to cut out the board. Tabs again hold it in place, which will need to be removed and cleaned up afterwards.

Corn Bit Milling Out PCB

The PCB components, OLED screen, RGB LED, resistors, and tactile switches, were then soldered into place.

Assembling the Test Bench

With all the components fabricated, it was time to assemble the Pi test bench.

I started out by tapping M2 holes in the joiner to bolt the aluminium sides to.

Four M2x10mm button head screws hold the legs onto the sides of the frame.

Next we need to mount the Pi. Four M2.5x6mm standoffs are used to hold the Pi securely. These can be installed with way around – I prefer having the threads facing upwards so that the Pi can just be placed onto them.

Brass Standoffs Installed

Brass inserts served as thumb screws, making it easy to remove and reattach the Pi without tools.

For the HAT, I mounted it directly to the frame using some M2.5x12mm button head screws and M2.5 nuts, since the NVMe HAT I used had no bottom-side solder joints. These same screws hold the control PCB securely in place alongside the hat.

Real-Time Monitoring and Controls

With the Pi test bench now complete, we can load the stats script onto the Pi and start using it.

Pi Test Bench Script Running

The OLED display shows live system stats including the Pi’s IP address, CPU load, and temperature and other resource utilisation like RAM and storage.

I’ve set the RGB LED up to change from green to red based on CPU load, giving you instant visual feedback at a glance. It’s green when the CPU load is under 5% and then moves through a range of yellow and through to solid red at 100% utilisation.

CPU Load Monitoring Through RGB LED

The three buttons underneath the LED are configurable through Python scripts to control services, scripts, shutdowns, or toggling the OLED display, even when the Pi runs headless.

Press Buttons To Execute Scripts

Final Thoughts

The extra weight from the aluminium stand, PCB, and HAT adds stability—preventing the Pi from sliding around when plugging in cables. And let’s be honest, it looks fantastic on my desk.

If you’re into Pi projects, want to test new accessories, or just want a clean, professional bench setup, this project is a great starting point.

Let me know in the comments section below what features you’d like to see added. Maybe an integrated fan controller? More buttons? USB hub?

If this build has inspired you, check out the Carvera Air from Makera. It’s an awesome addition to any workshop, letting you prototype your own PCBs and aluminium components quickly and accurately.

Makera Carvera Air Dark

Custom CNC Waterblock for Raspberry Pi 5 – Complete Overkill (But It Works!)

Today’s project is a little ridiculous, but in the best way possible. I’ve built a custom waterblock for the Raspberry Pi 5, and I’ve gone all out. This block features a milled aluminium cold plate, an integrated clear acrylic distribution plate, a built-in pump, and hardline tubing leading to an 80mm radiator and fan.

Pi 5 Distribution Block Cooler

It’s complete overkill… and that’s exactly the point.

Here’s my video of the build, read on for the write-up;

Parts Used For This Project

Tools & Equipment Used:

Some of the above parts are affiliate links. By purchasing products through the above links, you’ll be supporting this channel, at no additional cost to you.

Making With the Carvera Air Desktop CNC

The entire waterblock was machined using the new Carvera Air, a desktop CNC machine that’s genuinely expanded what I can do in my workshop. While Makera did send me this unit for the video, I was already a backer on Kickstarter last year and have been using mine to fabricate parts for my other projects. You might have even spotted it in the background of a few recent videos.

For this build, I pushed it to its limits by milling aluminium and acrylic with precision.

I’ve built a few water-cooled Raspberry Pi projects before, but they usually end up bulky. This time, I wanted to combine water cooling with a compact custom distribution plate, aiming to make something truly unique and much smaller.

The Waterblock & Cooling Loop Design

As always, I started designing the components in Fusion360.

Designing The Distribution Block

At the heart of the system is a milled aluminium block that makes direct contact with the Pi’s heat-generating components. The CPU is the main target, but I’ve also sized thermal pads for the RAM, USB and Ethernet controllers, and the power circuitry—taking full advantage of the additional cooling capacity.

Designing The Heat Block for the Waterblock

To complete the waterblock, stacked on top is a two-layer acrylic distribution plate. This plate not only channels coolant over the block but also houses the pump itself.

Designing The Acrylic Plates for the Waterblock

I used a low-profile pump with an acrylic top and reverse-engineered the cutout to fit it seamlessly. The pump mounts directly into the plate with M4 screws and some M3 countersunk screws secure the acrylic layers to the aluminium base. I also custom made gaskets to ensure a good seal between the layers.

To keep everything clean and compact, I designed a small 3D-printed stand for the radiator next to the Pi. I opted for hardline tubing for aesthetics, though I didn’t bother trying to model the bends in CAD, that was a challenge for later.

Whole Water Cooled Setup Complete

Machining the Components on the Carvera Air

I began making the waterblock with the aluminium cold plate, which would take the longest to mill. Setting up the toolpaths in Fusion360 was a process in itself. A note for those using the free version, it doesn’t allow exporting multiple tool operations into a single CNC file. To get around this, you can either combine the GCode manually or used Makera’s new CAM software.

The 10mm aluminium stock was clamped onto the Carvera Air’s bed. While this machine doesn’t have an automatic tool changer, there are some excellent 3D printable tool holders that help keep everything organized.

Before cutting, the Carvera Air performed auto-leveling with its probe.

Probing The Aluminium Stock

The machining process involved several steps:

  • Facing the stock with a 1/8″ flat endmill to the final thickness.
  • Drilling holes for the acrylic plate screws and Pi mounts.
  • Surfacing the heat pads and cleaning surrounding areas.
  • Contouring the outer shape, with tabs to keep it secured.
  • Flipping the plate to mill the internal cooling channels.

The final result came out great—especially for a desktop CNC. This was my first time milling aluminium, and while there are visible tool marks, the surface finish is smooth and clean.

Complete Aluminium Cold Plate for the Waterblock

Next up was the acrylic distribution plates, milled from 10mm clear cast acrylic. The first plate was machined with:

  • A 2mm flat endmill for the o-ring groove,
  • A 1/8″ endmill for the pump cutout and screw holes,
  • Pocket milling and outer contours.

The second acrylic layer followed a similar process, with the addition of thread milling using an M4 tool to tap the four pump mounting holes. I then countersank the screw holes using a chamfer bit.

The final step was threading the inlet and outlet ports by hand using a 1/4″ BSP tap. Makera currently offers thread mills in some metric sizes, but a BSP-compatible tool could be sourced elsewhere. I also tapped the M2.5 and M3 holes in the aluminium base at this stage.

Thread Tapping The Block

Assembling the Waterblock

Assembly of the waterblock started with creating four custom o-rings using 1.5mm cord that I cut and joined with super glue. These will seal the aluminium base, distribution channel, and inlet/outlet ports.

Once the seals were in place, I clamped the acrylic plates together. One side is secured with M3 screws, and the other side is held by the pump itself. The pump is a compact 12V model whose geometry I had replicated in CAD. After inserting the base and impeller, I fixed it in place with four M4 screws.

With the block assembled, I moved on to completing the rest of the loop.

Hardline Tubing and Radiator Setup

To dissipate the heat from the waterblock, I added an 80mm aluminium radiator connected via 12mm hardline tubing. Despite never working with hardline tubing before, a bit of trial and error yielded some good results. A Milwaukee heat gun did the job, though it lacked a trigger lock, which made things trickier.

To add a fill port cleanly, I used a compact tee on one of the radiator ports. This provided a simple and tidy way to fill the loop without adding unnecessary bulk.

Fitting With Fill Port For Loop

After tightening all the fittings on the waterblock and radiator, I mounted the entire assembly onto the 3D printed stand.

Installing Fittings Properly

Filling the loop was surprisingly satisfying, especially with the fluorescent green coolant.

Filling The Cooling Loop

The pump and fan are powered via an adjustable 12V power supply, which lets me tweak their speeds for noise control. There’s no reservoir in the system, so working out the air bubbles took some patience. But the compact design made it worth the effort.

Installing the Pi and Testing the Waterblock

Once the loop was running smoothly and leak-free, I installed the Pi 5 onto the block. I used thermal paste for the CPU and 1mm thermal pads on the other components. I designed the heat sink pads to sit 0.8mm below the components to allow compression and ensure solid thermal contact.

Cold Plate With Thermal Paste & Pads

The Pi mounts securely with four M2.5 screws.

Custom Waterblock On A Raspberry Pi 5

Time to answer the big question, does it actually work?

With everything powered up, I ran CPU Burn to stress the Pi’s CPU. It was overclocked to 2.8GHz (up from the stock 2.4GHz) to push the cooling system to its limits.

Thermal Testing The Water Cooled Pi 5 and waterblock

To start with, we need a baseline. I ran the same test on the same Pi 5 without any cooler and then again with the official actove cooler and got the following results;

  • Stock Pi at 2.8GHz (no cooling): it started with a base temp of 44°C and started thermal throttling in under 30 seconds.
  • With the Active Cooler: it started at 37°C and peaked at 68°C after 5 minutes.
Results of No Cooler and Active Cooler

So the Active Cooler does a fair job at keeping the overclocked Pi cool but it still gets quite warm.

I then moved on to testing the Pi 5 in my new custom loop;

With this custom loop: base temp of 24°C (just 3°C above ambient), peaking at 32°C under full load. That’s a full 36°C drop compared to the stock unit and 5°C cooler than the active fan solution at idle.

Results of Full Test With Water Cooling

The oversized aluminium block made a big difference by directly contacting the CPU heat spreader. With so much thermal headroom, I was also able to lower the pump and fan voltage for quieter operation without sacrificing cooling performance.

Final Thoughts

This was definitely an over-the-top build—but that’s what made it so much fun. It was my first time building a distribution plate and working with hardline tubing, and both exceeded expectations. The Carvera Air handled the aluminium and acrylic with ease and gave me confidence in taking on more CNC-based projects.

Distribution Block With Pump And Heatsink

If you’re interested in trying something like this yourself, I highly recommend checking out the Carvera Air on Makera’s website.

If you enjoy projects that combine CNC machining, 3D printing, and pushing small single-board computers to the limit, subscribe to my Youtube channel or follow my blog. Feel free to leave a comment down below on what you’d like to see water cooled, or what I should build with the Carvera Air, next!

LattePanda Mu – A Tiny x86 Compute Module with Big Potential

The LattePanda Mu is an ultra-compact x86 compute module designed to offer powerful performance in a tiny form factor. Based on Intel’s N100 processor, this board brings full Windows 11 compatibility and a wide range of connectivity options through its edge connector.

LattePanda Mu

In this review, we’ll take a closer look at the LattePanda Mu Starter Kit, including the compute module, Lite Carrier Board, and bundled accessories. We’ll dive into its specifications, test performance under Windows, run benchmarks like Geekbench and 3DMark, and explore its power consumption and thermal performance to see how well it stacks up against other small form factor PCs and SBCs.

Here’s my video review of the LattePanda Mu;

Where To Buy The LattePanda Mu?

Equipment Used

Some of the above parts are affiliate links. By purchasing products through the above links, you’ll be supporting this channel, at no additional cost to you.

Unboxing the LattePanda Mu Basic Kit – What’s Included?

The LattePanda Mu Basic Kit includes everything you need to get started using the LattePanda Mu module:

  • LattePanda Mu compute module
  • Active Cooler
  • Lite Carrier Board
  • Battery
  • Mounting screws for cover plates
  • Two acrylic base plates
LattePanda Mu Kit0200

The LattePanda Mu module itself is impressively small, measuring just 60mm by 70mm. While it can’t operate on its own and requires a carrier board, its compact size still makes it ideal for embedded or portable applications.

In terms of cost, the LattePanda Mu module costs $139 for the base N100 8GB model and goes up to $259 for the N305 16GB flagship. This makes it quite a lot more than something like the Radxa X4 that I showed recently, and especially considering that the X4 has all it’s ports ready to go while you’ll need to add a $39 carrier board to the cost of the Mu to use it. So you’ll likely need to be making use of the Mu’s available additional IO and interfacing features to justify the cost.

LattePanda Mu Module Tech Specs

The LattePanda Mu is available in three different CPU and RAM configurations. The unit tested here is the most basic of the three and is equipped with:

  • Processor: Intel N100 (4 cores, up to 3.4GHz, 6W TDP)
  • Graphics: Integrated Intel UHD Graphics at 750MHz
  • Memory: 8GB LPDDR5 RAM (4800 MT/s, soldered)
  • Storage: 64GB onboard eMMC (soldered)
  • Display Support: Up to three simultaneous outputs (3x HDMI 2.0, or 2x HDMI 2.0 + 1x DisplayPort 1.4)
  • Expandable IO: 9x PCIe 3.0 lanes available via the 260-pin SO-DIMM edge connector
LattePanda Mu N100 CPU

Higher-end models include up to 16GB of RAM and/or an upgrade to the more powerful Intel i3-N305 processor.

The Mu is designed to be flexible for custom integration. LattePanda offers design documentation and services for developers and OEMs looking to build bespoke carrier boards for specific use cases.

Lite Carrier Board Features

The Lite Carrier Board included in the starter kit exposes the essential features of the LattePanda Mu. While it doesn’t expose all of the IO capabilities of the module, it provides the essentials to get up and running.

LattePanda Mu On Lite Carrier Board

Key features include:

  • Connectivity:
    • 2x USB 3.2 ports
    • 2x USB 2.0 ports
    • 1x HDMI 2.0
    • Gigabit Ethernet port
    • DC barrel jack (12–20V input)
    • USB-C power input (45W PD, 15V/3A – power only)
  • Expansion Options:
    • PCIe 3.0 x4 slot
    • 2x M.2 M-Key slots (for 2230 NVMe SSDs or WiFi modules)
    • Gravity I2C and UART 4-pin interfaces

Although it does also support power input through the USB Type-C port, it is a little disappointing that this doesn’t support the PCIe port; you can only use that with the DC input. Also, although the DC port is stated as being able to accept 12-20V, it looks like you have to use a 12V adaptor if you plan on using the PCIe port – so power is likely routed straight to the PCIe port. This is not all that clear in the product pages or on the carrier board, it just says that the PCIe port is only available if you use a 12V DC power supply, not that you can’t use a higher voltage.

The DC barrel jack input is a nice addition as it’s range allows for the direct connection of a 4-cell lithium battery pack without requiring additional voltage regulation, which is really useful for mobile devices and projects.

Cooling is handled by the included active cooler rated at 35W of heat dissipation. For quieter or passive setups, LattePanda offers optional 10W and 15W passive heatsinks.

LattePanda My Heatsink

First Boot and Testing

The Mu comes preloaded with Windows 11, and it boots straight to a clean desktop environment. From the system monitor, we can see our N100 CPU with 4 cores, then we’ve got 8GB of LPDDR5 RAM running at 4800MHz, 64GB of eMMC storage and integrated Intel UHD graphics.

Video Playback on YouTube

1080p and 4K YouTube video playback performed flawlessly, with no stutters in windowed or fullscreen modes. This makes the Mu well-suited for home media applications.

3DMark Night Raid Benchmark

Next I ran a 3DMark Night Raid benchmark, which is a good benchmark to run on integrated GPUs.

The LattePanda Mu scored quite well;

  • Total Score: 4,663 (average over 3 tests of: 4,656)
  • Graphics Score: 4,905
  • CPU Score: 3,646

Geekbench 6 Benchmark

I then ran a Geekbench 6 benchmark on the CPU, which also scored fairly well;

  • Single-Core: 1,116 (average over 3 tests of: 1,121)
  • Multi-Core: 2,976 (average over 3 tests of: 2,980)

Storage Speed Test

Lastly, I tested the onboard eMMC storage speed using AJA System Test. The eMMC storage is quite slow, writes start off around 240MB/s but consistently drop to around 140MB/s when writing a 1GB file. Reads are consistently around 260-280MB/s for a 1GB file. This is ok for the operating system but you’d benefit from rather booting from an attached NVMe drive.

Onboard eMMC Storage Speed Test
  • Write: Starts at ~240MB/s, drops to ~140MB/s on sustained 1GB file writes
  • Read: ~260–280MB/s consistently

Fan Noise and Thermal Performance

Fan noise depends a lot on what you’ve got running and what your power settings are. With a low load on the CPU, the fan is barely audible. It runs at under 34 decibels. Under full load, the fan spins up and is then quite noisy, getting up to about 46 decibels. If you aren’t putting a heavy load on it for long periods then one of the passive coolers is probably a better desktop option.

Thermally, the active cooler does well, keeping the CPU under 55°C at full load, and the surface of the cooler is about 8°C warmer than ambient.

Thermal Image Of LattePanda Mu

Power Consumption

Power consumption is really good for an SBC running an Intel CPU.

  • Idle (Desktop): <6W
  • Full Load (CPU + GPU): <22W
  • Power Off (Shutdown): ~0.25W

It uses a little under 6W when idle on the desktop and when maxed out on all CPU and GPU cores we get a little under 22W. Interestingly it still uses about a quarter of a watt when shut down completely.

PCIe Expansion

I then tried plugging an NVMe adaptor into the PCIe port to try it out. Through that, I was able to add a 2280 size 2TB Crucial P3 Plus drive to the Mu. This drive gets significantly faster read and write speeds than the onboard eMMC storage, getting around 780MB/s.

You can also use this port to add faster networking adapters or even a GPU.

Final Thoughts on the LattePanda Mu

The LattePanda Mu is a compact, flexible x86 compute module with solid performance and a wide range of IO options via its edge connector. It’s ideal for developers, embedded applications, and projects that benefit from PCIe or multiple display outputs.

LattePanda Mu Running With PCIe Card

It is power-efficient and really compact for its capabilities. The included cooler is great if you’re not using the board under full load somewhere where the fan noise would be an issue; if it is, then the large passive cooler would probably be a better option.

It’s priced higher than some SBCs that offer comparable performance. At $139 for the 8GB model (plus $39 for the carrier board), it competes with devices like the Radxa X4, which offers onboard ports at a lower price. If you’re just after a budget-friendly N100 system, an N100 mini PC may offer better value.

LattePanda Mu Running With Fan On Lite Carrier Board

Where the Mu really shines is in custom or embedded applications, especially where you can take advantage of its edge connector, multiple PCIe lanes, and flexible power input options, like direct 4-cell battery support.

Overall, it’s a well-built, capable module with specific strengths for the right user.

Zimaboard 2 Review – A Sleek, Silent Upgrade for Your Homelab

Today we’re taking a look at the new Zimaboard 2, this is the second generation Zimaboard from Icewhale, the company that have also brought us the Zimablade and Zimacube. With upgraded hardware, a new aluminium chassis, and IceWhale’s CASA OS pre-installed, the Zimaboard 2 is targeted at homelab and personal cloud enthusiasts. In this review, we’ll unbox the new board, compare it with the original Zimaboard, put it through some performance and thermal tests, and see how it handles additional storage.

Here’s my video review of the Zimaboard 2;

Where To Buy The Zimaboard 2

At this stage, the Zimaboard 2 is being crowd-funded on Kickstarter, so is only available to backers of their campaign;

Tools & Equipment Used

  • FNIRSI Power Supply with Display – Buy Here
  • Infiray P2 Pro Thermal Camera – Buy Here
  • Bambulab A1 Combo (To Print Lab Rax System) – Buy Here

Some of the above parts are affiliate links. By purchasing products through the above links, you’ll be supporting this channel, at no additional cost to you.

Unboxing the Zimaboard 2: What’s Included

The Zimaboard 2 ships in a well-designed cardboard carrier that doubles as a holder for the board and up to two 2.5″ drives. Inside the box, you’ll find the Zimaboard 2 in a protective sleeve and a separate accessory pack.

The accessory pack contains:

  • A dual SATA cable
  • A multi-region 12V/3A power supply
  • A quick start guide

Right out of the box, the Zimaboard 2 looks and feels like a premium upgrade to the original. It now features a cast aluminium casing, giving it a sturdier, more refined appearance while remaining completely passively cooled — there are no onboard fans or ventilation holes.

Tech Specs and Comparison to Zimaboard 1

Key Hardware Upgrades:

  • CPU: Intel N150 (4 cores, up to 3.6GHz) vs. the original’s Celeron N3450 (up to 2.2GHz)
  • GPU: Upgraded integrated graphics with 24 execution units (vs. 12) at up to 1GHz
  • RAM: 8GB LPDDR5 @ 4800MHz (vs. 8GB LPDDR4)
  • Storage: 32GB eMMC (unchanged)
  • PCIe: Gen 3.0 x4 slot (vs. Gen 2.0 x4)
  • Networking: Dual 2.5G Ethernet ports (up from Gigabit Ethernet)
  • Ports: 2x USB 3.1, mini DisplayPort, SATA III ports (6Gbps), 12V barrel jack

Physically, the board is just 1mm longer and 4mm thinner than the original, but noticeably more robust thanks to the new aluminium housing.

Port placement remains nearly identical, making it easy for users upgrading from the original, but there are some differences.

On the front we’ve got the same mini DisplayPort, but then we’ve got improved dual 2.5GB Ethernet ports and beneath those are two USB 3.1 ports. Next to those is the power supply barrel jack input. On the side is a PCIe 3.0 x 4 slot, which is an improvement on the 2.0 x 4 port on the original.

On the back of the board, we’ve still got two SATA ports alongside a central power port. These are the same SATA 3.0 ports that can do up to 6 Gbps.

Internally, there isn’t much on the bottom of the board other than the CMOS battery and clear CMOS button near it.

CMOS Battery On Inside Underside

On the other side, the Zimaboard 2 has an improved 4 core Intel N150 CPU. This has the same number of cores as the original Celeron N3450 CPU, but they now boost to up to 3.6GHz instead of 2.2GHz. It’s also got 3 times the cache and 9 PCIe gen 3 lanes instead of the 6 gen 2 lanes on the original.

Zimaboard 2 Top Of Board

The top shell is quite thick, so probably has a good thermal capacity.

Cast Aluminium Heatsink

It also has an improved integrated GPU, now with 24 execution units over the original 12, which boosts up to 1Ghz.

Intel N150 CPU Zimaboard 2

Storage remains the same, we’ve got 32GB of eMMC storage and RAM stays at 8GB but is now DDR 5 instead of DDR 4 and runs at an increased 4800MHz. Both are soldered to the board and therefore aren’t upgradeable.

eMMC Storage and RAM

First Boot Into CASA OS

Like its predecessor, the Zimaboard 2 is meant to be run headless. Setup is simple: plug in the power and connect an Ethernet cable. WiFi is still absent, so a wired connection has to be used.

Zimaboard 2 First Boot

Once booted (after a few minutes), you can access the dashboard by entering the device’s IP address in a browser. IceWhale provides a handy utility called Zima Client to help locate the IP if needed. It’s best to assign a static IP address through your router for easier future access and to set up network storage.

The board came preloaded with what appears to be the Zimacube version of CASA OS — likely to be updated following the Zimaboard 2’s full release. You’ll need to set up a local user account to begin using the dashboard.

CASAOS First Boot

CASA OS is essentially a web-based Docker frontend built on Debian, designed for homelab and personal cloud setups. It’s a clean, customizable dashboard that includes:

  • System monitoring
  • App Store with 50+ preconfigured Docker apps
  • VM and storage management
  • PeerDrop for local file sharing (more on that later)
Zimaboard 2 First Boot On CASA OS

System usage was minimal on idle, with CPU at near-zero and RAM usage at 11%. Using btop, you can view per-core CPU loads, memory usage, active processes, and network activity.

btop Hardware Monitor CASA OS

Power Consumption

To assess power consumption and thermal performance, an Ubuntu virtual machine was set up to run a CPU stress test. Here’s how the board handled the load:

  • Idle: 7W at 3% CPU use
  • Full load: 16W with VM stress test

This is the bare board without any additional drives, PCIe cards or peripherals attached to it.

Testing The Zimaboard 2’s Thermal Capacity

Thermally, the passive heatsink enclosure does quite well under full load. With the same stress test running, putting the CPU under full load, we get the following results;

  • 7 minutes: CPU ~70°C, case surface 56°C (room at 20°C)
  • 15 minutes: CPU at 77°C
  • 30 minutes: CPU at 87°C, case at 68°C
  • 41 minutes: Hit 90°C, test stopped

Despite these high temps under sustained load, the system stayed stable and silent. Once the load stopped, temperatures dropped quickly. So provided you’re not subjecting the Zimaboard 2 to a full load for long periods of time, the passive heatsink works quite well, and it’s great that it’s silent.

Adding Storage Drives & Using It As A NAS

To expand storage, the Zimaboard 2 was installed in a 3D-printed 1U shelf and fitted out with:

  • 1 x 2TB NVMe drive (on the PCIe port)
  • 2 x 1TB 2.5” SATA SSDs

The board features four M3 mounting points to install it into a case or rack. I used these to secure it to my 1U shelf.

Upon reboot, all three drives were recognized in CASA OS.

Zimaboard 2 In Lab Rax

The NVMe drive was formatted for general storage. The two SATA SSDs were combined into a RAID 0 array using CASA OS, ideal for non-critical media storage (e.g. for a Plex server).

File access via the Files app was seamless, and the storage was also visible under the Storage tab. Drives were mapped to a PC for use as a basic NAS.

Drives Now Showing In Files App

Storage Performance

  • NVMe:
    • Write: ~240MB/s
    • Read: ~260MB/s
  • SATA RAID 0 array:
    • Write: ~230MB/s
    • Read: ~260MB/s

These are quite good results, especially over a 2.5G network connection, making the Zimaboard 2 very capable as a networked storage server.

Final Thoughts On The Zimaboard 2

The Zimaboard 2 delivers a meaningful upgrade over the original. With faster CPU and RAM, better graphics, and a sleek aluminium case, it looks and feels like a premium homelab device. The inclusion of dual 2.5G Ethernet ports and a PCIe Gen 3 x4 slot opens up many more possibilities for custom setups.

Zimaboard 2 Close Up Ports

Thermal performance is impressive for a fanless design, although the case does get hot under prolonged full load. Storage expansion is easy, and CASA OS continues to offer a smooth and beginner-friendly platform for managing containers, apps, and storage.

One standout feature is PeerDrop, which enables file sharing between devices on the local network using just a browser — a handy Apple AirDrop-style tool that works across all platforms.

Peer Drop On CASA OS

The Zimaboard 2 is a powerful and quiet mini-server board, ideal for DIY NAS, media servers, and homelab projects. Pricing is still unconfirmed at the time of writing, but if it lands between $180–$240, it will be a competitive option. Any higher, and it may start to overlap with more capable mini PCs.

Let me know what you think of the Zimaboard 2 in the comments section below.

Introducing Lab Rax: A 3D Printable & Modular 10″ Rack System

Today, I’m excited to introduce Lab Rax, my latest 3D-printable project—a fully modular and customizable 10-inch server rack system for homelab enthusiasts. Whether you’re managing Raspberry Pi setups, mini PCs, or networking gear, this rack is designed to keep everything organized, adaptable to your needs, and look great on your desk.

Here’s my video of the build, read on for the write-up;

What You Need To Assemble Your Own Lab Rax

  • M6x10mm Button Head Screws (16 Required For Frame + Additional For Racks) – Buy Here
  • M6 Brass Inserts (8mm OD, 4mm Length) – Buy Here

For Bolted Version

Metric

  • M6x12mm Button Head Screws (16 Required For Frame + Additional For Racks) – Buy Here
  • Optional Black Version of Above to Match Print – Buy Here
  • M6 Nuts (16 Required For Frame + Additional For Racks) – Buy Here

Imperial

  • #10-32 x 1/2 Button Head Screws (16 Required For Frame + Additional For Racks) – Buy Here
  • Optional Black Version of Above to Match Print – Buy Here
  • #10-32 Nuts (16 Required For Frame + Additional For Racks) – Buy Here

Equipment Used

What Makes Lab Rax Special?

Fully 3D Printable

Lab Rax is designed to be completely 3D printable, except for a few fasteners and brass inserts that hold it together. It’s optimised for common 3D printer bed sizes of around 250mm square, meaning you don’t need a large-format printer to produce it. The design also requires minimal support material, just four thin strips on the edge pieces, so there’s very little filament waste and hardly any post-processing needed.

Bambulab A1 combo Printing Lab Rax

Modular Design

The side panels and posts come in increments from 1U to 5U (5U being the largest that fits a 250mm print bed). You can also combine two sections to create any combination of units up to 10U. You can technically add a second joint and extend the rack beyond 10U, but the strength of the 3D-printed parts becomes an issue when going beyond that with a rack full of equipment.

Lab Rack Sizes

Cost-Effective

Pre-made 10-inch mini racks typically cost between $80 and $150 for the frame alone. In contrast, a 5U Lab Rax frame uses about 580g of filament and an additional 360g for side panels (if you choose to add those). A single 1kg spool of PETG is enough to print out a complete rack and side panels and costs around $15. Add about $6 for the brass inserts and M6 screws, and the total cost is only $21 – nearly a quarter of a commercial version’s price.

M6 Screws and Brass Inserts

Lab Rax Dimensions & Compatibility

There is no strict standard for 10-inch racks, but Lab Rax follows the most commonly accepted dimensions.

It uses the standard 44.45mm rack unit spacing that is used on larger 19-inch racks, with holes 236.525mm apart and a usable width of 222mm between posts. This makes it compatible with most commercially available 10-inch hardware.

I opted to use M6 screws over 10-32 screws because they are easier to find in Australia, Asia, and Europe. Lab Rax is designed to use M6x10mm screws both for securing the racks and assembling the frame, so you don’t need to buy a bunch of different screw sizes.

Update: I have now put together a bolt-together version that used standard nuts instead of brass inserts. This is compatable with M6 and #10-32 hardware.

Customing Lab Rax

One of the best things about Lab Rax is its customizability! Being 3D printed, you can choose from a wide range of filament colors. I’ve used PETG for durability and heat resistance, but PLA works fine for setups with minimal heat, like a few Raspberry Pis and a small networking switch.

Lab Rax Empty Rack

For the two sides, top and bottom panels, you can either 3D print them to match or contrast the frame or cut them from 3mm acrylic or plywood. This allows for clear or tinted window panels or even stylish wooden accents.

Printing Out The Components

I printed all the parts using the Bambulab A1 Combo, which has a 256mm x 256mm print bed. A full 5U frame and side panels prints across 10 plates in about 26 hours.

Download the 3D print files

Download the additional sizing options

Download the Bolt Together Version (M6 and #10-32 Compatable)

This includes;

  • Four vertical posts, printed in a set of four.
  • Four edge pieces, two handles, and four feet.
    • The feet can also be printed separately in TPU for vibration dampening if you’re running fans or harddrives in your rack.
  • Four individual horizontal pieces: These only fit diagonally on the bed, so they need to be printed individually, but they print quite quickly—about 1.5 hours each.
  • Four individual panels, a set for the two sides, and a set for the top and bottom. The top can be printed with a fan cutout for a 120mm fan.

The next section has a full bill of materials to ensure that you have the right quantities.

A1 Printing Vertical Posts

Using the AMS Lite on the A1, you can print in multiple colors to further customise your rack. You can add coloured accent layers, like I’ve done on the vent and fan panels, or add text labels to identify rack components.

I also tested two styles of side panels: a set of 3D-printed panels in grey on my first rack and a set of laser-cut 3mm tinted acrylic panels on my second rack. I personally prefer the acrylic panels for a sleek look.

Laser Cutting Acrylic Panels

Bill of Materials

Now that we’ve had a look at the design and 3D print requirements, here is a full Bill of Materials to help out with ensuring that you have all of the components you need to build your Lab Rax frame;

Item NoDescriptionQuantity
1M6x10mm Button Head Screw24
2M6 Brass Insert (8mm OD, 4mm Length)24
3M6 Brass Inserts (To Mount Equipment)6 per rack unit (U)
4Vertical Post4
5
Horizontal Edge (Either Solid Or Vented)
4
6Edge4
7Handle2
8Foot4
9Side Panel2
10Top Panel1
11Bottom Panel1

Assembling Lab Rax

Lab Rax is assembled using M6x10mm screws and brass inserts. Each of the four posts and four edge pieces need two brass inserts, which are melted into place using a soldering iron. There are also brass inserts in the top and bottom of the edge pieces to mount the handles and feet onto.

There is the option of either using nuts on the back of the M6 screws to secure the racks or you can add brass inserts to the vertical posts so that they can just be tightened from the front, sort of like a captive nut used on a 19″ rack. I made my first up to use nuts and the second one I’ll make up using brass inserts.

With those melted into place we can start assembling the base.

Two of the side edge pieces and two horizontal pieces are assembled around the 3D printed or acrylic base panel, with a single screw at each joint. I’ve used solid horizontal pieces around the base, and I’ll use the vented ones at the top. These are also interchangeable so you can use any combination you’d prefer.

We can then add the four vertical posts, again requiring a single screw at each joint.

With the vertical posts as guides, we can slide the two 3D printed or acrylic side panels into place.

Sliding Side Panels Into Place

Then add the top two horizontal pieces.

We can add the top panel into the gap and close it up with the last two edge pieces.

To finish the rack off, we can add the two handles to the top and the four feet to the bottom. These also use the same hole pattern, so you can put handles on the bottom as a stand if you’d like to or feet on the top to stack two racks together.

And that’s the basic rack complete.

Expanding and Customizing the Rack

I mentioned earlier that you can configure the rack to any number of rack units from 1U to 10U and reuse most of the parts. The only parts that need to be swapped out or added to are the four vertical posts and the two side panels.

Model Files For Extension Side Panels & Joiners

If we reprint the 5U posts as smaller sections, we can make up a 3U rack and if we combine the 3U posts with the 5U posts using the designed joiners then we can make up an 8U rack.

If you aren’t using two of the same length posts then it’s a good idea to put the side panels in the opposite way around to the posts so that the joints don’t line up as this gives it a bit more rigidity.

3D Printable 10″ Rack Accessories

To populate the rack, I designed several accessories:

As I find new hardware to add to my rack, I’ll continue to add to the accessory collection. I’m also open to suggestions or request, so leave a comment down below if you have a particular requirement.

Final Thoughts On My Lab Rax Project

So that’s an overview of my Lab Rax project – a modular, fully 3D printable homelab solution that you can customise to fit your needs. If you’re interested in building one yourself, I’ve put all of the Lab Rax system components and the racks and trays shown in this video up on Makerworld.

I’d love to hear your feedback! Let me know if there are any features you’d like to see added or if you’d be interested in a 10-32 screw version. And if you build your own, tag me on social media or drop a comment on Makerworld or my blog – I’d love to see your creations!

This Tiny 3D-Printed Gaming PC Actually Runs Counter-Strike!

This tiny gaming PC is smaller than a can of Coke, runs Windows 11, and can even play Counter-Strike 2! While this might not be the most practical gaming setup, the Radxa X4 is an impressive single-board computer (SBC) for its size and has plenty of potential.

Here’s my video of the build, read on for the write-up;

What You Need To Build Your Own N100 Mini Gaming PC

Tools & Equipment Used:

Some of the above parts are affiliate links. By purchasing products through the above links, you’ll be supporting this channel, at no additional cost to you.

What Is the Radxa X4?

The Radxa X4 is a single-board computer powered by an Intel N100 CPU. It’s nearly the same size as a Raspberry Pi 5, with the only difference being a slight step out where the GPIO pins are located.

The N100 processor features four efficiency cores that run up to 3.4GHz, with integrated Intel UHD graphics capable of reaching 750MHz.

Radxa X4 Unoboxed

It is available in a range of RAM and storage options. This particular version of the Radxa X4 comes with 8GB of LPDDR5 RAM and 64GB of onboard eMMC storage, though I’m using it with a Sabrent Rocket NVMe drive as the boot drive for additional performance.

Sabrent Rocket NVMe Drive

Connectivity wise, it’s got a 2.5G Ethernet port, WiFi 6, three USB 3.0 ports and one USB 2.0 port.

USB and 2.5G Ethernet Ports

In terms of raw hardware, the Radxa X4 significantly outperforms the Raspberry Pi 5 while remaining quite affordable. I paid $90 for this 8GB version, which is just $10 more than the 8GB Pi 5, and it includes the 64GB of eMMC storage (which is a $9 add-on).

As I showed earlier, it’s even got a 40-pin GPIO header which is powered by an onboard RP2040 chip, so you can tinker with electronics projects with it too. This is conveniently mountable through the adjacent pushbutton.

RP2040 Chip Powering GPIO Pins

Cooling Challenges On The Radxa X4

Unfortunately, it’s not all rainbows. While the X4 has excellent features, it does come with a fairly significant issue – cooling. The N100 processor gets quite hot, and on the Radxa X4 it is on the bottom of the board, which doesn’t help!

N100 CPU

They did this because it doesn’t fit in among all of the ports on the top of the board, but we all know hot air rises, so having the heatsink underneath the board is not the best place for it. It also makes it clumsy to use because the assembly is either going to be resting on the heatsink on a desk, or if the heatsink is at the top, then the board is upside down.

The board is upside down in the Radxa X4’s official heatsink case, which makes it difficult to access things like the GPIO pins.

Official Radxa X4 Case

I’m going to hopefully help out with the cooling issue by mounting it on its side.

I also needed to find a suitable heatsink for it, which was a challenge in itself. Traditional CPU coolers are too large for the board, and Raspberry Pi coolers don’t fit the X4’s mounting arrangement. I ended up purchasing a 40mm square northbridge heatsink from AliExpress, which looked like it could do the job.

Heatsink Install On N100 Processor

Custom 3D Printable Case Design For The Radxa X4 and Monitor

Now, obviously, I couldn’t just leave the board exposed, so I designed a custom 3D-printed case using Fusion360. The goal was to give it a full-sized gaming PC aesthetic while keeping it functional.

N100 Mini PC Case Design

I also designed a monitor stand that holds a 7.9″ Waveshare display to look like a scale ultra-wide monitor to compliment the mini gaming PC.

Monitor Stand Designed Too

The case has a clear acrylic side panel to keep the internals visible and a clear panel on the front as a kind of fan guard that allows airflow into the case down the sides.

Two 40mm fans provide cooling to the CPU, blowing across the heatsink and out of vents on the back of the case. The heatsink is held in place with some custom brackets that I’ll cut from clear acrylic as well.

With the Radxa X4 positioned vertically, we need a way to bring the ports out to the back and for that I’ve used a Waveshare port adaptor that is meant to be used with the Pi 5. The ports on the X4 are the same, so it works on both.

To complete the gaming PC look, I also scaled down a version of an RTX3080 that I previously built a Pi 4 into. This will be attached to the back side of the port adaptor.

Adding RTX3080 Print Into Case

Printing the Case with the Bambu Lab A1 Combo

To print the case, Bambu Lab have sent me their A1 Combo to try out.

Bambulab A1 Combo

I’ve been using their X1C and P1S for the past year and a half, and compared to my old desk full of Ender 3s and spare parts, the upgrade has been a game-changer. These two printers are significantly faster and more reliable than my old printers.

Bambulab P1S and X1C

The A1 series is Bambu Lab’s entry-level printer lineup, with the A1 Mini priced at $239 and the A1 Combo (with AMS Lite for multi-color printing) at $529.

Bambulab A1 With AMS Lite

The A1 is incredibly easy to use; it loads the filament automatically, calibrates itself and does automatic bed levelling before every print. It even monitors the belt tensions and will notify you if a belt needs adjustment.

The AMS Lite is a stripped-down version of the AMS, the main difference being that it is not enclosed. This means you can’t store filament that absorbs moisture like PETG on it long-term, but it otherwise offers the same functionality.

I opened the case and monitor stand up across two beds in Bambu Studio. I’ve coloured the Radxa logo on the back of the case in blue to match the heatsink.

N100 Mini PC Radxa Logo Coloured

I then sliced the plates and sent them to the A1.

Sliced For Printing

I printed the case in metallic PLA, which came out great. The quality and speed of the prints are impressive for a traditional bed-slinger printer.

With the case and monitor stand complete, we can move on to the graphics cards. Because it is so small, and I’d like to try to get the text to come out, I’m going to swap nozzles on the A1 over to a 0.2mm nozzle. This is also an improvement over the P1 and X1 printers, which involve quite a bit of effort to swap nozzles. The whole hot-end on the A1 is held in place by a single clip, so it’s a quick process to swap nozzles over. It would be great if they were able to put an RFID tag onto the hot-ends on their printers so that the printer automatically knows what the nozzle size is.

I really like how the GPU came out. The text on the side is readable, although the white doesn’t show up as clearly as I hoped, and there is a step in the side where the text is. It looks like too much filament is extruded in this area, so it probably needs a bit of dialing in. But the text on top is clear, and the heatsink fins came out looking great!

The assembled GPU looks amazingly detailed for its size.

Multicolour printing produces quite a lot of waste, but if you’re smart about the layout and print order, you can minimise it. Try not to have different colours span across too many layers.

Multicolour Print Filament Waste

Next, I need to cut out the clear components. These are all cut from a sheet of 2mm clear acrylic.

Laser Cutting Acrylic Components

Assembling The Radxa X4 Mini PC Case

To assemble the mini PC, we need to start by installing some brass inserts in the body of the case. These are melted into place using a soldering iron. We’ve got M2.5 brass inserts for the Radxa X4 and adaptor to be mounted onto and then some M3 inserts for the two fans and the side panel.

Next, we can mount the fans onto the front of the case. These are each secured by two M3x8mm button head screws from the inside.

Six M2.5x6mm brass standoffs go into the brass inserts to mount the Radxa X4 and adaptor onto.

6mm Standoff To Mount X4 Onto

We can then plug the port adaptor into the Radxa X4 and install it into the case. I’ve made up an extension for the fans to plug both into a single set of 5V pins with some extra length to allow them to be plugged into the GPIO pins before the board is installed in the case.

The adaptor is then held in place with some M2.5 x 6mm button head screws.

Radxa X4 and Port Adaptor Installed In Case

We can apply some thermal paste to the CPU, and the heatsink can be positioned over the X4using the acrylic brackets. The whole assembly is then clamped down with some M2.5 x 8mm button head screws. Be careful not to overtighten the screws or you might break the acrylic arms.

Next, let’s attach the GPU to the adaptor, which I’m just going to do with some double-sided tape.

We can then install the front and side panel.

The front panel is glued into place with some super glue and the side panel is held in place with two M3x8mm button head screws.

And that’s the case complete, now we just need to finish off the monitor.

Side Panel Complete

The display holder attaches to the monitor stand with two M3 x 8mm button head screws and then the display holder screws onto the back of the display with four M2.5 x 12mm button head screws.

The monitor is powered by a single USB cable so we can plug that and an HDMI cable into the Radxa X4, and add a mini keyboard and mouse to finish it off.

Now The Big Question: Can We Game On It?

N100 Computer Running Windows 11

Technically yes. It runs Counter-Strike 2 on low settings and gets about 20-30fps at 720p. It’s not a pleasant experience, even with a proper mouse, it’s almost impossible to press more than one key on the keyboard at a time, and the crosshair is about the size of a human hair, so aiming isn’t easy either.

I did manage to get a couple of kills, though!

But for a PC that is the same size as a Pi 5, I think that’s quite impressive.

N100 Based Mini PC

Other Use Cases For The Radxa X4

Obviously, the Radxa X4 is not built to game on, but its form factor and features leave it with a lot of potential for other use cases like;

  • Home automation
  • Media server applications
  • Retro gaming
  • Tiny workstation setups
  • Low-power home servers

It only draws 17-20W under load during gaming with the monitor attached, making it an excellent option for an energy-efficient mini PC.

Power Consumption Is Less Than 20W While Gaming

Final Thoughts On The Mini Gaming PC Build

The Radxa X4 is a powerful and affordable single-board computer with plenty of possibilities. While gaming performance is limited, its low power consumption, form factor, and expandability make it an excellent choice for home projects.

I’ve put the enclosure up on Bambulab’s Makerworld so you can print your own if you’d like to. Take a look at the Bambulab A1 and A1 Combo if you’re thinking about getting started with 3D printing. The A1 is a great budget-friendly option, and you’ll actually spend your time printing rather than repairing the printer!

What do you think of my Radxa X4 gaming PC? Could you see yourself using it for a home project? Let me know in the comments section!