Home Blog Page 6

The New Geekom IT13 Mini PC is Awesome with an External GPU

Today we’re going to see if we can game on the new Geekom IT13 mini PC. This mini PC is powered by a 13th Gen Intel Core i9 13900H with 14 cores – 6 performance cores running at up to 5.4Ghz and 8 efficiency cores running at up to 4.1Ghz. It has 32GB of DDR4 RAM running at 3200Mhz and a 2TB NVMe SSD, so while not the latest generation of components it should still be a fairly powerful mini PC.

Where To Buy The Geekom IT13

The Geekom IT13 is currently available from their official web store or on Amazon in the following countries;

I’ve also used the below components for this project;

Unboxing & First Look At The Geekom IT13 Mini PC

The Geekom IT13 Mini PC comes in a black branded box and is fairly well protected. The PC is at the top as you open the box and the manuals and cables are beneath it.

In the box, you get the Geekom IT13 mini PC, a 120W power adaptor, HDMI cable and vesa mount.

Geekom IT13 Box Contents

Graphics are likely to be the bottleneck when gaming as we’ll be relying on integrated Intel Iris Xe graphics, but we’ll see how this performs.

Taking a look around the PC, on the front we’ve got two USB 3.2 gen 2 ports, a 3.5mm audio port and the power button.

IT13 Front IO

The sides are mainly just ventilation holes but we do have a full size SD card slot on the right-hand side.

SD Card Slot

On the back, we’ve got the main set of IO, including the DC input, two HDMI 2.0 ports and two USB 4 ports. So you can connect up to four displays, two 4k displays through HDMI and two 8k displays through USB 4. We’ve also got a 2.5G Ethernet port in the middle as well as one USB 3.2 gen 2 port and one USB 2.0 port. Adding to connectivity, internally we’ve got WiFi 6e and Bluetooth 5.2.

IT13 Rear IO

First boot & Initial Performance Tests

Next, let’s get it booted up. I’m pleased to say that the Geekom IT13 comes with a fresh install of Windows 11 Pro and it doesn’t have any pre-installed bloatware, which is good to see.

Geekom IT13 First Boot

If we open up the performance monitor, we can see our CPU is a 13th Gen i9, we’ve got 16GB of RAM running at 3200Mhz, the 2TB SSD is showing up and the GPU is the integrated GPU with shared memory.

Next, I want to run two benchmarks, Furmark to test the GPU and thermals and CPU Z to test the CPU.

Running the 1080p Furmark benchmark, under full load, the IT13’s fan does get quite loud. I’ve provided a clip of the fan noise in my Youtube video. The smaller cooler also probably doesn’t have enough thermal capacity to handle a sustained full load indefinitely.

IT13 Fan Noise

On completion, we get a score of 2,336 and an average over three tests of 2,338. This is not great but is fair for a PC that is relying on integrated graphics.

Next, let’s open up CPU Z. Here we can see a bit more information than we could in the performance monitor but it all looks as expected.

CPU Z CPU Details

Running a CPU benchmark, similar to the Furmark benchmark, the fan ramps up quite quickly. The score does also drop on consecutive tests and under a sustained load so it looks like the cooling solution is fine for a small base load and for short spikes in load but doesn’t handle a full sustained load for a long period of time. We’ll look at this a bit closer when we open it up.

CPU Z Benchmark Running

Over three tests we get an average multithread score of 7,618, which is pretty good for the Geekom IT13’s low-power CPU.

Now that we’ve done some benchmarking, let’s try gaming on it. I’m going to open up Counterstrike and see how it performs.

Counterstrike 2 Running On Integrated Graphics

We’re not off to a good start, on the Home Screen we’re already at a dismal 9-10 fps. This is with the graphics set to “Very High” but the integrated GPU is really struggling.

In the game, the performance is oddly a little better but still hovers around 10-15 fps. I guess technically I could play like this but it gives me a headache after a few minutes and it’s almost impossible to aim at anything.

In Game Graphics Performance

With the graphics set down to “Low” we get over 90 fps, which is much more playable. It looks terrible, but at least we can now participate in the game.

On “Medium” settings there is a fair balance between playability and appearance. I feel like you wouldn’t be disappointed playing on these settings given that the Geekom IT13 can fit into your pocket.

In Game Graphics Performance Medium

But I don’t want to leave it at that, let’s open it up and see what’s on the inside and what we can do to improve the GPU performance.

Opening Up The Geekom IT13

I think the best place to start is by removing the screws at the bottom.

Screws To Remove Bottom Panel

Under the bottom cover, we’ve got a bay for a 2.5” drive.

2.5 Drive Bay

On the motherboard, we’ve got a 2TB Lexar NVMe drive and two sticks of DDR4 RAM. We’ve also got an M.2 SATA port. They claim that the Geekom IT13 is user-friendly to upgrade and it certainly looks that way. You could easily swap out the RAM, replace the NVMe drive or add additional storage through the second M.2 port or 2.5″ drive bay.

Internal Motherboard & Components

I presume we’ll need to remove the screws on the top to get the motherboard out and I want to take a look at the cooling solution so let’s get that done.

Top Screws To Remove Fan

Under the fan, the heatsink has a very small contact area with the CPU so I wonder if trying to replace the thermal paste with some better quality paste will make any improvement.

CPU Cooling Solution

With the heatsink removed, the thermal paste looks like it is applied evenly but looks a little dry so I’m going to try clean it off with some alcohol and then use better quality thermal paste on it.

After re-applying the thermal paste, I think that’s about all we can do to the cooling setup without replacing it.

Cooling Solution Being Reinstalled

Next, I’m going to try a bit of a hack job. I’ve got a small M.2 adaptor that’ll plug into the port that the NVME drive is in. If we swap that out then this adaptor allows us to use an Oculink cable to plug in an external GPU.

The adaptor is a bit small so I’ve 3d printed another adaptor for the adaptor so that it’ll fit into the same slot.

This now allows us to use a GPU which will dramatically improve gaming performance but we don’t have a boot drive anymore. If I had an M.2 SATA drive I could plug that into this port, but I don’t, so I’m going to instead use the SATA port on the 2.5” bay to add a 2.5” SSD.

Crucial 2.5 SATA SSD

If I put the drive into place over the motherboard then it’s going to block access to the Oculink port so I’m going to remove the drive from its enclosure as well and this will make the whole build more compact.

And that’s the hardware complete and ready for a second round of tests.

SSD Plugged Into IT13

Designing & 3D Printing A New Case For The Geekom IT13

I obviously can’t put the computer back into the Geekom IT13 case as the Oculink port would be facing the bottom and there isn’t a cutout for it. So, rather than have a Frankenstein mix of computer parts on my desk, I’ve designed and 3D printed a new case for it.

New Enclosure Designed In Fusion360

I printed it out of copper, black and blue PLA. I initially wanted to print the case on it’s side to reduce the number of supports required but this then required a large number of filament changes to get the copper and black colour scheme. I rather printed the case in the vertical orientation which significantly reduced the number of filament changes and the associated print time.

This case stands the Geekom IT13 upright and allows easy access to the Oculink port on one side. It’s also got space to mount the SSD and has a lot of airflow on both sides through the hexagon mesh for cooling.

It’s probably difficult to tell on camera but this computer is tiny. It is even dwarfed by my recent mini-ITX computer build which I thought was quite small.

Geekom IT13 Size Compared to Mini ITX Computer

Testing My Modifications To The Geekom IT13

Next, let’s get it booted up and then see what kind of performance we get from it with the new thermal paste, new SSD and the external GPU. With the Oculink cover removed, we can plug our external GPU in.

External GPU Plugged Into Geekom IT13

I can’t tell much difference in the boot time with the SATA SSD instead of the NVMe drive, but honestly I’m just happy that this setup actually boots.

Boot Time Doesn't Seem To Be Very Different

Opening up Task Manager, we can now see our Radeon RX 6600 GPU connected.

GPU Now Showing Up As Radeon RX6600

In CPU-Z we can see the same, but I’m really interested to see if the thermal paste makes any difference to the CPU benchmark figures. So let’s try that.

CPU Z Benchmark Running On IT13 with GPU

It still seemed to thermal throttle but it felt like it took a bit longer for the fans to spin up this time around. Again, you can hear the fans running in my Youtube video.

IT13 Enclsoure With External GPU

After a few seconds, the result was 7,756 and an average of three tests was 7,749. So we got a little over 100 extra points. This is only a bit over a 1% improvement so probably not worth removing the heatsink for if you pick one up, but I think it was worth trying out.

Next, let’s try Furmark and see what the new external GPU does.

Even a few seconds in, the external GPU is obliterating our previous score. We’re getting significantly better performance with a new average of 123 fps.

Over three tests I got an average score of 7,411 – which is over three times better than what we got with the integrated GPU.

Furmark Results

Lastly, let’s see if we can do better than 10 fps in Counterstrike.

With graphics set to “Very High” we’re now getting around 110-120fps in the home screen. This is already an order of magnitude better than what we got with the integrated graphics.

Counterstrike 2 Performance With External GPU

In-game is even better, we now get around 180-200fps.

Final Thoughts On The Geekom IT13

I knew that adding an external GPU would give us a big improvement, but I didn’t expect it to be an improvement of almost 13 times the original fps. I guess that’s what happens when your GPU is bigger than the computer.

New 3D Printed Enclosure With GPU

I think this is a really cool little PC. It’s ultra-portable when you need it to be. You can just unplug the GPU and it’ll revert back to the integrated graphics if you need to take it somewhere, but you’ve still got the power of a dedicated GPU at home when you need it. The base Geekom IT13 is a really powerful mini PC that’ll tackle a wide range of workloads, it’s upgradable in future, and you can even add a GPU to it to significantly improve gaming performance if you really want to but it’ll handle mid-tier games on medium 1080p settings without any issues.

Check out Geekom’s web store to get your own IT13. Let me know what you think of it and my case design for it in the comments section below.

Geekom IT13 With 3D Printed Enclosure

Pi 5 Desktop Case For Pineberry HatDrive!

Today we’re going to be assembling a 3D-printed case for the new Raspberry Pi 5 and Pineberry’s HatDrive! This is an adaptation of my standard desktop case for the Raspberry Pi 5, with adjustments made for the top and bottom hat versions of the HatDrive! This case also includes an adaptor so that you can still use the power button on the back of the Pi 5.

What You Need To Assemble Your Case

If Building HatDrive! Top:

  • Case Kit (3D Printed Parts & Screws) HatDrive! Top – Buy Here
  • 2230 NVMe Drive – Buy Here
  • Raspberry Pi 5 Active Cooler – Buy Here
  • 40mm 5V Fan – Buy Here

If Building HatDrive! Bottom:

  • Case Kit (3D Printed Parts & Screws) HatDrive! Bottom – Buy Here
  • Ice Tower Cooler (for the Pi 5) – Buy Here
  • 2280 NVMe Drive – Buy Here
  • Or Alternate Cooling Solution Below
  • Raspberry Pi 5 Active Cooler – Buy Here
  • 40mm 5V Fan – Buy Here

Ensure that you get the Ice Tower cooler for the Raspberry Pi 5, the cooler for the Pi 4 will not fit.

Assembling The Raspberry Pi 5 HatDrive! Case

To start, we need to install the M2.5x6mm brass standoffs that come with the case kit on the bottom of the case. These are installed with the male thread facing upwards into the case and are each held in place with an M2.5 button head screw through the base of the case.

HatDrive! Top Installation

If you are using a top-mounted HatDrive!, the next step is to install your Raspberry Pi. Position the Pi onto the standoffs and secure it with three M2.5 brass standoffs (female to female) that came with the HatDrive.

Don’t install a standoff on the hole nearest to the power port, this is where the button adaptor will go.

Pi 5 Secured With Brass Standoffs On Three Points

Next, install the button adaptor. Guide the adaptor into position from the inside of the case through the larger SD card slot area. Then move it across into the narrower button slot area and over the threads on the standoff.

Position Button Adaptor Over Corner Screw Hole

Screw the fourth standoff through the button adaptor and onto the brass standoff. This will now hold the button adaptor in place but still allow the power button to be pressed.

Hold Button Adaptor In Place With Standoff

Press your Pi Active cooler into place with the two included plastic studs, these go through the holes in the Pi’s PCB. Remember to add the thermal pad or remove the film from the included thermal pad first.

Plug the fan into the fan port between the GPIO pins and the USB ports.

Press Pi5 Active Cooler Into Place

Next, install your NVME SSD onto your HatDrive! I’m using a Sabrent Rocket drive on mine, Pineberry also have a list of compatible drives that have been tested on their website.

Next, add the GPIO extensions through the HatDrive if you’re using them for an accessory like a second fan.

Add GPIO Extensions To Hat Drive

Add your HatDrive with SSD installed, plugging in the PCIe cable into the Pi first. The tab on the connector can be pushed down to secure the cable through the microSD card slot. Likewise, to release it, the tab can be pushed up through the slot as well.

Secure the HatDrive! with the screws included with it.

Install Hat Drive And Secure

HatDrive! Bottom Installation

If you are using a bottom-mounted HatDrive!, the first step is to install your NVME SSD onto your HatDrive! I’m using a Sabrent Rocket drive on mine, Pineberry also have a list of compatible drives that have been tested on their website.

Place it onto the brass standoffs and then use the female-to-female brass standoffs supplied with the HatDrive! to hold it in place. Next place the Raspberry Pi on top of the HatDrive! and secure it with three of the M2.5x7mm brass standoffs that came with the Ice Tower cooler. Don’t install a standoff on the hole nearest to the power port, this is where the button adaptor will go.

Plug the PCIe cable into the Pi. The tab on the connector can be pushed down to secure the cable through the microSD card slot. Likewise, to release it, the tab can be pushed up through the slot as well.

Next, we can position the button adaptor over the remaining mount. Slide the button adaptor into position through the microSD card slot at the back of the case in the orientation shown below. It should go in easily – do not force it passed the LED or button as you may damage them. If you feel resistance, rather try to remove and reposition it until it slides into place without interfering with the surrounding components.

Button Adaptor In Position

Now we can install our Ice Tower cooler. Before we install it, we need to remove the fan by removing the four M3 screws in the corners. We’re going to be installing the fan on the side panel.

Remove Fan From Ice Tower Cooler

Remember to add the thermal pad to the CPU before putting the cooler into place. Secure the cooler with three M2.5x6mm screws that are supplied with the cooler (I’ve used thumb screws in the below image), one into each of the brass standoffs. Again leave the button adaptor unsecured for this step.

Install Pi & Ice Tower Cooler

Now use the M2.5x12mm button head screw that was supplied with the case kit to hold the button adaptor in place. You’ll need to add the small black spacer (shown in red below) between the button adaptor and the leg of the Ice Tower cooler as well.

Do not overtighten the screw as you need the button adaptor to be able to move to push and release the button. You should be able to feel the button press and release easily through the button adaptor.

Fan & Side Cover Installation

Install the fan onto the side cover with its included screws or rubber mounts.

If you are using the fan from an Ice Tower cooler, we’re going to use the same method that I used on my other case designs where the screws do not go all the way through to the back of the fan. We instead press the M3 nuts into the front of the fan and the screws then hold these in place against the side panel.

It is easiest to press these into place by placing the nuts onto a flat surface and then pushing each pocket in the corner of the fan down onto the nut. The nut is in position when it is flush with the face of the fan.

Press Nuts Into Fan Pockets

Then plug the fan into your Raspberry Pi’s GPIO pins before screwing the side panel into place.

Close up the case with the two side panels and four M3x8mm button head screws on each side.

Your case is now complete and ready to run. Follow Pineberry’s documentation for instructions on booting your Pi from the NVME drive.

Can I Design & Print A Mini ITX Computer With One Charge Of The Jackery Solar Generator 2000 Plus?

Jackery recently asked if I’d like to try out their new Solar Generator 2000 Plus portable power station. It’s got some great features like 3000W continuous output and a 2042Wh capacity. I’ve done a full review on it if you’d like to check that out for some more of the technical specs and my thoughts on it – full review. The Solar Generator 2000 Plus is a kit that is made up of the Explorer 2000 Plus portable power station and a 100W SolarSaga solar panel.

The review got me thinking, could I design, 3D print, laser cut and assemble a Mini ITX computer using a single charge of the Explorer 2000 Plus? 2042Wh is a lot for a portable power station, but would that be enough to last when using my computer for a couple of hours worth of design time, possibly a full day of 3D printing and then to power the tools and computer through assembly and setup?

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

What You Need To Build Your Own Mini ITX Computer

Tool & Equipment Used:

Setting The Ground Rules

Before starting with the design, I need to set some ground rules for the project.

I’m going to be limited to a single charge of the Explorer 2000 Plus. I’ll charge it up at the beginning of the project and I can only use power from it to power any computer equipment, printers, tools or chargers that I need to get the mini ITX computer designed, printed, assembled and booted up.

Jackery Explorer 2000 Plus

I also can’t use previously stored power in battery-powered devices. If I have to use a battery-powered device like my laptop then I’ll drain it completely before starting and I’ll need to use the Explorer 2000 Plus to charge it as well.

Charging The Jackery Solar Generator 2000 Plus

To start, let’s get the power station charged up.

Jackery Ways To Charge

There are three ways to charge it, the fastest is going to be plugging it into mains power, which will fully charge it from empty in just 2 hours.

The second way is through solar power. This varies by how many panels you connect to it and how strong the sun is, but with 6 of their 100W panels, you can get it fully charged in just 5.5 hours.

The third is through a car’s 12V DC socket. This is the slowest option and will take around 20-22 hours to get it fully charged.

We’re heading into summer here and we have nice bright long days, so I’m going to use the solar option.

Jackery In Sun Charging

The SolarSaga 100 panel is a 100W foldable design that is IP65 waterproof and includes integrated USB ports for charging directly from the panel.

SolarSaga Panel IP65

I’ve got the panel hooked up to the Explorer 2000 Plus and it’s set up outside in full sun to charge. In the morning sun it’s outputting around 60-70W, by midday it was outputting around 83W. Even at 83W, it’s still going to be a while but that’s an improvement on the morning results and it’s essentially free energy.

After two days of charging, it’s now full and ready to start the challenge.

Solar Generator 2000 Fully Charged

Mini ITX PC Components Chosen For The Build

Next, let’s take a look at the components that I’ve chosen for the PC build.

MiniITX PC Build Components

I want this to be a compact but still reasonably powerful computer so I’ve gone with this ASRock B550M-ITX Mini ITX form factor motherboard.

ASRock B550M-ITX

For the processor, the Ryzen 5 5500 is a good balance between value for money and performance. It also doesn’t require a large amount of power so we can get away with a compact power supply. It also comes with a basic cooler to keep the cost down.

For graphics, since the Ryzen 5 5500 doesn’t have integrated graphics, I’ve got a dedicated Radeon RX 6600 GPU. This card also strikes a good balance between value for money and performance.

Lastly, I’ve got two 8GB sticks of DDR4 RAM and a 1TB NVME SSD. To power the computer I’ve got a 500W Silverstone TFX power supply.

This setup should be perfect to run most modern games at 1080P and reasonably high settings.

Designing The Mini ITX Computer Case

In terms of layout, I’m going to go with the power supply beneath the motherboard as it’s got a fan on the top and I’ll mount the GPU vertically on the back of the motherboard to save space. The GPU is quite big so is going to be the limiting factor in how compact we can get the case.

Let’s get started with the CAD design and for that, I’m going to use my Macbook which is now dead. So let’s plug it into a USB C port on the Explorer 2000 Plus and use that to charge and power it. My Macbook uses around 90W when charging up from dead but this should settle to under 10W once charged. Then we can open up Fusion360 to do the design.

I’m going to go with an almost square design that’ll just fit onto my 3D printer’s 256 x 256mm print bed. I drew inspiration from my Raspberry Pi mini desktop case design that I did a couple of years ago.

The main body of the mini ITX case will be a single part for rigidity. I’ll then laser-cut an acrylic panel for the middle which will be used to mount the motherboard and GPU. The side panels will each be removable with cutouts for the fans. I’m going to pattern the side panels with a hexagon mesh but I’ll do this with an infill trick in the slicer rather than try to do it in Fusion360. I also want to add some text cutouts to the side panels which I think will look pretty cool once the hexagon mesh is in place.

MiniITX Case Partially Modelled

Halfway through the design I’ve used about 5% of the capacity, which is a bit less than I was expecting.

To make the front panel more appealing, I’ve added an insert that will have the same hexagon mesh pattern as the sides and there’s a cutout for the power button as well.

The back has cutouts for the power supply, motherboard IO shield and the GPU. The GPU mounting arrangement is a little bit unconventional as the case already takes up the whole print bed, so there is a small bracket that will need to be screwed onto the back of the case during assembly. I’ve also added some legs that screw onto the underside of the case.

MiniITX Case Complete

And that’s the mini ITX computer design complete. We’ve used 9% of the total charge, which is about 184Wh. That leaves quite a lot for printing and laser cutting but as with most projects, there is a strong possibility that I’ll need to come back and make tweaks to the model. I may even have to reprint parts of it at a later stage.

Jackery Battery Status After Modelling

Slicing The Mini ITX Case For 3D Printing

With the design done, we need to export the model files for the components and then open them up in the slicer software. I’m using Bambu slicer and I’m going to use black PLA for the body of the case and red PLA for the sides, legs and front accent.

As I mentioned before, the case and side panels only just fit onto my print bed. On the Bambulab P1S, we need to make some modifications to the G-code and use a 3D printed adaptor to block off the cutting arm to be able to use the full bed.

Bambu Slicer Before 3D Printing

With all of the slicing done, we’ve now got 86% of the capacity available for printing and laser cutting, so let’s get started.

Jackery Status After Slicing

Making Up The Case Components

My P1S 3D printer uses a lot of power to warm up – just under 1000W. This will drop down to about 150 to 200W once warm and will remain at this level for the duration of the print.

3D Printer Runing On Jackery Solar Generator 2000

While the printer is running, I’m going to use the second AC output on the Explorer 2000 to power my laser cutter. We’ll use this to cut out the acrylic internal panel to mount the motherboard and GPU onto. I’m cutting this panel from a piece of 3mm grey tinted acrylic. I’ve included a 3D printable version in the design files if you don’t have a laser cutter but acrylic works well as a backing plate because it’s quite rigid.

Laser Cutting Centre Panel

The laser uses about 500W, which is added to the 150 to 200W that the 3D printer is already using. The laser is only running for a very short period so it won’t make much difference to the remaining capacity.

With the panel cut, we can move back to finishing off the 3D printing.

After a full day of 3D printing, all of the components are printed out. We’re now down to just 44% capacity. That’s quite a lot left to get through for what we still need to do, but that’s if we don’t have to re-print anything. I hope the parts all fit together properly and that the PC components fit into the case!

To complete the case components, we need to add a couple of M3 brass inserts into the main body of the case. To melt these into place I’m using a soldering iron with a brass insert tip and this too is running off the Explorer 2000.

We also need to add two to each of these graphics card support brackets.

Melting Inserts Into Brackets

We need four on each side to mount the side panels onto, four to hold the acrylic panel in the middle and three to hold the graphics card at the back.

Assembling The Mini ITX Computer

The front grill is press-fitted into place and we can add a couple of drops of superglue to secure it. I didn’t want to put any screws through it as it doesn’t need to be removable.

In keeping with the rules, I charged my USB C screwdriver on the power station, so that’s ready to go.

Charging USB C Screwdriver

I’m going to add some M3x6mm nylon standoffs to the acrylic centre panel before I install it to mount the motherboard onto. You could use brass standoffs as an alternative, but I like nylon’s black appearance and we won’t have to worry about shorting components if they come loose.

Nylon Standoffs On Centre Panel

We can then install the acrylic centre panel with some M3x8mm button head screws.

Centre Panel Installed

Next, we can assemble and add our motherboard.

First, let’s install the processor and heatsink. The heatsink comes with thermal compound pre-applied, so we don’t need to add any onto the CPU.

Then we can add our RAM to the two RAM slots, and add our SSD.

We can then push our faceplate into the case cutout and mount the motherboard on the standoffs, securing it with some M3 nylon screws.

Before we add in the power supply, we need to install the legs and add the riser cable for the GPU. The legs are held in place with some M3x12mm button head screws and M3 nuts which go through some rubber feet for vibration isolation. The head of the M3 button head screw sits in the recess in the base of the case and the nut goes on the underside of each foot.

The riser cable plugs into the PCIe slot and then runs under the centre panel and to the GPU side of the case.

GPU Riser Cable Installed On Case

The power supply goes in underneath the motherboard and is held in place with four included screws at the back.

Problems…

With the motherboard and power supply in place, the graphics card gets mounted on the opposite side.

Riser Cable Plugged Into GPU

At this stage, I found my first issue. I hadn’t considered that the PCIe riser cable has quite a large plug on it and this makes the depth of the card a lot more than what I had allowed for. Even if I remove part of the centre panel, there isn’t even enough room between the card and the motherboard for this size plug.

I ordered a second one with a straight connector instead of a 90-degree one. This improved the depth issue but was then too wide for the space in the case. I removed the plastic shroud around the PCB joints and this allowed just enough room for it to fit into the case. This obviously puts strain on the soldered joints, which is not ideal, but I don’t plan on moving the computer around much so it shouldn’t be an issue.

I’m going to leave it like this in my build as changing the card position would mean having to reprint all of the case components and I’m pretty sure I don’t have enough power left for that. The best solution would be to find a more compact 90-degree riser and allow for a cutout in the centre panel behind the motherboard for some additional clearance.

Installing GPU In Case

The card is held in place with a few brackets. The main one at the back is secured with two M3x16mm screws and then the card is screwed onto the bracket with M3x8mm screws. Then the one at the top clamps the card with another M3x16mm screw.

I was going to put this inside support in place with some M3x8mm screws and have the GPU rest on it. But I’m rather going to use these holes to zip-tie the GPU to pull it down into the case.

GPU Held Into Place

We can also plug our power supply into it.

Plug Power Into GPU

It’s a tight fit, the graphics card only just makes it into the case but I like that it’s a nice compact build.

GPU Installed In Case

Lastly, let’s add the power button to the front of the case. I’ve pre-soldered leads to it and we can plug them into the motherboard pins.

Power Button Installed

Now we can plug the power supply connections into the motherboard and close it up.

Plugging Power Supply Into Motherboard

The side panels are also both held in place with some M3 button head screws. The graphics card side aligns really well with the fans but it looks like my guess on the motherboard side was a little off.

I’m going to tweak that by a few millimetres and get it printed again with my remaining charge, I’ve got 39% left and these panels used less than 10% each to print so I think that’s worthwhile.

Jackery Charge Before Additional Panel

The new panel is now made up and we’ve only used an additional 7% so I’m really happy with that. It looks like it lines up perfectly this time.

Assembly Of The Mini ITX PC Is Complete

With the side panels in place, the assembly of the mini ITX computer is now complete and I think it has come out looking great!

Setting Up & Testing The Computer

Now we need to set up the BIOS and install windows. I’ll do that with the computer running off the Explorer 2000 as well. In the BIOS, we can see we’ve got our Ryzen 5 processor detected as well as our two 8GB sticks of RAM and we can see our 1TB SSD.

We’ve got 32% remaining and I’m drawing about 50W with the computer and monitor running off it but it is essentially at idle without an OS running.

Power Draw In BIOS

With Windows installed on the mini ITX computer, let’s try running Furmark at 1080P.

I get a score of 7691, with a maximum GPU temperature of 57 degrees and a total system power draw of about 160-170W. So there’s definitely a lot of room for overclocking. I ran the test two more times and still got an average score of around 7700 and the GPU temperature increased to a maximum of 64 degrees.

Running Counterstrike 2 at 1080P with all settings on Very High, we get between 150 and 200 fps. This is pretty good for this size computer. The power draw is also a little under 180W.

Final Thoughts On The Project & Jackery Solar Generator 2000 Plus

So I managed to design, print, assemble and configure a mini ITX computer using a single charge of the Solar Generator 2000 Plus. I even had 17% to spare, and better yet, the charge was free using solar power.

Ryzen Side Panel On Mini ITX PC

Check out Jackery’s web store if you’re interested in getting your own Solar Generator 2000 Plus kit. I think they’re really useful to have around the house or to take on day trips or camping trips for portable power. It’s quiet and clean, and power is essentially free with the solar panel.

Jackery In Sun Charging

Let me know what you think of the computer build in the comments section below. Let me know if you have a go at printing and building your own mini ITX PC as well. I’ve tried to keep the design generic enough that you’ll be able to use different components if you’d like to. I’ve included solid side panels as an option if you use a different cooler or GPU so that you don’t have the fan cutouts in the wrong places.

My Raspberry Pi 5 Case Has A Wrap-around Window

I’ve adapted the case with a wrap-around window that I made last year to fit the new Raspberry Pi 5. This new design includes modifications to the port cutouts since the USB and Ethernet ports have been swapped around and they’ve removed the audio jack. A welcome feature is the addition of a power/shutdown button at the back of the board and I’ve added an adaptor to make it possible to press this button from the side of the case. The adaptor also runs past the status LED and partially lights up, making it easier to see.

What You Need For This Build

  • Case Kit (3D Printed Parts & Screws) – Buy Here
  • Raspberry Pi 5 – Buy Here
  • MicroSD Card – Buy Here
  • Ice Tower Cooler (for the Pi 5) – Buy Here
  • Or Alternate Cooling Solution Below
  • 40mm 5V Fan – Buy Here
  • Aluminium Heatsink – Buy Here

Ensure that you get the Ice Tower cooler for the Raspberry Pi 5, the cooler for the Pi 4 will not fit.

Raspberry Pi 5 and Ice Tower Cooler

How To Assemble The Pi 5 Window Case

Let’s start by installing the M2.5x6mm brass standoffs to mount the Pi onto. We’re going to use the four M2.5x6mm standoffs that are supplied with the kit. Don’t use the ones with the Ice Tower assembly as these are often M2.5x7mm standoffs which are too high for the port cutouts on the front and sides. Secure each standoff with an M2.5 nut on the bottom.

Brass Standoffs Installed In Case Bottom

Next, we can install our Raspberry Pi 5 on the standoffs. This is held in place with three M2.5x7mm standoffs that come with the Ice Tower cooler kit. We do not need to install a standoff on the mount closest to the power port as this is going to be used for the button adaptor. Leave this hole empty for now.

Raspberry Pi Installed

In place of the fourth standoff, we can install the button adaptor and the spacer. I’ve coloured the spacer green in the image below so that it is easier to see, yours will match the colour of your case. The hole in the adaptor should be positioned over the hole in the Pi and the brass standoff below with the smaller arm protruding through the hole in the side of the case. The spacer then goes above the adaptor to make up the additional height required for the Ice Tower cooler.

Button Adaptor Positioned

We can then install the Ice Tower cooler on the Raspberry Pi 5. Before we do so, remove the fan from the cooler by removing the four M2 screws in the corners. We’re going to be mounting this fan onto the side panel of the case.

Ice Tower Cooler

Remember to add the thermal pad to the CPU before installing the cooler on the Pi 5.

Installing Ice Tower Cooler

Secure the Ice Tower with three M2.5x6mm screws that are supplied with the case kit, one into each of the brass standoffs. Use the M2.5x12mm screw from the case kit to hold the fourth cooler arm, spacer and button adaptor in place. The spacer goes between the button adaptor and the leg of the Ice Tower cooler.

Ice Tower Cooler And Adaptor Installed

Don’t over-tighten this screw, the button adaptor needs to be able to move a little to press and release the button.

Button Adaptor Installed

Mounting the fan onto the side panel is our next step. Using the same approach that I’ve utilized in my previous case designs, we won’t have the screws extend entirely through to the rear of the fan. Instead, we’ll press the M3 nuts into the front of the fan, and the screws will secure them in position against the side panel.

It is easiest to press these into place by placing the nuts onto a flat surface and then pushing each pocket in the corner of the fan down onto the nut. The nut is in position when it is flush with the face of the fan.

Nuts Installed In Fan

The fan can then be mounted onto the side panel using either the M3 screws that held the fan onto the Ice Tower cooler or the M3x8mm button head screws supplied with the kit. The ones supplied with the kit will give the case a more uniform appearance as they match the side panel screws.

Position the fan cable on the bottom left when looking at the fan as shown below. This allows it to be as close to the fan port on the Pi 5 as possible.

Before installing the side panel, now is a good time to flash your operating system to your microSD card and insert it into the Pi. Once the side panel is installed, you’ll no longer have access to this slot.

Fan Installed On Side Panel

Slide the side panel into place in the retaining lip along the two vertical edges. Plug the fan into the fan port on the Pi 5 while you do so.

We can then put the top cover on and secure it with three M3x8mm button head screws.

Top Cover Installed and Secured with Screws

And that’s the case complete. You can now plug in your peripherals and press the power button to boot it up.

Raspberry Pi 5 Split Case Button Adaptor

Enjoy your new Raspberry Pi 5 Case!

Raspberry Pi 5 Desktop Case

Today we’re going to be assembling a 3D-printed case for the new Raspberry Pi 5. This case is a redesign of my popular case for a Raspberry Pi 4, with adaptations to accommodate the new port layout and the power/shutdown button at the back. Let me know what you think of it in the comments section below.

What You Need To Assemble Your Case

  • Case Kit (3D Printed Parts & Screws) – Buy Here
  • Raspberry Pi 5 – Buy Here
  • MicroSD Card – Buy Here
  • Ice Tower Cooler (for the Pi 5) – Buy Here
  • Or Alternate Cooling Solution Below
  • 40mm 5V Fan – Buy Here
  • Aluminium Heatsink – Buy Here

Ensure that you get the Ice Tower cooler for the Raspberry Pi 5, the cooler for the Pi 4 will not fit.

Raspberry Pi 5 and Ice Tower Cooler

Assembling The Raspberry Pi 5 Desktop Case

To start we need to install the front ventilation grill. This is simply pressed into place from the inside of the case with the smaller face facing outward. Because of the orientation of the print, it is best to put the right-hand edge (when looking at the front of the case) into position first and then push the left-hand edge into position until it snaps into place.

Front Vent Panel

The press fit should keep the panel in place in most instances but if you’d like to make it a bit more secure, you can add a few drops of superglue or CA glue to the inside edge.

Next, let’s install the brass standoffs to mount the Pi onto. We’re going to use the four M2.5x6mm standoffs that are supplied with the kit. Don’t use the ones with the Ice Tower assembly as these are often M2.5x7mm standoffs which are too high for the port cutouts on the front and sides.

Brass Standoffs Installed

Secure each standoff with an M2.5 nut on the bottom. It can be quite fiddly to hold these in place while tightening them if you don’t have small fingers, a pair of needle nose pliers help with this step.

Nuts On The Back Of Brass Standoffs

Now we can install our Raspberry Pi 5 on the standoffs. This is held in place with three M2.5x7mm standoffs that come with the Ice Tower cooler kit. We do not need to install a standoff on the mount closest to the power port as this is going to be used for the button adaptor. Leave this hole empty for now.

Install Raspberry Pi

Next, we can position the button adaptor over the remaining mount. Slide the button adaptor into position through the slot at the back of the case in the orientation shown below. It should go in easily – do not force it passed the LED or button as you may damage them. If you feel resistance, rather try to remove and reposition it until it slides into place without interfering with the surrounding components.

Now we can install our Ice Tower cooler. Before we install it, we need to remove the fan by removing the four M3 screws in the corners. We’re going to be installing the fan on the side panel.

Remember to add the thermal pad to the CPU before putting the cooler into place. Secure the cooler with three M2.5x6mm screws that are supplied with the cooler, one into each of the brass standoffs. Again leave the button adaptor unsecured for this step.

Ice Tower And Cooling Pad

Now use the M2.5x12mm button head screw that was supplied with the case kit to hold the button adaptor in place. You’ll need to add the small coloured spacer between the button adaptor and the leg of the Ice Tower cooler as well.

Do not overtighten the screw as you need the button adaptor to be able to move to push and release the button. You should be able to feel the button press and release easily through the button adaptor.

Button Adaptor Side View

Next, we can mount the fan onto the side panel. We’re going to use the same method that I used on my other case designs where the screws do not go all the way through to the back of the fan. We instead press the M3 nuts into the front of the fan and the screws then hold these in place against the side panel.

Nuts Installed In Fan

It is easiest to press these into place by placing the nuts onto a flat surface and then pushing each pocket in the corner of the fan down onto the nut. The nut is in position when it is flush with the face of the fan.

The fan can then be mounted onto the side panel using either the M3 screws that held the fan onto the Ice Tower cooler or the M3x8mm button head screws supplied with the kit. The ones supplied with the kit will give the case a more uniform appearance as they match the side panel screws.

Position the fan cable on the bottom left when looking at the fan as shown below. This allows it to be as close to the fan port on the Pi 5 as possible.

Fan Installed On Side Panel

Next secure the two side panels on the body of the case with 8 M3x8mm screws, four for each side panel. Remember to plug the fan into the fan port on the Pi 5 before closing up the side panel.

And that’s the case complete. You can now flash your operating system to your microSD card and insert it into the Pi through the slot at the back.

Button Adaptor

Enjoy your new Raspberry Pi 5 Desktop Case!

My Graphics Card Is Now My Computer

I think we can all agree that the size of modern graphics cards has gotten a little bit out of control. It’s not uncommon for the graphics card to be the deciding factor in how big your computer case needs to be. So that got me thinking, what if instead of putting a graphics card into a computer, I rather put a computer into a graphics card? Well at least into a graphics card enclosure.

I kind of forgot about this idea for a few months and then the other day while I was browsing Printables, I found this cool money box that is designed to look like an RTX 3080.

RTX3080 Money Box

It’s obviously partially hollow, so that’s perfect to put a small single-board computer into. So I’m going to be using this model as a basis to build an RTX3080 all-in-one computer.

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

What You Need For This Build

Tools & Equipment Used

Making Modifications To The Enclosure

I downloaded the model files and then imported them into TinkerCAD to make the modifications required to fit a Raspberry Pi into it.

The money box model is scaled down from a full-size RTX3080, so you need to scale it up to 142% to be size for size. This exceeds my print bed size by a few millimetres, so I scaled it up to 130%.

I oriented the Raspberry Pi in the back end of the RTX3080 so that the HDMI ports are in the same general area as the original display ports. We also have a power input here, which, unlike the RTX3080, can run on a USB-C power adaptor rather than requiring a small power station.

Editing RTX3080 Money Box

The USB and Ethernet ports then extend out the side of the GPU, which I think looks pretty cool.

I then added supports and holes to accommodate some brass inserts in the base to mount the Raspberry Pi.

Adding Cutouts For Raspberry Pi

And lastly, we need to think about cooling. I initially wanted to use an actual fan in place of the 3D-printed fan covers but the fan on the Pi’s side of the card is underneath the Pi, which means that the GPU would need to be lifted off the desk to get airflow to it. It also gets in the way of mounting the Pi. So I decided to instead mount a more appropriately sized 30mm fan onto the inside of the housing and have it draw air in through the fin stack on the side. This required a fan cutout to be added to the side and a few cutaways to the surrounding heatsink parts to make some space for it.

Adding Cutout For Fan

With that done, we’ve got the 3D model complete and ready for printing.

3D Model For RTX3080 Pi Case

I also noticed that another user had made fans for the RTX3080 money box model that were a bit more accurate to the original design. So I went with this fan design for the top fan. The bottom one I left as the original as it was better suited to holding the supports that were needed for the brass inserts to mount the Pi onto.

More Accurate RTX3080 Fan

3D Printing The RTX3080 Parts

I printed out the components using grey for the main body and black for the heatsinks, fans and backplate. I coloured the text in white so that it stands out better and looks a bit more like the original card too.

3D Printing The Components

I use PLA for most of my 3D printing, as I’ve used here, and I think the parts have come our really well – particularly the heatsinks!

3D Printed RTX3080 Components

Assembling The RTX3080 Pi Case

Now we can move on to installing the Pi into the enclosure.

Raspberry Pi 4B

First, we need to add some M2.5 brass inserts into the bottom fan piece. We just melt these into place using a soldering iron.

Next, we can add some M2.5 x 4mm brass standoffs to mount the Pi onto. I didn’t have 4mm ones so I’ve cut the top off some 6mm ones with a Dremel to shorten them.

Screwing Brass Standoffs Into Place

I’m not going to mount the Pi onto the standoffs until we have partially assembled the card, so let’s snap the components into place first.

We can push the bottom fan and heatsink pieces into place.

Then add the back plate and the top fan plate.

Pressing Top Fan Into Place

Before we add the side heatsinks, we need to mount the fan. This is just held in place with four M3 button head screws and is oriented to pull air into the enclosure.

Now we can mount the Pi on the brass standoffs and secure it with some M2.5 screws.

Before doing this, install your microSD card with your OS image flashed to it. I forgot about this and had to remove the Pi again as you’ll see later on.

Screwing Pi Into Place

Then plug the fan into 5V and GND. If you’ve got a fan with separate pins on the plug (mine is a combined double-pin plug) then you can plug the fan into GND and 3.3V instead and it’ll run quieter.

Pi Installed and Fan Connected

And lastly, having forgotten about the microSD card, we can remove the Pi again, add our card with the OS image and then put it back in and close up the top cover plate.

Then we need to snap the side heatsinks into place.

Pressing Side Heatsinks Into Place

And that’s my GPU computer complete, now let’s plug it in and try it out.

First Boot & Gaming On My RTX3080 Graphics Card

To boot up my RTX3080 graphic card computer, I need to add a power adaptor, plug in a monitor and add a keyboard and mouse.

Plugging RTX3080 Into Computer

The first boot takes a bit longer to work through but once it has booted up, you’ll then have a fully functional graphics card computer.

RTX3080 Pi Case Booted Up

I’m running Ubuntu on the Pi. This does seem to be a bit more resource-intensive than Raspberry Pi OS but still runs reasonably well. I’ve also overclocked the Pi to 2Ghz.

Pi Ubuntu System Performance

My graphics card computer has actually got a lot of benefits. It is still able to output 4K and it does so using just 3-4W, which is almost a hundred times less than a real 3080 would. I can even run it from a power bank.

Power Bank Power Consumption

It takes up a fraction of the desk space that a full-size desktop computer would.

It’s got no motherboard to fall out of during shipping or transport.

And I can still game on it, although granted the gaming quality and framerate is quite a bit lower than what you’d get from a 3080.

I tried the following games on the Pi;

  • The Battle For Wesnoth – Runs well and is easy to install and play.
  • Super Tux Kart – Very low FPS, not playable unless the Pi is significantly overclocked.
  • Doom – Runs well, a bit more involved to install and find levels for but easy to play.

Let me know what you think of my improved RTX 3080 gaming graphics card in the comments section below and if you have any suggestions on how I can further improve on it.

I Turned PET Bottles Into A 3D Printed Pi Case – PET Bottle Recycler Part 2

A few weeks ago I published a project on the controller that I designed for a PET bottle recycler that I’ve been working on. I’ve now completed the rest of the design and at the end of the project, I’m going to use it to turn a few old PET bottles into a new case for my Raspberry Pi.

PET2Print Fusion360 Design

Let me start by saying that the concept for a PET bottle recycler is not something that I came up with, there are a number of other designs (like the ReCreator 3D) for these recyclers available online already. I liked the concept but couldn’t really find one that suited my needs, so I decided to make my own.

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

What You Need To Make Your Own PET Bottle Recycler

Tools & Equipment Used

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

Designing The PET Bottle Recycler

There are four main elements to the PET bottle recycler, which I’ve named PET2Print.

PET2Print Completed

Starting from the bottle side, we’ve got a cutter that cuts the bottle into an even-width continuous strip.

Bottle Cutter Mechanism

Then we’ve got the hot-end which the strip is pulled through to partially melt and convert it into the size and shape for filament.

Hotender Pulltrusion Mechanism

Then there is the reel which pulls the filament through the system and stores it for printing.

Hotender Pulltrusion Mechanism

Lastly, we’ve got the controller on the front which controls the hot end temperature and the reeler motor.

PET2Print Controller

The device doesn’t fully melt the PET strip, it just softens it enough to be folded over into a cylindrical shape that is the same 1.75mm diameter as common 3D printer filament.

PET Filament Being Rolled To Filament Diameter

I started out by 3D modelling the design in Fusion360. I designed all of the 3D printable components and modelled some of the main bought-out elements to get the general shape and design right.

PET2Print Fusion360 Design 2

Then came a lot of 3D printing. I printed the parts out in PETG for added strength and I had to make adjustments and redesign some of the parts until I was happy with them.

3D Printed Parts For PET2Print

Assembling The PET2Print

With all of the parts printed, we can start assembling the PET bottle recycler. We’ll again start on the bottle side with the cutter.

Assembling The Bottle Cutter

There are two main 3D printed parts for the bottle cutter, the base which holds the cutting mechanism and bottle support, and then the guide which just keeps the strip in the same orientation through the cutting bearings and when it feeds into the hot end.

Bottle Cutter 3D Printed Parts

To join the two pieces, we need to add some M3 threaded brass inserts to the side of the base, which we’ll melt into place using a soldering iron.

Melting Brass Inserts Into 3D Printed Parts

Before we screw the guide into place, we need to add the cutting mechanism. This uses two 608 ball bearings to cut the filament. These are really cheap and easy to get as they’re the same size bearings that are used for skateboard wheels and fidget spinners.

To turn them into a cutter, we need to sharpen one face of each bearing by grinding it flat. I did this on a bench grinder to make sure they’re kept square. You can also use a sanding disc or grinding disc on a grinder.

608 Bearing One Face Ground Flat

We then need to epoxy two M8 studs that are approximately 60mm long into the base to mount the bearings on. You can cut the M8 threaded rod using a cutting disc on a grinder, a Dremel or a hacksaw.

M8 Studs Epoxied Into Place

While we’ve got some epoxy mixed up, I’m also going to epoxy the 8mm shaft into the reel holder to use later.

8mm Shaft Epoxied Into Place

Once the epoxy has cured, we can mount the bearings onto the studs.

We also need to add a metal strip underneath the bearings, this stops the bottle from quickly wearing out the printed base. The strip will need to be trimmed from a piece of aluminium flat bar so that it fits into the cavity in the holder.

Aluminium Strip To Protect Printed Part

A small washer is used under the first bearing. The bearing then goes onto it with its flattened or ground face up, so that it doesn’t rub on the base. A nut holds it in place. We then add a nut to the second stud, then the bearing with the ground face down, just at the right height to contact the face of the first. A second nut holds the second bearing firm against the first bearing and the nut below it.

We can then screw the guide onto the front of the base with some M3 x 8mm button head screws.

Filament Guide Installed On Cutter

To finish it off, let’s also add a M8 rod for the PET bottle stand. You can make this from the leftover length of M8 threaded rod, it needs to be long enough to hold the tallest bottle that you’ll use on the PET 2 Print (around 300-400mm). This will hold the bottle upright to feed the end into the cutter and it is held in place with a nut and washer on each side of the base.

Bottle Holder Installed On Cutter

And that’s the cutter complete and ready to be mounted onto the stand.

Assembling One Side Of The Stand

The stand consists of two 500mm lengths of 2020 aluminium v-slot extrusion and two sets of legs, one on each end. These are mounted with some M5 v-slot nuts and M5 x 10mm button head screws.

We can add one set of legs onto one end and then slide the cutter into position.

First Attempt At The Hot End

The hot end is a really simple part of the recycler, but it actually turned out to be one of the more tricky parts to get right. I’m going to skip through this initial design because there were a couple of things I didn’t think through when I designed it and it didn’t work.

First Attempt At Hotend

Because the nozzle is going to be over 200 degrees celsius, we need a way to stop the heat from reaching the 3D-printed plastic holder. I thought I could use the heat break on the current hot end assembly, but I overlooked the fact that this meant that the strip wouldn’t fit into it. So I was back to the drawing board shortly after finishing it.

Assembling The Reeler

Next let’s move on to the most complicated part of the recycler, the reeler. This is the part that is driven by a stepper motor to pull the filament through the cutter and hot end.

We’ll start by making up the reel.

The reel is something that I’ve changed quite a lot from the others I’ve seen online. On most other machines, the reel is fixed on both sides and you need to unwind the filament from the reel once it’s done. I wanted to avoid this, so I made the reel removable which makes it much easier to get the completed filament off of afterwards.

Reeler Components To Be Assembled

To finish the reel off, we need to melt some M2.5 threaded brass inserts into one half of the reel for the opposite end to screw onto. This is split to make it easier to 3D print without requiring supports.

We also need to add some inserts to the other end of the reel holder for the small catches that hold the reel in place while it is running.

Brass Inserts Melted Into Reel Holder

Then we can screw the reel parts together with some M2.5 x 6mm screws and the catches with some M2.5 x 12mm screws to finish them off.

Next let’s press another two 608 size bearings into the reel stand, one on each side. We’ll use an 8mm shaft as a guide to keep them aligned while pressing them into place.

Next, let’s mount the motor onto its holder using four M3 x 8mm button head screws.

Stepper Motor Installed On Holder

Then we can mount the base onto the top of the v-slot extrusion.

Reeler Base Installed On Extrusion

And the motor holder onto the underside.

Motor and Reeler Base Installed On Extrusion

The reel is driven by the motor through a GT2 belt and pulley system on the back.

Timing Belt Pulley System For Motor

So we can push the reel’s shaft through its base with a spacer between it and the bearing, then another spacer on the opposite side. We then add the 60-tooth pulley to finish it off and the grub screw holds it in place. A 30-tooth pulley is pushed onto the motor shaft, with a belt connecting the two. Once complete, the shaft on the reeler can be trimmed to be flush with the face of the 60-tooth pulley.

The belt is tensioned using the relative movement between the reel base and the motor holder, pulling them further apart puts more tension on the belt. This needs to be fairly well-tensioned but shouldn’t put enough stress on the components to bend or distort any of the 3D printed parts.

Completed Pulley Drive System

Assembling & Programming The Controller

Now that we’ve got the mechanical parts in place, we need to add the controller.

If you read my previous design and build of the controller, I ended that off by saying that I wanted to make it a bit more compact. It was designed as a shield for an Arduino UNO, but by using an Arduino Pro Mini, we can make it much smaller.

So I designed a new PCB that swapped the UNO out for a pro mini and brought the components a little closer together.

Schematic_Filament Recycler_2023-10-12
Arduino Pro Mini Controller PCB Design

PCBWay then made them up for me in the same colour scheme as my previous shield.

I soldered the components onto the PCB, starting with the smallest and working to the largest, with the Arduino going on last.

Soldering Components Into Place On PCB

I also 3D printed a housing for the controller, but before we put it into the housing we need to program it and set up the stepper motor driver’s current limit.

Installing PCB In Controller Housing

Programming The Arduino

To upload the code to the Pro Mini, we’ll need to use a USB programmer. We just plug this into the Pro Mini and then into the computer to upload the code to it.

Arduino Pro Mini USB Programmer

Make sure that you select the “Arduino Pro or Pro Mini” board type. Also check that you have the “Atmega328P (5V, 16MHz)” processor selected and that your programmer type is set to “USBasp”.

Arduino IDE Controller Code

The sketch is available from my GitHub repository so that people can make changes and improvements to it.

Setting The Stepper Motor Driver Current Limit

To set the current limit, we need to measure the driver’s reference voltage using a multimeter. I’m using my Pokit Pro multimeter with clamp leads.

Pokit Pro To Set Stepper Motor Driver Current Limit

We then adjust the limit using a screwdriver to turn the onboard potentiometer to suit the rated current of the motor, which in my case is the same as the maximum current limit for the driver. So I’m aiming for a reference voltage of exactly 1V.

Display Update Issue

After setting the driver’s current limit and attempting to run the motor, I found another issue. When running the stepper motor, it sounded like it was intermittently skipping steps or stopping and this seemed to get worse if I sped the motor up.

I put the Pokit Pro’s oscilloscope onto the output and found that the Arduino stopped pulsing the stepper motor driver for brief periods of time, which was causing the driver to stop turning the motor.

Arduino Stops Pulsing Driver For Brief Periods

In working through the code, it seems like this happened each time the display was being updated. It looks like the Arduino takes longer to update the display than the period of time between pulses. So it just stops pulsing the driver while it finishes updating the display, which is obviously not going to work when we need a consistent pulling force. I tried making the display loop faster but didn’t have any luck with this. In the end, I had to modify the code so that it no longer updates the display when the motor is running.

This does limit the feedback on the display during operation, but won’t affect the overall design or functionality. I’ll have to investigate whether I can make the display or portions of the display update more quickly in the future.

Stops Pulsing During Display Updates

In any case, we now get smooth pulses from the Arduino and a consistent motor speed.

Arduino Now Pulsing Driver Smoothly

Mounting The Controller

To finish off the enclosure, we first need to add some M3 threaded brass inserts into the bottom to screw the PCB to.

Melting Brass Inserts Into Case Housing

The PCB is then held in place with some M3 nylon standoffs which double up as a means to hold the top cover in place.

Nylon Standoffs To Hold PCB In Place

I’m glued the OLED display to the inside of the top cover with some hot glue and I’ll connect it to the PCB with a short ribbon cable.

OLED Display and Ribbon Cable

We can then screw our element and thermistor into the terminals, plug in the stepper motor and then close it up with some M3 x 8mm button head screws.

M3 Button Head Screws To Hold Cover In Place

A 3D-printed knob gets pushed onto the rotary push button and we can mount it onto the base.

With all the components in place, we can install the second set of legs to close off the ends of the extrusions.

Mounting Second Set Of Legs In Place

Second Attempt At The Hot End

Now that we’ve got the other parts working, let’s go back to the hot end. As mentioned earlier, the device makes filament by softening the strip and rolling it over in the hot end to form a cylinder. This means that the strip needs to start being heated right from the time it enters the hot end or it’ll be very difficult to pull through. So, I redesigned the hot end holder so that the strip passes through the holder and directly into the heat block without any restrictions from the heat break.

PET2Print Partially Completed

The nozzle is a standard 0.4mm nozzle, so we need to first drill that out to the filament diameter. We’re aiming for 1.75mm but the filament expands a little after it leaves the hot end, so we’ll drill it out using a 1/16″ drill bit, which is just under 1.6mm.

The back of the heat block has a small tapped hole for the heat break. We’re going to open this up with a tapered drill bit so that it is slightly larger than the strip width. The taper will then help to gently fold the edges over until we reach the nozzle diameter.

Tapered Drill Bit To Modify The Back Of The Hotend

We can then mount the heat block onto the holder. I’ve used some M3 x 40mm button head screws through the heat block and then nuts to hold it onto the plywood plates on each side of the 3D-printed holder. The plywood plates act as the heat break in this design and stop the screws from melting the plastic holder.

We can then re-attach the terminals and we’re ready to try it out.

Second Version Of Hotend Holder

Turning A PET Bottle Into Filament

To run the PET bottle recycler, we first select the target hot end temperature. I’ve found that 215°C to 220°C work well with my bottles. We can then select the motor speed, for which I use 22 to 25. These are just arbitrary units, they don’t relate to rpm or rotational speed. We can then turn the motor on or off, forward or in reverse, with the last menu item.

PET2Print Controller Running

Now we just need a PET bottle to turn into filament. To prepare a bottle, we first need to wash it out and then remove the label and residue as well as any date markings. I found that acetone works well for this. If you don’t remove the label residue, it’ll clog up the hot end and/or cause your printed layers to delaminate.

Cleaning Sticker Residue From Bottle

The bottle cutter works best with a smooth surface and most bottles are rippled in some way. You can smooth them out over some heat, like a stovetop, with a drop or two of water inside the bottle to pressurise it slightly. Be very careful when working with and opening the bottle as the hot air or steam can cause burns – it is best to use gloves.

We can then cut off the end of the bottle, cut a starter strip and feed it into the cutter.

We’ll need some needle nose pliers to pull the end of the strip through the hot end, which has now preheated to 220°C, and then onto the reel.

Using Needle Nose Pliers To Pull PET Strip Through

The reel has a small hole on one spoke which we can feed the end through to tie it off. You might need to keep a finger on the knot until there is tension on the filament to lock it into place.

Tie Off PET Strip On Reel

Finally, we can turn on the reeler motor to continue pulling the filament through the hot end and onto the reel.

PET2Print Running To Convert Bottle To Filament

Now we just wait for it to turn the PET bottle into filament. You can also cut the bottle beforehand to reduce the load on the motor, you’ll then just feed the strip directly through to the hot end without the bearing cutter in place.

Test Prints With PET Bottle Filament

Once the bottle has been converted into filament, we can transfer it from the reel over to the 3D printer to try a print.

I started out by printing a benchy and calibration cube to see how they turn out. There is a bit of adjusting to do on the first few prints as the PET filament is not quite a solid 1.75mm section, it is hollow in the middle. I found that increasing the flow rate to about 135% gets good results. I printed with a bed temperature of 70°C and a hot end temperature of 260°C.

Once I had the settings right, I was actually pleasantly surprised by how well this filament prints. The calibration cube came out looking really good.

Calibration Cube Close Up

The benchy showed a few signs of stringing and a little under-extrusion in places but is also really good for homemade filament. It’s obviously not as consistent as factory-produced filament but it’s usable for home projects.

Benchy Close Up

3D Printing A PET Case For My Raspberry Pi

Once I was getting consistent printing results, I converted a few more bottles so that I could print a case for my Raspberry Pi.

3D Printer Filament Made On The PET2Print

This highlights one of the drawbacks of this process. You get about 6-7m of filament from a 1-litre bottle, but with the hollow centre and having to increase the flow rate to compensate for this, it gets used up quite a lot faster than the standard solid 1.75mm filament. It’s also messy to store on the filament holder as it doesn’t like being coiled up.

Filament Doesn't Stay On Holder Correctly

To print my standard Pi case with no supports, I need 25m of PET filament and this is with a really low infill density and only 2 walls. So I need to swap a new roll of filament onto the printer 5 times for a relatively small print. This is manageable if your printer has a filament runout sensor but it’s still a bit of a nuisance.

3D Print Settings Cura

The case body also came out surprisingly well with just a little stringing and again some under-extruded areas. With the partially transparent walls and infill visible, it’s not obvious.

3D Printed Pi Desktop Case Housing

I even used the coloured Mountain Dew bottle for the printed side panels as well.

Completed 3D Printed Pi Desktop Case

What do you think of the completed case? It’s really cool to think that this was once 5 Coke bottles and 2 Mountain Dew bottles. It also looks great in the dark as the RGB fan illuminates the body of the case.

Final Thoughts On The PET2Print

Overall I’m really happy with how my PET2Print recycler has come out. There are a couple of improvements I’d like to make to it, like getting the displayed temperature to be able to be updated while the motor is running, and perhaps designing a spool mount for precut bottle strips instead of the bottle cutter. It would also be helpful to be able to splice two lengths of PET filament together to avoid having to change the filament during a print but to date, it doesn’t look like anyone has found a reliable process for this.

Let me know what other suggestions you have to improve upon it in the comments section below. As mentioned earlier, I’ve put the code up on GitHub if you’d like to have a go at improving it – I’m sure there is a lot of room for improvement.

This Is A Great Mini Personal Server, The New ZimaBlade

Today we’re taking a look at the new ZimaBlade from a company called Ice Whale.

If you’ve been following my projects for a while then you may recall that I tested their original product the Zimaboard about a year ago. Well this is a new generation that aims to appeal to a broader audience because it is significantly cheaper, smaller and easier to use.

ZimaBlade vs ZimaBoard

The ZimaBlade has been designed to be a powerful, compact and energy-efficient personal server, with an x86 architecture and a host of IO. This time, they’ve packed the board into a stylish Cyberpunk style case with a clear window into the internals.

It is currently being funded on CrowdSupply, with their campaign set to complete in mid-October. They’ll then get straight into their first mass production run, with plans to start shipping completed units to backers in January 2024.

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

Where To Get The ZimaBlade

The ZimaBlade is currently being funded through CrowdSupply, take a look at their campaign below;

Equipment Used

Kit Options & First Look At The ZimaBlade

Like the ZimaBoard, the ZimaBlade comes in two processor options, a slower Celeron 3760 dual-core model and a faster Celeron 7700 quad-core model.

They are selling the ZimaBlade on CrowdSupply as part of a number of different kits, with the base kit dual-core model at $64 and the quad-core model at $96. So both are less than half of the price of the original ZimaBoard.

ZimaBlade Basic Kit

They then also offer an Advanced Kit for $128, which adds a power supply, display port adaptor and 16GB of DDR3 RAM to the standard quad-core kit. They’ve got a NAS kit for $144, which is the Advanced Kit with a dual 3.5” storage drive stand and a SATA Y Cable. To complete the line-up, they have a Cluster Kit for $392 which is essentially three Advanced Kits but also includes a storage drive stand and some Y Cables.

ZimaBlade NAS Kit

RAM is in the form of a SODIMM slot which is expandable up to 16GB. I like that it’s got the flexibility to customise and upgrade this as you need.

There is also 32GB of integrated eMMC storage.

The included case consists of three main parts. An injection moulded black frame, a transparent window and an aluminium base plate that doubles up as the passive heat sink for the CPU.

Ports & Interfaces On The ZimaBlade

ZimaBlade Overview

Taking a look around the board. Like with the ZimaBoard, we have dual SATA 3.0 ports on one side, which will each do 6Gbps, and they’ve got a shared power supply to the drives in the middle.

ZimaBlade SATA Port Side

On the opposite side, we have a miniDisplay port which supports 4K at 60hz, a Gigabit Ethernet port, a USB 3.0 port and then a USB C port which can be used for data, power or for another display.

ZimaBlade Opposite Port Side

Along the main side is one of my favourite features, a 4-lane PCIe 2.0 port which will do up to 2 Gb/s.

ZimaBlade PCIe 2.0 Port

This port allows you to really customise the ZimaBlade to suit your particular application. You could add a SATA or M.2 NVME adaptor to add storage to your ZimaBlade.

M.2 & SATA Expansion Cards

Or improve its networking abilities with a WiFi 6E adaptor, or a 2.5G or even a 10G Ethernet adaptor.

Or add additional USB ports if you need.

4 USB Ports Expansion Card

So that’s an overview of the hardware, next let’s get it booted up and take a look at the software.

First Boot & Operating System

The ZimaBlade, being x86 can run an extensive range of operating systems, but it comes preloaded with Ice Whale’s Debian-based software package called CasaOS.

CasaOS Default Operating System

This is essentially a Docker installation with an easy-to-use web interface, so it’s really easy to start deploying Docker images with very little configuration required.

With CasaOS installed by default, it is designed to run headless (without a monitor), so we can boot it up and then access it through a web dashboard on another computer. To do this we just need a network cable and the included power adaptor.

Booting Up The ZimaBlade

There is a tiny red power LED on the underside of the board but it is quite difficult to see through the case and the network port doesn’t have any activity LEDs on it. So it is a bit difficult to see whether the ZimaBlade is powered up.

ZimaBlade Running

We’ll give it a couple of minutes to boot up and we then need to find it’s IP address on our network so that we can access the web dashboard.

They have created an online tool called Find Zima which searches your local network to find connected Zimaboards or Zimablades. This doesn’t yet work on this early version of the ZimaBlade’s firmware but I was able to find the IP address of my ZimaBlade by looking at my network’s DHCP table.

We can then type the IP address into a web browser on a computer on the same network and create a login to CasaOS.

Using CasaOS & Installing Apps

Once we have created a login, we land on the CasaOS homepage. This has a few widgets installed by default which show the date and time, system stats, storage stats and network status in a bar on the left. On the right side, we then have the app area.

CasaOS Dashboard

They make it really easy for beginners as they have created their own App Store which has a range of a little over 50 ready-to-run docker images that have been pre-configured to run on the ZimaBlade.

CasaOS App Store

To start with, let’s go with setting up AdGuard Home first as a network-wide ad and tracker blocking service.

Installing Adguard Through CasaOS

It’s a one-click install and we can then access the AdGuard homepage by simply clicking on the App. You’ll still need to reconfigure your network’s DNS settings to get traffic flowing through it but it doesn’t get much simpler than this to get applications running.

Adguard Installed - Web Dashboard

There are loads of options for Apps to run on the ZimaBlade to truly customise your home server experience. You could build your own local networked file storage system or NAS after connecting some storage drives to the SATA ports.

Like I did with the ZimaBoard, using Plex, you can build your own media server to host your own media and avoid having to pay for subscription services.

Mini Plex Server Running On A Zima Board With A 480GB SSD

There are also a number of other apps available. For example, we can install a ChatGPT app.

ChatGPT Running On ZimaBlade

If this operating system is not for you, you are not locked into CasaOS. You can overwrite the operating system with your own OS install, and being x86 architecture, you’ve got a lot of options.

Running A Sysbench Benchmark

Performance-wise, we can test the ZimaBlade’s performance by running the Sysbench benchmark.

Sysbench CPU Benchmark

After three consecutive tests, I got an average score of 17,516.

So it is quite a lot more powerful than a Raspberry Pi 4, which would score around 2,000 but is not as powerful as a board running the 8-core Rockchip RK3588 processor which would score around 50,000.

Power Consumption

Lastly, let’s take a look at its power consumption. When I started this test, I found something a bit disappointing with the power adaptor. It is a USB-C style adaptor, but when you plug it into the power meter, you immediately get 12V out of it, even without a connected device.

Power Meter Without Connected Device

Without a connected device, the adaptor should be outputting 5V and it should only step this up when the connected device agrees on a higher voltage. I checked the adaptor and it also only had it’s 12V output identified.

USB Power Adaptor 12V

While this is fine for this particular application, having adaptors like this in existence around your home puts all of your other electronics at risk. You could very easily plug in a non Power Delivery, or lower voltage Power Delivery device like a smartphone and instantly destroy it’s power circuit. I really don’t like that these non-compliant adaptors are being made and I hope Ice Whale fix this in the final version of the product.

When idle, the ZimaBlade uses just under 2W, which is impressively low.

Power Meter Idle

When fully loaded this jumps up to around 6W. So even running fully loaded, this board uses less power than a small LED lightbulb.

Power Meter CPU 100%

Final Thoughts On The ZimaBlade

That’s my first look at the ZimaBlade. I quite liked the original ZimaBoard, especially the simplicity of the software and the inclusion of the PCIE port, so having the same features available in a much cheaper package is great.

ZimaBlade In Box

I really like that the ZimaBlade includes a case, so you don’t have to worry about spending more money to protect it. It would be nice to see them do something to better accommodate PCIe cards that are plugged into it as well, these currently look like afterthoughts when used with the case.

This is also a fantastic home server option for someone who is energy conscious, drawing only 2W most of the time it is on is not even going to be noticeable on your power bill. I’m looking forward to trying out some PCIE expansion cards to add functionality to my ZimaBlade home server in the future.

Expansion Cards For ZimaBlade

Let me know what projects you’re keen to try on the ZimaBlade in the comments section below, and let me know if you’ve tried any good apps available in CasaOS.

One Kit, 7+ Robot Options – UGOT Modular Robotics Kit!

Today we’re taking a look at a new modular robotics kit called UGOT. It’s been developed by a company called UBTECH, who already have quite a few products in the robotics space. They are particularly known for their humanoid robots like the UBTECH Walker and their educational kits, but they also have a number of commercial robots available as well.

The UGOT robotics kit is currently being launched on Kickstarter and I think it’s going to be quite a popular product.

7 Included Robots

UBTECH have sent me an early version of their UGOT kit. It’s an assortment of motors, joints, sensors and cables that connect to a central controller to build a number of different robots. At this stage, this kit includes the parts to build 7 different robots but from their website, they clearly plan on expanding this to include drone-style robots with a propeller kit and a two-legged walking robot.

You’re also not just limited to the robots that come with the kit, the entire system is wirelessly programmable through their online platform called uCode and you can drag and drop blocks to add functionality to existing robots or even create your own robots from scratch.

uCode Drag and Drop Programming

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

Where To Get The UGOT Kit?

The kit is currently being crowd-funded through Kickstarter, so is available through their funding page;

UGOT Kit (Kickstarter) – Back Here

What Makes Up The UGOT Kit

As mentioned above, the kit is an assortment of motors, joints, sensors and cables that connect to a central controller to build a number of different robots. All of the components come individually protected in three foam trays.

Let’s start by taking a look at the controller or brain of the robot. This is a computer with a range of ports around the edges. It’s got a connector for the battery on the back and a 2.4” LCD touch display on the front.

It’s got a quad-core Arm Cortex-A55 CPU running at 1.8GHz, 4GB of LPDDR4 RAM and 32GB of EMMC storage. That is coupled with an integrated GPU, NPU and motion sensor system which includes a 3-axis accelerometer, 3-axis gyroscope and 3-axis geomagnetic sensor. It’s also got RGB LEDs, a 3 microphone array and a speaker.

To power the controller, we’ve got a 2600mAh 11.1V lithium-ion battery pack. This gives the system a run time of about 2.5 hours, depending on how many motors are being used.

UGOT Battery

To give the controller a sense of its surroundings, we’ve got an included 720P camera module and a distance sensor. Through software the camera can be used to recognise things like gestures, movements, signs and QR codes, and the distance sensor obviously measures the distance to surrounding objects.

Camera and Distance Sensor

To actuate the wheels and form the joints, we’ve got a few different motors. The blue ones are continuous rotation motors which are used for wheels and the orange ones are servo motors which are used to actuate leg and arm joints. These have higher torque and lower speed than the continuous motors and have position feedback through a magnetic encoder. There is also a set of motor dummy pieces that just act as fixed joints in the place of motors for specific robot configurations.

Three Motors

The last included actuator is a grabber for the end of a robot arm.

Robot Arm Gripper

Then we’ve got a number of moulded plastic arms, legs, joints and adaptors which allow you to connect the motors and sensors to the controller to build the actual robots.

Arms, Legs and Joint Pieces

These are quite well thought out. They lock into place around the motors to create quite robust builds. You can knock them around a bit and they still hold up well.

Lastly, we’ve got a pack of cables. These look to be USB-C style cables with a shroud around them and they connect the motors to the controller.

USB C Style Connecting Cables

The motors have two ports on them and are chainable, so you can pass commands through one motor to another and a few of the standard designs actually use this feature.

Motors Can Be Chained Together

Assembly Instructions & Programming UGOT

Now that we’ve seen what is included in the kit, let’s take a look at the software.

Assembling and programming each robot is done through uCode. This is an online tool that is also shared with their other educational platforms.

uCode Model Assembly Instructions

It gives you step-by-step instructions to assemble each robot in the form of a 3D model and parts list.

3D Model Assembly Instructions

Once the model is complete, it then takes you to a programming interface.

UGOT includes basic programs for each robot preloaded, so you don’t have to do any programming to get started. As a beginner, you can simply build the model you’d like and then run the program directly from the controller.

Model Selection On Controller

If you then want to add functionality or change the robot’s behaviour then you’ll do it through block coding or Python in uCode.

uCode Drag and Drop Programming Interface

I’ve tried building all of the included models and I’ve run the demo program for each of them. I really enjoyed how easily they go together. There is a bit of tinkering to get the first one assembled but once you learn how the joints and cables work, changing between robots is literally a 5 minute exercise.

Assembling A Test Robot

Let’s try to put together the wheel and legged robot and you can then see how the assembly process works.

All of the models start with this main body section, which we’re going to attach four servo motors to as well as a bracket for the front camera. We then add the base plate with some thumb screws to lock it into place.

Next, we add the battery and the controller. This is one thing that I’d like to see them improve upon, it would be great to have this body cage designed in a way that allows the battery to be swapped out without having to remove the controller. You can charge the battery when it is installed but it would allow you to keep working on your robot if you could just swap the battery out easily instead.

Next, we can plug in the cables for the motors.

Step 4 - Camer and Cables

We then add the leg system to each motor, with a continuous rotation motor on the end for the wheel.

With that complete we can do the same on the other side.

Step 7 - Opposite Side Legs

The robot is then complete and we can turn it on.

Powering On The Robot

We select the model that we’ve built and a program to run on it. The included program extends the legs and keeps the robot balancing.

Wheel and Legged Robot Program Selection

Now we need a way to control it. The sample kit that they sent me also includes a Bluetooth controller which can be used to wirelessly control each of the robot’s movements. UBTECH have advised that the actual kits will not include a controller but the robot will rather be able to be controlled through a mobile app.

UBTECH Control of UGOT Robot

So we can use the controller or app to raise or lower the body and to drive forwards, backwards or turn.

Trying Out The Other Included Robots

I have built and tried all of the included robots and found it quite easy to switch between them.

I think my two favourites are the one that I built as an example, called the wheel and legged robot, and the engineer vehicle.

Other UGOT Features

You can also add functionality to each robot using the drag-and-drop block coding platform. There is a really long list of powerful functions which include blocks for the particular robot style and blocks for the sensors.

720P Camera For Vision Projects

You can even use the included camera to recognise text, gestures, codes and colours to add features to your robots.

Testing The Robots Text Interpretation

Through uCode you can see a live feed of the camera on the robot and they plan to make this available through their mobile app as well, so you can use it as a FPV camera.

uCode Live Video Feed

Final Thoughts On The UGOT Platform

The final version of the kit will come in a neat layered box in two versions, but they will also be offering a hard plastic case that houses the three layered inserts as an upgrade option. So it should be quite a neat all-in-one kit.

UGOT Packaging

This is obviously an early pre-production set so I’d expect that the final product may have some changes or improvements but it looks like it has a lot of potential.

I really like the quality and robustness of the parts. The motors feel solidly built and all of the arms and legs are rigid and lock together well.

Other than the battery not being easy to swap out and a few minor software bugs like the model select button still being in Chinese when in English mode, it’s actually a surprisingly stable system for one that is still in pre-production.

Engineer Vehicle Lifting A Mandarin

As with the other crowd-funded products that I’ve reviewed, I’d like to finish off with a reminder that crowdfunded projects carry some level of risk and that there is no guarantee that the final product will live up to the promises made in the Kickstarter campaign. UBTECH is an established company with a good history of delivering robotics products and they’ve obviously completed their pre-production run, which has allowed me to demonstrate it. From what I have seen it certainly looks like they have put a lot of time into its development, and the platform is already usable, but that isn’t to say that the product is without risk – it is not yet a fully-fledged retail product.

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

Mixtile Blade 3 Test & Review

Today we’re going to be taking a look at the Blade 3, a new SBC from Mixtile which was successfully funded on Crowd Supply in June. The Blade 3 is based on the Rockchip RK3588 SOC (System on Chip).

Mixtile Blade 3 In Box

I’ve tested a couple of boards that run this RK3588 SOC recently, but this one has a trick up its sleeve. It’s designed to be stackable to make up compact clusters with a 4-lane PCIe Gen 3 interface between each board in the cluster.

Here’s my video of the Blade 3, read on for the written review;

Where To Get The Mixtile Blade 3?

From the Crowd Supply page, the Blade 3 with 4GB of RAM and 32GB of storage sells for $229 and the 16GB version with 128GB of storage sells for $369.

This does include a large passive heatsink pre-installed but even with the included storage as well, it is on the upper end for SBCs with this processor.

Equipment Used

Taking A Look Around The Board

The Blade 3 comes in a branded cardboard box and includes a large passive aluminium heatsink on the back. Also included in the box is a brief quickstart guide, but most of their documentation is available from their website.

It is in a Pico ITX form factor with the majority of its IO ports on one side. The processor is actually on the bottom of the board underneath the heatsink.

Removing Passive Heatsink

With it removed, in the centre we’ve got the Rockchip RK3588 processor.

This is an 8-core, 64-bit processor that consists of a 4-core Cortex A76 processor running at 2.4GHz and a 4-core Cortex A55 processor running at 1.8GHz. In addition to this, it’s got an Arm Mali G610 GPU.

Rockchip RK3588 SOC

Alongside the processor are the RAM chips, the Blade 3 supports up to 32GB of LPDDR4 RAM and above the processor is up to 256GB of eMMC storage. This is the version with 16GB of RAM and 128GB of storage.

Pico ITX Form Factor Design

Also on the bottom of the board is a CSI camera port.

On the top of the board, we’ve got the main IO along one side. From left to right, this includes dual 2.5G Ethernet ports, and two HDMI ports, the top one is an HDMI 2.1 output which supports up to 8K60 or 4K120 and the bottom one is an HDMI 2.0 input which supports up to 4K60. Alongside those are dual USB 3.2 Gen 1 type C ports which also each support Display Port 1.4. The port on the right also supports Power Delivery 2.0 at up to 20V and 3A.

Main Ports On One Side

Behind the ports is a microSD card slot and next to that is a mini-PCIe socket that supports PCIe Gen 2.1

MicroSD Card Slot

Alongside the mini-PCIe socket is a 30-pin GPIO header with a range of digital IO pins, I2C, SPI, USB 2.0, UART and I2S support. This roughly follows the same pin layout as a Raspberry Pi, albeit with a few pins missing.

GPIO Header

Next to this is the 4-lane PCIe Gen 3 interface in a U.2 port. This is the interface that makes the Blade 3 into a unique stackable design which would be great for building powerful clusters with a low latency interface between nodes. They say that you’ll be able to connect up to 75 Blade 3 SBCs together in 2U of rack space on a 19-inch chassis. With 75 Blade 3’s, that’s up to 600 processor cores and almost 2.5 terabytes of RAM.

It’s worth noting that at the time of writing this post, they have not yet released their full documentation around how this interface functions and I haven’t seen it working yet. They say that it will make use of a breakout board with two SFF-8643 interfaces, one PCIe A port and one PCIe B port. You’ll then chain the boards up by connecting B on the first to A on the second and so on.

They’ll also be releasing a 4-node cluster box that takes advantage of this interface to build a 4-node cluster with some integrated cooling fans.

The Blade 3’s Aluminium Case

Mixtile have also designed this pretty cool case for it. This protects the Blade 3 and allows you to turn it into a portable mini-computer. The case also comes in a similar branded cardboard box.

It’s made up of two parts which are both made from aluminium. The larger half of the case looks like it’s been machined from a single block. They also include some tools and an instruction sheet to install the board in the case.

Blade 3 Case Components Two Part Design

It’s also got a ventilation fan built into it with a small air outlet on the side. The ventilation fan actually cools the case and the case acts as a heat sink to the chip. It is a bit unconventional, but we’ll find out a bit later on how well this works.

Blade 3 Case Ventilation Port

The case also has a built-in breakout board to convert the U.2 port into an M.2 M-key port which allows you to install an M.2 NVME SSD as a boot or storage drive.

M.2 Adaptor For Storage or Boot Drive

You don’t actually use the included passive heatsink if you install it into the case as the case becomes the heatsink. I’m going to run the tests on the board and it’s heatsink only as the case is an optional accessory and I’ll try the case out towards the end to see how it handles the heat from the CPU.

Testing The Included Debian Image

The board comes preloaded with a custom Debian 11 image, so it’s ready to run right out of the box. Just plug in power and connect a monitor, keyboard and mouse.

Debian Preloaded On Flash Memory

There are a couple of other boot options, you can boot from eMMC storage, MicroSD card or SPI Flash memory. These are selectable via four dip switches alongside the GPIO header.

Dip Switches To Select Boot Media

These dip switches also allow you to enter maskROM mode to reflash the firmware. If none of them are selected then the CPU will automatically search through the boot options for any bootable media.

I did have some stability issues with the pre-installed Debian image. Mixtile have been routinely releasing updates to the image but it still seemed to crash every few minutes with my connected hardware even on the latest image. So, I ran the tests on the alternate Ubuntu image booting off a microSD card rather than eMMC storage.

Testing The Blade 3 On Ubuntu

I’m going to test the Blade 3 in the same way that I’ve tested other similar SBCs. We’ll first test some video playback at 1080P and 4K, then try running a Sysbench benchmark and finally we’ll take a look at power consumption.

Running Ubuntu For Testing

If we open up HTOP, we can see we have 8 processor cores listed, all relatively idle and then we’ve got our 16GB of RAM.

HTOP Indicating Processor Cores and RAM

Youtube Video Playback

First let’s try playing back a YouTube video in the default browser – Chromium. I’m going to do this first at 1080P and then at 4K.

We’ll set the display resolution to 1080P. Then let’s open up Chromium, then go to YouTube and then open up Big Buck Bunny. I’ll open up stats for nerds and we can then set the playback resolution to 1080P as well.

Opening Chromium For Youtube Playback

Video playback in the window was near perfect, with only a few dropped frames at the beginning.

Playing Back Video At 1080P

Playback performance was also really good running full screen.

Playing Back Video At 1080P

Next let’s step it up to 4K. I’m going to first adjust the monitor resolution to 4K and then reopen Chromium and Big Buck Bunny. This time we’ll set the playback resolution to 4K as well.

In 4K, playback started off fairly well, we dropped a few frames in the beginning but after a few seconds of playback, it was also near perfect.

Playing Back Video At 4K

Opening playback up to fullscreen, it still handled 4K very well. After about 4 minutes of playback, we had only lost a total of 178 frames, which is barely noticeable.

Playing Back Video Fullscreen At 4K

If we open up HTOP, we can see we’re at around 20-30% CPU utilisation on the first 4 cores, which is relatively low compared to the other RK3588 boards I’ve tested. This indicates that the board is likely correctly using hardware decoding for video playback.

4K Playback Resource Usage

Mixtile have not yet released an Android image for the Blade 3 although they do say that this is in progress and will eventually be released. This will likely be the best for 4K video playback performance when it is available.

Running The Sysbench CPU Benchmark

Next, let’s compare the performance of the Blade 3 with the Rock 5 B and Orange Pi 5 Plus by running the Sysbench CPU benchmark.

Sysbench Benchmark

After 10 seconds we have processed a little under 5,400 events per second and we get a total score of 54,004.

Sysbench Benchmark Results

Over three consecutive tests, the Mixtile Blade 3 managed an average score of 54,025.

For comparison, this is what the other similar boards that I have tested have managed over three consecutive tests;

The Blade 3’s performance is slightly higher than the other boards but could be because of the different OS being run as all of the others were tested on Debian. Out of interest I tried the test on Arabian and got slightly lower results, the average being around 53,495. So the results are definitely operating system dependent.

Sysbench Benchmark Results On Armbian

Overall, performance-wise, the Blade 3 is roughly on par or only slightly better than the Rock 5 Model B and the Orange Pi 5 Plus. This is to be expected running the same processor and similar hardware. It’s not a significant difference that you’d notice through day-to-day use.

Thermal Testing The Blade 3, With & Without The Case

The included heatsink does a fairly good job of keeping the Blade 3 passively cool. After playing back 4K video for around 15 minutes, the Blade 3’s CPU was at a little over 65 degrees and the surface of the Blade 3 was at 52 degrees.

Sysbench Benchmark Results On Armbian

I then tried playing back 4K video for around 20 minutes in the case and although the case does get quite warm, the CPU temperature was a bit lower than with the passive heatsink. The CPU stabilised around 55 degrees with the surface of the top of the case at 30 degrees and the bottom at 40 degrees.

Thermal Testing With Blade 3 Case

It’s worth mentioning that the room was at about 15 degrees for these tests, which is quite cold.

Power Consumption On The Blade 3

To measure the Blade 3’s power consumption, I used the meter on my power bank that supports Power Delivery.

This showed that the Blade 3 was actually running on Power Delivery, running at 15V. It runs at about 4.5W when idle and this goes up to 7-7.5W when loaded.

Some Identified Issues With The Blade 3

Aside from the instability of the Debian image, there are three things that I found a bit annoying on the Blade 3;

  1. The case is nice and compact and protects the Blade 3 well but the fan is really loud. If you’re not using their operating system then the fan just runs at full speed continuously which is quite noisy on a desk.
  2. The second is not having a standard USB type A port, so you have to use a dongle to plug in a keyboard or mouse. The USB type C ports are also a bit too close to use a compact dongle. If you squeeze one in, it puts pressure on the power cable alongside it, so it’s better to use a dongle or adaptor with a lead.
  3. The third is the location of the microSD card slot. It is positioned so that the card has to be inserted from the inside and the surrounding ports and surface mount components make it difficult to actually get your fingers onto it to plug it in or remove it. I found myself fumbling to plug it in a number of times before it seated correctly.

Final Thoughts On The Blade 3

Overall I think that while the Blade 3 is expensive, they have used good quality components. They’ve used Micron RAM chips and SanDisk flash storage. Unfortunately, as with most of these boards, the software lets it down. At least this is possible to work on and fix and hopefully Mixtile will dedicate their attention to getting a stable release of Debian out.

I’d like to finish off with a reminder that crowdfunded projects carry some level of risk and that there is no guarantee that the final product will live up to the expectations of the project. Mixtile look like they have a capable team, they have a track record in electronics manufacturing and they’ve obviously completed their pre-production run, which has allowed me to have one. But that isn’t to say that this product is without risk – it is not yet a fully-fledged retail product.

That said, I definitely look forward to seeing what its clustering capabilities look like in future!

Let me know what you think of the Mixtile Blade 3 in the comments section below and if there is anything else that you’d like me to try on it.