Home Blog Page 7

Meet Unihiker – A Linux Computer & Microcontroller In One

The Unihiker is a new single-board computer from DFRobot which is a bit different to the ones that I usually take a look at on my blog.

DFRobot Unihiker

The Unihiker is designed to bridge the gap between a traditional single-board computer (SBC that runs an operating system like Linux, and a microcontroller like an Arduino. It’s actually got both of these onboard.

Single Board Computer And Microcontroller

It’s got a traditional CPU, memory and storage that runs Debian 10, and it’s coupled with a microcontroller that controls all of the IO, including the onboard sensors and the expansion ports. So it has the flexibility of an SBC, allowing programming and running programs directly from the device, but it also has the timing reliability and robustness of a dedicated microcontroller.

DFRobot Unihiker Back Rockchip

It’s also got an onboard 2.8″ touch display, built-in WiFi and Bluetooth and it’s equipped with a range of onboard sensors.

Here is my video review and testing of the Unihiker, read on for the written review:

Get The Unihiker & Parts For The Test Projects

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.

Taking A Look At The Unihiker’s Hardware

The Unihiker comes in an opaque plastic case along with an included USB C programming cable and a range of white connector cables to connect sensors and modules to. The Unihiker itself if packaged in a black bubble sleeve for additional protection within the case.

DFRobot Unihiker In Box

At the front is the 2.8″ touch display and along the top of the display is the light sensor and microphone.

On the back is the processor, which is an RK3308 64-bit, 4-core processor running at 1.2GHz. So it’s not exactly a powerhouse, but it’s plenty for what the Unihiker is designed to do. It’s got 512MB of DDR3 RAM and 16GB of onboard eMMC storage.

Unihiker Back Rockchip RK3308B

It is coupled with a Gigadevice RISC-based microcontroller running at 108Mhz which 64kB of Flash memory and 32kB of SRAM.

On the back is also a microSD card slot, a range of plugs to connect sensors and actuators to, as well as a buzzer, gyroscope and accelerometer.

Back Of Unihiker - Sensors and Chips

Along the edges, we’ve got two pushbuttons on the right-hand side and then a home button on the left. These are programmable, so they can be used to add functionality to your projects.

Buttons On Sides For Menus

Along the bottom is the edge connector. This is essentially an expansion connector that allows access to additional IO pins and interfaces. This connector follows the same format as the connector that is used on a Micro:bit, so I assume it would be compatible with most of the expansion boards available for that platform.

Microbit Pinout Is The Same As Unihiker

DFRobot also make a silicon case for the Unihiker which fits snugly around it while still allowing access to all of its ports and sensors. The case also comes with a removable protector for the edge connector at the bottom. You can get it in red or green as well if you don’t like black.

First Boot & Look At The Operating System

The Unihiker comes preloaded with a Debian-based operating system, so you just need to plug it into your computer or power source to boot.

Unihiker Booted Up

Once it has booted up, the buttons on the sides along with the touch display allow you to navigate through the menus to access documentation or tutorials, run programs directly from the device, connect the Unihiker to your network or make changes to settings.

Programming the Unihiker is done through a network connection with a few different options:

  • It can be directly attached to a computer through a USB cable and can then be accessed as an RNDIS device with a fixed IP address [10.1.2.3].
  • You can connect it to your WiFi network and then use a computer, tablet or even your mobile phone on the same network to program it.
  • You can create a hotspot on the Unihiker and connect to it directly from a computer, tablet or phone.
  • And if none of those options appeal to you, you can even plug a USB Ethernet adaptor into its USB port and connect it to your network via. Ethernet.

I’m going to go with the first option, so let’s plug the Unihiker into a computer and try to load a program onto it.

As mentioned earlier, if you connect the Unihiker to your computer via USB it can be programmed using its fixed IP address. We can also enter this address [10.1.2.3] into the browser on the computer that it is connected to and we can then access its local web service.

Web Dashboard To Access Tutorials and Documentation

From this page, we can access documentation and tutorials, toggle services on or off, configure its network connection and upload files to the device.

Web Dashboard To Turn On Services

We’re going to try to create a basic program to run on the Unihiker using the DFRobot programming package called Mind+.

Mind+ Block Coding Interface

Creating Our First Project

After starting a new blank project, we can add the Unihiker as an extension and then connect to it. Mind+ will then automatically establish the connection and update all of its required libraries.

We can then either use the drag-and-drop block coding interface or the Python code area to make up a program. Let’s start by creating a program to show the level of light detected by the onboard sensor. We do this by just dragging function blocks in from the toolbar on the left and we can then make any necessary adjustments to parameters.

Light Sensor Program

Then we click on run to upload the code to the Unihiker and execute it.

Light Sensor Program Running

So that was really easy to get working and it took less than a minute to program. If we hold the Unihiker up to different levels of light, the indicated value on the display changes as we’d expect.

Creating An Environment Sensing Project

Now let’s try to build something a bit more complicated. I’m going to use a BME280 environment sensor to display the ambient temperature, pressure and humidity on the display. This sensor uses a Bosch sensor and an I2C interface to provide these three parameters to the Unihiker.

BME280 Environment Sensor Connection

We’ll start by plugging the BME280 sensor into the I2C port on the side of the Unihiker.

Plugging In BME280 Environment Sensor

We can then add the BME280 extension to the project. This tells the Unihiker to import the libraries needed to communicate with the sensor and adds the function blocks to the toolbar on the left to get information from it.

Importing The Library For The BME280 Environment Sensor

Now we can drag and drop text and fields to display these on the Unihiker. I have also included an image of a room as the background for the environment monitor.

As we did previously, we can click on run to upload the code to the device and we can then see it running.

Environment Sensor Program Running

Holding a finger on the sensor warms it up and changes the output values.

Warming Up The Sensor

We can also take it a step further in Python rather than using block coding. Let’s try turning on a fan if the temperature gets too high.

For that, I’m going to add a relay module to one of the digital ports on the side and I’ll then connect the fan to the relay module.

Relay To Turn Fan On

Now we need to write a script to turn the fan on when the temperature exceeds a certain setpoint and then try to run it again. As a starting point, I’ve just copied the generated script from the block code and I’ve then added some additional lines to define the operation of the digital pin for the relay and an if statement to turn the fan on if the temperature exceeds 25 degrees.

Python Code To Turn On Relay

Let’s upload and try it out.

The relay module is initially off as we’re below 25 degrees. If I put my finger onto the BME280 sensor, which will warm it up, then the temperature will then exceed the setpoint and the relay switches on. When it cools down again then the relay turns off.

Now if we hook the fan up to it, the fan comes on and turns off automatically when we do the same thing.

Fan Connected To Relay

Here’s a link to download the Mind+ code for all three of the above sample projects:

Final Thoughts On The Unihiker

So you can see from these examples that it was really easy to get these projects up and running on the Unihiker and there is a lot of flexibility to easily build upon your projects. You don’t need to have an advanced knowledge of programming or electronics to get some simple projects running on it.

I also really like the flexibility in programming options, even being able to program it using Jupyter your phone or tablet. This makes it a great, compact platform for education and tinkering.

Programming Using Jupyter

Once you’ve uploaded a program to the Unihiker, it is also stored for you to re-run directly from the device at a later stage if you’d like to. You can use the menu buttons to access the code which has been transfered to the Unihiker and then run it from the device. Each project is saved in it’s own folder, so you can have a number of scripts, sketches or programs ready to run on the device.

Running Existing Programs Directly From The Unihiker

At the time of writing this review, the Unihiker is $79.90 from DFRobot’s web store. I think this is pretty good value for what is essentially a compact single-board computer, a touch display and a microcontroller.

Let me know what you think of the Unihiker in the comments section below and let me know if you’ve got any project ideas that you’d like to see me try on it.

DIY Mini ITX Computer Using The Creality Falcon 2 40W Laser

Today we’re going to be using the new Creality Falcon 2 40W laser cutter and engraver to make up a Mini ITX computer case for my Turing Pi 2.

I previously made a case for it out of clear acrylic but I’ve recently seen a number of really cool-looking designs for computer cases that incorporate wood panels. My last case was made up of 3mm sheets of acrylic, which I could just swap out for 3mm plywood, but I want to improve on the design and make it look a bit more professional.

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

What You Need For This Project

Equipment Used

Designing The Case In Fusion360

To design the new case, I used Fusion360. I started out by rough modelling the Turing Pi 2. I then designed a frame to hold the plywood panels in position around the Turing Pi 2 to form the case.

ITX Case Design Frame

This frame would better finish off the corners and edges of the case and I think the two-tone contrast between the black plastic components and some walnut wood panels will look quite good. The frame is primarily made up of four 3D-printed corner pieces and four side panels and these will then screw together to form the main shape of the case and to hold the plywood panels.

ITX Case Design With Panels

For the plywood panels, I have kept the same three-fan and power button layout at the front, but I’ve redesigned this to add to the aesthetic.

I’d like the side panel to still have some visibility into the case to see the blinking lights on the Turing Pi board – so I’ve added a small cutout on the side to match the design of the fan cutout on the front.

Download the case files on Etsy

I’ve then also added ventilation holes and ports to the back and top panels.

That’s the design done, so let’s now move on to making up the parts.

Unboxing & Setting Up The Creality Falcon 2 40W

To make up the walnut panels, I’m going to be using the new Falcon 2 40W laser cutter and engraver from Creality.

Creality Falcon 2 40W Diode Laser Cutter & Engraver

This is an open gantry-style laser with a new powerful 40W diode laser module. It’s also got some interesting features that differentiate it from other similarly powered lasers which we’ll take a look at while using it.

It comes with a pre-assembled frame, so it is almost ready to run when you take it out of the box. This is the first gantry-style laser that I’ve seen that comes like this, most of them require a bit of assembly.

Unboxing The Creality Falcon 2 40W Laser

Note – the honeycomb bed used below is sold separately and is not included with the Falcon 2 40W.

The frame is also a full custom aluminium design and isn’t made up of sections of v-slot extrusion. This looks a bit more modern and professional. It also hides the motors and provides well-thought-out cable management.

Frame & Cable Management On Falcon 2

They’ve got good finishing touches on it too, like moveable and extendable feet which give you more flexibility on your work surface and with what materials you are able to use with it.

Adjustable Legs Installed On Falcon 2

One of the unique features of the Falcon 2 40W is the adjustable laser beam. If you’re familiar with diode lasers then you may know that these more powerful modules are made by combining the light from multiple smaller laser diodes – this one actually has 8 diodes.

Creality 40W Diode Laser Module

This results in a more powerful laser beam but the drawback is that this also increases the laser spot size, meaning more material is cut away with each pass and you get slightly reduced resolution when engraving. The Falcon 2 40W accounts for this by allowing two modes, normal mode, which is the more powerful mode with a larger spot size, and then precise mode which has less power but has a smaller spot size. So in my design, I’m going to do some engraving on the large main panel so that I make use of both of these modes.

Normal & Precise Engraving Modes

As far as Safety goes, the Falcon 2 has a couple of integrated safety features. The kit comes with a pair of safety glasses, but I always suggest that you get a proper set of certified safety glasses if you’re going to be working with an open-style laser like this. Better yet, fully enclose it.

The Falcon 2 also has airflow monitoring, lens monitoring and flame monitoring. It will also stop if it is bumped or tilted, has an e-stop on the controller and has limit switches on all travel limits.

Laser Cutting & Engraving The Walnut Panels

Before we start cutting the plywood panels, we need to add the engraving detail. To do this, I opened the main side panel in Inkscape. I’ve added the Turing Pi 2 name at the bottom and a design to label each of the four nodes by their assigned IP address.

Turing Pi 2 Case Engraving Details

I’m going to be using a walnut finish plywood, which I’ll varnish at the end for a rich satin colour to contrast the black 3D-printed parts.

Walnut Plywood Sheets

Let’s engrave and cut the large main panel first.

In normal mode, they claim that you can cut up to 20mm wood, 30mm black acrylic and up to 0.15mm stainless steel sheets each in a single pass. This is only 3mm walnut plywood, which is a slightly harder wood than regular plywood but shouldn’t be any trouble for the 40W laser even at a bit of speed.

The Falcon 2 also includes an integrated air assist system that uses an external compressor to supply air through to a nozzle around the laser head for much cleaner cuts and to keep the lens clean.

Creality Air Assist Compressor

We’ll start off with the engraving first. To do this, we’ll turn off the air assist and then set the laser to precise mode to engrave the text and line details.

Next let’s turn the air assist back on and set the laser back to normal to cut the panel and centre window out.

As with all of these open gantry-style lasers, they produce a lot of smoke when cuttings. So it would be best to work in a well-ventilated area or to get an enclosure for it.

The first panel has come out really well. I’m starting to get excited to see how these panels fit in with the 3D-printed parts and come together to form a complete case.

Main Side Panel Cut and Engraved

Next, let’s cut the remaining panels and corner filler pieces.

These have also come out really well. The cut quality is impressively clean with the integrated air assist system.

Now we can finish them off with a coat of satin varnish. I don’t want them to be glossy so I prefer a satin or matt finish. Varnish helps to bring out the natural colour of the wood and to protect it from dirt and fingerprints.

Making Up The 3D Printed Frame Components

To make up the frame, I started by 3D printing the frame components on my Creality Ender 3 S1 Pro. I need four corner pieces and four side panels – they’re all the same so it’s easy to print on repeat or to fill the bed with them. To hold the three fans in front in place, we also need to print a fan holder.

The 3D-printed parts need a little bit more work before they’re ready to assemble. I have already removed the supports on the corner pieces, but now we need to add some brass inserts to them for them to screw together.

Brass Inserts For 3D Printed Parts

I’m using two different brass insert sizes. Each corner has four M2.5 inserts to hold the adjacent side pieces in place and two M3 inserts that will hold the main plywood panels in place.

These inserts are just melted into the corner piece using a soldering iron with a brass insert tooltip. We need to be a little careful with the M2.5 ones as they need to go in at a 45-degree angle.

Soldering Iron To Melt Inserts Into Place

Now that we’ve got the pieces all made up, let’s put the frame together.

Soldering Iron To Melt Inserts Into Place

Assembling The Mini ITX Case

Each 3D printed side is held in place on the adjacent corner pieces with four M2.5 screws, two on each side. These are all M2.5x6mm screws except in the front where we’ll use 12mm screws to go through the fan holder as well.

Before we screw the fan holder into place, let’s mount the three fans onto it. I’m using 40mm 5V Noctua fans that are each 10mm thick. I choose Noctua fans because they’re quiet and because I think that the colour scheme will fit in well with the walnut panels. We need to use M3 screws and nuts to hold them in place so that the heads of the screws are almost flush with the top of the fans. This allows the front plywood panel to sit really close to the surface of the fan.

Then we can mount the fan holder and side piece in place to complete the case frame.

Screws To Hold Fan Panel In Place

Now let’s move on to mounting the Turing Pi and plywood panels.

Walnut Panels To Be Installed

You’ll notice that I don’t have any screw holes on the smaller plywood panels to hold them in place. I didn’t want to have a case with a large number of screws visible, so these are all going to be held in place with epoxy. The two main panels will still be removable with screws to allow easy access into the case and to remove the Turing Pi 2.

No Screw Holes Through Walnut Panels

Next, let’s mount the Turing Pi 2 onto the back main panel. I’m going to do this with some M3x10mm brass standoffs which are held in place with M3x8mm button head screws on the back. The board is then held in position with some M3 nuts on the threaded ends of the standoffs.

Each main panel is held in place on the frame with four M3x8mm button head screws.

To keep the case a bit more closed up and protected, I’m going to add a clear acrylic insert into the cutout. Being a diode laser, the Falcon 2 can’t cut clear acrylic, but an alternative would be to just stick a 1-2mm thick square of acrylic onto the inside of the plywood panel where it won’t be visible and will still close up the cutout.

We can then epoxy the side panels into place. I’ve intentionally added the main panels first because there is some flexibility in the 3D-printed parts. The main panels help to square up the whole frame beforehand so that we’re not glueing panels into place on a twisted frame.

Lastly, we can epoxy the corner filler pieces into place.

Corner Filler Pieces Being Epoxied Into Place

Now we just need to add the power supply module and its power port, connect the fans up, which I’m doing with a wiring harness I made up, and add the power button to the front panel.

We can close up the side panel and peel off the protective film.

And that’s the case complete.

Turing Pi 2 Mini ITX Case Front

Different Colour Options For The Mini ITX Case

You obviously don’t have to use black for the 3D prints or walnut plywood for the panels. By using different filament and wood colours, there are unlimited design possibilities.

Let me know which of these two designs you prefer in the comments section below.

Which Do You Prefer

Final Thoughts On The Falcon 2 40W

The Falcon 2 also supports offline control (control without a connected computer) but this is a bit different to some other lasers that come with a display. This offline control just loads the most recent gcode file in the root directory of the microSD card.

It gives you a way to cut or engrave directly from the microSD card, but it is somewhat limited. You’ll still need to regularly use a computer to change files around on the microSD card if you don’t just cut the same file repeatedly.

That said, I did manage to use it to cut this included design out.

Test Piece Done With Offline Cutting

If you don’t yet have a laser cutter and engraver, the Falcon 2 is a great all-rounder that has the power to cut thicker materials but can still retain the detail in engraving finer artwork and text as well.

I use a laser in my workshop far more often than I ever thought I would. With a laser, I can make up the parts to build a model or enclosure in a few minutes, whereas similar parts would have taken hours to 3D print.

The Creality Falcon 2 looks modern and is a good quality, sturdy build.

If you’d like to get your own Creality Falcon 2 40W, they’re available from $1,699 through their web store. With Creality, you’re also buying from a company that has a great track record in quality and support with their 3D printers.

PET Bottle Recycler Part 1 – Using An Arduino Uno R4 To Control A 3D Printer’s Hotend

Today we’re going to be using the new Arduino Uno R4 WiFi to build a controller for a PET bottle recycler. I’m doing this as the first part of a project, working towards building my own version of a PET bottle recycler to produce filament for my 3D printer. I already have an idea of what I want the machine to look like mechanically, so for Part 1 I’m going to focus on building the electronics to provide temperature control of the 3D printer hot-end and to drive the extruder motor.

I have now completed the PET Bottle Recycler, you can find Part 2 here.

PET Bottle Recycler

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

What You Need For This Project

Tools & Equipment Used

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

Arduino Uno R4 Minima & WiFi

I’m going to start the project by using an Arduino Uno R4 for prototyping. The Uno 4 comes in two versions, the minima which is the more basic version and then the WiFi version which has WiFi and an integrated LED matrix.

Arduino Uno R4 Minima & WiFi

They both have a new more powerful 32-bit processor as well as significantly increased SRAM and flash memory, allowing you to build more complex projects.

The LED matrix on the WiFi board is really useful for quickly displaying a status or mode, and you can even run some animations and games on it.

Uno R4 LED Matrix

For prototyping, I’m going to use it as a rolling graph of the hot-end temperature so that we can see how it is tracking towards the setpoint.

Recycler Controller Components

To turn a PET bottle (a standard soda bottle, like Pepsi, Coke or Mountain Dew) into filament, we need a way to melt the plastic. To do that, I’m going to be using a hot-end from an old 3D printer. This one is from an old Creality Ender 3 Pro.

3D Printer Hotend

An Arduino obviously can’t pass through enough power to heat the hot end by itself, so for that we’re going to be using an IRFZ44N Power MOSFET.

Mosfet To Supply Power To Arduino

This will take a PWM signal from the Arduino and use it to control the power supplied through to the hot end so that we can maintain a set temperature. I’m also going to add an I2C OLED display to display the exact temperature and allow us to make changes to the temperature and the extruder motor speed.

I2C OLED Display

A temperature sensing element, or thermistor, is also built into the hot end and we’ll use the signal from this to tell the Arduino what the actual temperature of the hot end is so that it knows whether to turn the heating element on or off.

3D Printer Hotend Thermistor

Breadboard Test Circuit

As a starting point, I have made up the basic circuit on a breadboard to test that we’re actually able to control the hot end. I’ve also set up a thermal camera to watch the hot end so that we can visualise it heating up.

Basic Breadboard Circuit For 3D Printer Hotend

There are two main circuits here, one with the power Mosfet and some resistors to control the heating element and a second with a capacitor and resistor to read in the temperature.

Heating Element and Thermistor Circuits

As I said earlier, I’m going to be using the LED matrix on the Arduino as a means of indicating how the temperature of the hot end is tracking towards the setpoint, but I’ve also added an I2C OLED display which will give us an exact temperature readout, the temperature setpoint that we’re working towards and for now an indication of the PWM value being applied to the hot end.

I have also included a potentiometer to adjust the temperature setpoint between an upper and lower limit.

So let’s put power onto the circuit and we’ll hopefully be able to see how it heats up on the thermal camera. After about 30 seconds, we can already see the hot end head heating up.

Hotend Heating Up

I’ve used the last column of the LED matrix on the Arduino to indicate the current setpoint that the hot end is heating up to. The graph loops around, increasing as the temperature increases. It is quite slow as I’m only using a supply voltage of 12V where the hot end is rated at 24V.

On the OLED display, we can see the temperature setpoint, the current temperature and then the PWM output to the hot end. This stays at the maximum of while heating up and then as the temperature approaches the setpoint, it starts tapering off.

OLED Display Showing Temperature, Setpoint and PWM Output

I’m using a PID control function to control the temperature of the hot end, so I’ve tuned the proportional, integral and derivative gain values to provide reasonably good tracking of the setpoint.

After a minute or so, we can now see that the hot end has heated up on the thermal camera.

Hotend Heating Up Through Thermal Camera

Now that we’ve got the system working on the breadboard, let’s turn it into something a bit more permanent and reliable for the project.

Designing The Recycler Controller PCB

I drew up a schematic and designed a PCB for the recycler controller in the form of a shield to fit on top of the Arduino.

This shield has the heating element circuit, the thermistor circuit and a TMC2208 stepper motor driver to drive the extruder. It’s also got an I2C OLED display and a rotary pushbutton to make changes to the settings.

PCB Design For PET Bottle Recycler

PCBWay then made them up for me. They have a really easy-to-use one-page order form to upload your files to and choose from a range of manufacturing options, with defaults preselected.

They’ll then make them up for you in 24hrs for just $5 for five, two-layer PCBs. They also offer a range of shipping options to fit your timing and budget. If you haven’t tried making your own PCBs for a project, I’d definitely recommend trying PCBWay out to really take your projects to the next really.

They arrive a few days later, I choose a white PCB with a black silkscreen, just because I haven’t tried this colour scheme before.

The PCB is designed to interface with the Arduino through some header pins which we’ll add to the underside.

PCB Designed To Sit On Top Of Arduino Uno

Now we just need to get the components soldered onto the board.

Assembling The Controller PCB

I soldered the components to the board starting with the smaller components and moving on to the larger ones.

Because this first one is still a prototype board, I’m going to solder some female header strips onto the stepper motor driver and display pads so that I can remove the display and driver to use on the final board. I also soldered the header pins for the Arduino into place while plugged into the Arduino as this keeps them lined up properly.

Soldering Header Pins Into Place

And with the soldering done, it’s time for the moment of truth – to see if my board design and soldering is good. I plugged in the motor driver, jumper and display. I then screwed the heating element and thermistor into the terminals and plugged it in for programming.

Programming The Arduino Uno R4

I’ve put the sketch up in my Github repository. It’s just a simple Arduino sketch that runs a PID control loop to control the temperature of the hot end and pulses the stepper motor driver to control the motor. There is also some supporting code to drive the display and manage the input from the rotary push button.

PET Bottle Recycler Arduino Sketch

Download the Sketch

Now let’s get it uploaded to the board and see how it works.

Testing The PET Recycler Controller

The board will run on the USB power from the computer, but won’t drive the motor or heat up the element, we need to add a 12V supply to the shield’s input to power those, so let’s get that plugged in.

And now the board is running. The actual temperature is shown in the first line and we can adjust the temperature setpoint using the rotary pushbutton.

Adjusting Parameters With Power, Motor Runs

The line below allows us to change the motor speed on the extruder and the bottom line lets us turn the extruder motor on, either running forward or in reverse. Once again I’m really impressed with how quiet the TMC2208 stepper motor driver is.

Adjusting Parameters With Power, Motor Runs

I’m really happy with how this has come out. For the final version, I might try and make the PCB a bit more compact, perhaps using a smaller form factor Arduino like the Pro Mini. For now, this will be great to get started building the mechanical parts for the PET bottle recycler.

PET Bottle Recycler Electronics Complete

If you’re interested in seeing the project progress, be sure to subscribe to my newsletter or YouTube channel. I’ve got a geared stepper motor and pulleys coming to try out and some cool ideas for a removable spool on the recycler that I can easily move across to my printer when the filament has been extruded.

Filament Extruder Spool Design

I’m also really interested to see how a recycled PET version of my 3D printable Raspberry Pi case turns out. I have now completed the PET Bottle Recycler, you can find Part 2 here.

Let me know in the comments if you’ve got any suggestions for improvements that I can make to the final version which I’ll use on the recycler.

Orange Pi 5 Plus Test & Review

Today we’re going to be taking a look at the Orange Pi 5 Plus, a new SBC from Orange Pi based on the Rockchip RK3588 processor.

Orange Pi 5 Plus Box

This is one of the cheapest SBCs that I’ve seen with the RK3588 processor. The base model variant with 4GB of RAM is currently only $89, which is $40 less than the 4GB Rock 5 Model B and the top end 16GB variant is $129 which is almost $60 less.

Here’s my video review of the Orange Pi 5 Plus:

Where To Get The Orange Pi 5 Plus

  • Orange Pi 5 Plus (Amazon) – Buy Here
  • Orange Pi 5 Plus (Aliexpress) – Buy Here

Equipment Used

Unboxing & First Look At The 5 Plus

The Orange Pi 5 Plus comes in a transparent plastic case with a branded sleeve around it. Within the case, the 5 Plus is protected by an anti-static sealed bag.

At first glance, this board shares a lot of similarities with the Rock 5 Model B, it has the same Pico ITX form factor, the same processor, same RAM configurations, it also has dual M.2 slots and supports 8K video decoding but there are some key differences which we’ll take a look at, with perhaps the most eye-catching being that the Orange Pi 5 Plus is quite a lot cheaper.

As I’ve already mentioned above, the 5 Plus is in a Pico ITX form factor and measures 100mm x 75mm.

Rockchip RK3588 Chip

In the centre of the board, we’ve got the 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.

Next to the CPU are the RAM chips, the board comes in a 4GB, 8GB and 16GB variants, each with LPDDR4 chips. This is the 16GB variant.

Along the side, we’ve got the main set of ports.

Ports Top To Bottom

From top to bottom, we’ve got a USB type C power port to provide power to the board, below that are dual 2.5G Ethernet Ports which will allow for powerful networking projects like building a home router, then we’ve got 3 HDMI ports. The top two are HDMI outputs which support HDMI 2.1 at up to 8K60 and below that is an HDMI input that can capture up to 4K60. Alongside the HDMI ports are dual USB 2.0 ports.

Behind the USB ports is a 40-pin GPIO header with a speaker connector above it.

Speaker Plug & GPIO Pins

Then on the opposite side to the ports is a 3.5mm audio jack, a status LED, an onboard microphone, an IR receiver, the power button, dual USB 3.0 ports with a USB type C port with display port alongside it. Next to that is a maskROM button which is used to reflash the boot loader.

Back Set Of Ports

We’ve then got an M.2 E-Key slot which can be used for a WiFi module as the board does not have onboard WiFi.

M.2 Slot For WiFi

Alongside it is an eMMC storage interface that supports optional storage modules from 16GB up to 256GB.

EMMC Storage Module Port

And above it are two ports, the left one is a real-time clock connector and the right one is for a 5V fan.

Flipping the board over. On the bottom, we’ve got a microSD card slot that supports up to a 128GB microSD card, an M.2 M-Key port with 4 PCIe 3.0 lanes for an NVME SSD up to a 2280 size.

MicroSD Card Slot and NVME Drive Slot

Along the edge we’ve got three more ports, the left one is for a touchscreen interface, the middle one is a DSI display port for an LCD panel and next to that is a CSI camera input.

Touch, DSI and CSI Ports

So the 5 Plus is quite a feature-rich board on the hardware side.

I wanted to use the same passive heat sink that I used on the Rock 5B so that cooling performance is kept equal, but unfortunately, this heat sink is not compatible with the Orange Pi 5 Plus, so I’m going to be running the tests without a heatsink and keeping an eye on the CPU temperature.

Heatsink For Orange Pi 5 Plus

Operating System Options For The 5 Plus

On the software side, Orange Pi have a number of operating system images available including the usuals like Debian, Ubuntu and Android.

They also have their own Orange Pi OS images, one based on Arch Linux and one on Android. To complement the dual Ethernet ports, they also have an Open WRT image.

Orange Pi Software Packages Available

At the time of making this video, the Orange Pi OS Arch Linux and Android images are not yet available. So I’m going to try the Debian image, which is more appropriate to compare to the Rock 5 B in any case as it’s the same operating system I used for my Rock 5 B testing.

So first up, let’s install the operating system.

This is as simple as downloading the image from their website and then flashing it onto a MicroSD card, I’m using Balena Etcher to do this.

Flash MicroSD Card

Then we insert the card into the 5 Plus, plug in our peripherals and then plug in power.

Insert MicroSD Card

Testing The Orange Pi 5 Plus’ Performance

The first boot on Debian takes around 30 seconds to complete and it boots right into the desktop, so there is no login screen.

Orange Pi 5 Plus First Boot

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

HTOP Running In Debian

First, let’s try playing back a YouTube video in the default browser. I’m going to do this 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.

Video playback in the window is near perfect, with only a few dropped frames.

Video Playback At 1080P Window

And it’s the same running full screen.

Video Playback At 1080P Fullscreen

Now let’s step it up to 4K. I’m going to first adjust the monitor resolution to 4K and then reopen the YouTube video, this time setting the playback resolution to 4K as well.

Set Resolution To 4K

Playback in 4K starts off with a few issues and a few dropped frames but it seems to settle after a few seconds of playback.

Video Playback At 4K

It’s definitely not perfect and still drops frames during playback but it’s actually reasonably usable. This is much better than 4K playback was on the Rock 5 model B and if we open up HTOP, we can see we’re now only at around 20-30% CPU utilisation rather than the 70-80 we were getting on the Rock 5.

Video Playback At 4K With HTOP

Even so, Android is probably a more suitable alternative operating system for 4K video playback if that’s what you’re going to be primarily using it for.

Next, let’s do a comparison with the Rock 5 B by running the Sysbench CPU benchmark.

Sysbench Running With HTOP

Running the test, after 10 seconds we have processed a little over 5,343 events per second and we get a total score of 53,450.

Sysbench Results

For comparison over three consecutive tests;

  • The Rock 5 B managed an average of 53,642
  • The Khadas Edge 2 managed an average of 51,568
  • The Orange Pi 5 Plus managed an average of 53,436

So performance-wise, the Orange Pi 5 Plus is almost exactly the same as the Rock 5 Model B, which is to be expected running the same processor and similar hardware. The difference between the two is likely just due to variability between tests.

Power Consumption On The 5 Plus

Lastly, let’s take a look at power consumption.

To measure the 5 Plus’ power consumption, I used a USB-C cable that supports power delivery and indicates the power draw through it. This showed that the 5 Plus was not running on Power Delivery, which would have been indicated by a PD at the top.

But running at 5V, it draws about 2-3W when idle and this goes up to 6-8W when fully loaded.

Thermals weren’t really an issue without the heatsink, even running Youtube playback at 4K for about 10 minutes didn’t push the CPU temperature much over 40 degrees. If you are going to run heavy loads on the 5 Plus for long periods of time then you’ll probably need a heatsink.

Orange Pi 5 Plus Thermals

Final Thoughts On The Orange Pi 5 Plus

At the price that the Orange Pi 5 Plus is being sold at, it’s a really attractive option for a powerful single-board computer with a good set of interfaces. As software is still in the early stages, it’ll be interesting to see what packages are released over the coming months.

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

Orange Pi Desktop Running On 5 Plus

Raspberry Pi 4B Insane Overclock To 2.5 Ghz

Today we’re going to overclock a stock Raspberry Pi 4B as far as possible before it gives up. I decided to try this after I accidentally increased the clock speed of this particular board to 2.2GHz instead of the 2.0GHz that I usually use. The Pi still booted up just fine and I only noticed that it was running at 2.2GHz when I ran a stress test a while later.

Here’s my video of my overclocking results, read on for the write-up:

Purchase Links For This Project

Equipment Used

Overclocking Test Setup and Process

The stock speed of a Raspberry Pi 4 model B board like this is 1.5GHz, but it is fairly common for people to overclock them a little with adequate cooling. For a while the maximum limit was 2.147GHz and that’s why I was surprised that the board booted at 2.2GHz. I then did some reading and found that this limit seems to have been removed on newer models like the Compute Module 4, Pi 400 and the 8GB variant of the Pi 4 B, most likely because they have an upgraded (PMIC) power management integrated circuit. It looks like quite a few people have managed to overclock their 8GB Pi 4 B’s up to around 2.2-2.3Ghz before running into issues.

Raspberry Pi Overclocked To 2.2GHz

So today we’re going to try overclocking this 8GB Pi 4 in a few increments until it starts behaving weirdly, just won’t boot anymore or has a hardware failure. I’m going to be monitoring the internal temperatures in software and the component temperatures with a thermal camera, so I’m hoping that we reach a boot or lock-up limit rather than having a hardware failure. Raspberry Pi’s are still quite hard to come by so I’d prefer not to destroy this one.

P2 Pro Thermal Camera Monitoring Overclock Raspberry Pi Temperature

At each clock frequency, we’re going to run a quick stress test to check that the CPU can actually handle being fully loaded. This will also show us the CPU temperature during the test so that we can keep an eye on the thermals. We’ll then also run a Sysbench Benchmark to get a numerical value that we can use to compare the performance of the Pi at each increment.

Monitoring The Pi’s External Temperature

To monitor the component temperatures when we overclock the Pi, I’m going to be using the new P2 Pro by InfiRay.

This is a new tiny thermal camera that weighs just 9g and plugs into iOS or Android smartphones, turning it into a high-resolution thermal camera with a range of colour pallets. Don’t let its size fool you, compared to other entry-level thermal cameras, and even well-known smartphone-attached thermal cameras, this camera gives you around 2.5 times the resolution, 2.5 times the refresh rate and four times the measurement range.

The P2 Pro also has a trick up its sleeve. Not only does it have a typical wide-angle lens for looking at large objects a short distance away. It also includes a magnetic macro lens that snaps onto the front of the camera and lets you see amazing detail close up – like inspecting small components on a PCB.

Infiray is a large thermal imaging company that released their first thermal sensor back in 2015. So, while this is a new product in their lineup, they have a wide range of industrial products and they’ve been around for a number of years.

Overclocking The Pi 4B And Testing It’s Performance

To start off, let’s get a baseline result from a stock Pi 4B running at the standard base frequency of 1.5GHz. From past experience, I already know that the Pi 4 runs into thermal throttling really quickly if you don’t use a heat sink so I’m going to use a standard stick-on heat sink for this first test.

Raspberry Pi 4B With Stick On Heatsink

From this first test, it’s pretty obvious that we’re going to need better cooling if we want to overclock the Pi. Not even a minute into the test we were already well over 70°C, so increasing the clock speed by even a small amount is going to push us into thermal throttling.

Test At Stock Frequency With Stick On Heatsink

Even so, I ran the Sysbench benchmark and got a total number of events of 785.

SysBench Test At Stock Frequency

To provide additional cooling, I’m going to use an Ice Cube cooler which I’ve used in many of my previous builds and I already know does a really good job. I prefer the Sunfounder Ice Cube cooler over an Ice Tower cooler as the cooling plate extends to cover the RAM, USB and Ethernet controller chips surrounding the CPU and not just the CPU itself.

Ice Cube Cooler For Pi 4B

I’m also going to use thermal paste between the CPU and the cooler to improve thermal conductivity so that we’re hopefully not limited by inadequate cooling in any of the tests.

Arctic Thermal Paste For Ice Cube Cooler

Now let’s get the Pi booted up and see what improvement has been made by adding the Ice Cube cooler.

Mounting Ice Cube Cooler Onto Pi 4B

You’ll notice on the thermal camera that the fins on the cooler as well as the arms and even the ports on the Pi are all similar to the background temperature. This is because metals are reflective and essentially behave like a mirror, reflecting the surrounding infrared radiation. We can however still see the base of the Ice Cube cooler around the CPU, which is the area we’re interested in anyway.

Running the stress test, we can see our CPU clock frequency is sitting at 1.5Ghz and after a minute the temperature stabilises at around 34°C. So the Ice Cube cooler is working well – this is half of what we were at with the standard heat sink.

Running the Sysbench benchmark, we get a total number of events of 813. This is a slight improvement over the standard heatsink which is surprising given that we weren’t near the thermal throttling limit of the Pi.

Sysbench Results With Ice Cube Cooler

Next, let’s try to overclock the Pi. I increased the clock speed to 2GHz and rebooted it. Running the stress test, the temperature now reaches around 37°C after a minute, so we’ve got a 3°C increase over the base frequency which honestly isn’t much. On Sysbench we get 1031 events, so an increase of over 25% which is great.

Next, let’s step it up to 2.2GHz. For this frequency, I’m also going to increase over_voltage to 10. This adjusts the core CPU voltage to accommodate the higher clock speeds.

Increasing Overvoltage To 10 In Overclock To 2.2GHz

At 2.2GHz we get a slight temperature increase of 2°C up to 39°C.

Temperatures At 2.2Ghz

On Sysbench we get another 13% increase in performance, getting a total of 1173 events.

The Pi still looks fine thermally both in software and on the camera so let’s increase it to 2.3Ghz. To increase it to 2.3Ghz we need to also enable force_turbo. This improves stability by making your Pi run continuously at the set clock speed rather than dynamically adjusting the clock speed to match the workload. This setting voids your warranty though and you’re now obviously risking damage to your Pi, so don’t do this unless you’re prepared to potentially permanently damage your Pi and don’t leave your Pi running for long periods of time with this setting enabled.

At 2.3Ghz we get another temperature increase but this time of only 1°C to 40°C and in Sysbench we get a total of 1164 events, which is actually slightly worse than the performance at 2.2GHz.

Temperatures At 2.3GHz

I then went up in smaller increments, each time expecting the new frequency to be the last that the Pi would boot up successfully.

At each frequency, the Pi did boot up and I ran the stress test and Sysbench benchmark in increments from 2.35GHz to 2.475GHz.

Stress Test CPU Temperatures
SysBench Benchmark Temperatures

At an overclock frequency from 2.3GHz to 2.45GHz, we had an average increase in performance of about 15%, but at 2.45GHz I started noticing the Pi doing a few weird things. The cursor started flickering every so often and at 2.475GHz some of the files in directories wouldn’t show up. But in each case, the Pi was still able to capture the screen contents, run the stress test successfully for about 2 minutes and run the Sysbench benchmark.

I then tried 2.5Ghz and since I hadn’t expected the Pi to boot up beyond 2.3Ghz, I didn’t have much hope for this. But after a brief boot screen, it did actually boot up into the desktop.

Ice Cube Cooler On Pi 4B Running At 2.5GHz

But all wasn’t well and the Pi was struggling.

The first time it booted, I tried running the screen capture utility and it immediately locked up.

Lock Up At 2.5GHz Running Screen Recorder

I then decided to skip the screen capture and just try to run the stress test and that too locked up.

Lock Up At 2.5GHz Running Screen Recorder

I then tried to run the Sysbench benchmark and even that locked up.

Lock Up At 2.5GHz Running Sysbench

So the Pi booted and was indicating that it was running at 2.5Ghz, but if I put any form of load onto it then it locked up.

Temperatures Running At 2.5GHz Unloaded

So that marked the end of my testing. This might have been a power issue since the CPU seemed to actually be ok running at 2.5Ghz but if you put any load onto it then it may have caused the supply voltage to dip enough to lock up.

Looking At The Pi Using The P2 Pro

After my overclock tests, I then had some fun playing around with the thermal camera. You can see from the thermal images of the Pi and Ice Cube Cooler just how much better the resolution on the P2 Pro is compared to a slightly cheaper standalone camera.

Thermal Image Comparison P2 Pro and Basic Camera

This alternate thermal camera only costs $60 less than the P2 Pro and even combining a photo with the thermal image like some cameras do doesn’t look nearly as good.

Thermal Image Comparison With Photo Overlay

Some other things that I found interesting under the thermal camera were how the surface mount components in the power circuit around the USB-C port start up in sequence when the Pi is powered up, and also how quickly they cool down when the Pi is shut down. Watch my video at the beginning of this post to see this clearly.

Power Circuit Under Thermal Camera

You can also watch the Pi boot up from the bottom of the board.

Underside Of A Pi Under Thermal Camera

As I mentioned earlier, thermal cameras can’t see the temperature of metallic surfaces because they’re reflective. But I wondered whether spraying an Ice Tower cooler black would mask the metal and allow the thermal camera to actually see the heat from the cooler.

So I sprayed one of my coolers black for science…

Spraying Ice Tower Cooler Black

I put it onto the Pi with some thermal compound and I booted the cold Pi up at 2.0Ghz. I left the camera recording for two minutes while running the same stress test and you can now actually see the heat sink warming up.

Ice Tower Cooler On Pi 4 B

After 3 minutes I tried unplugging the fan, which lead to a 10°C rise in temperature over the next three minutes. Plugging it back in brought the temperature back down again.

Final Thoughts On Overclocking A Pi 4

I’m curious to see if anyone else has managed to overclock their Pi 4 or even a CM4 or Pi 400 to 2.5Ghz or higher, and also whether you were able to run any tests on it. I’m aware of Claude Schwartz managing to overclock a CM4 module to 3.0GHz using Ice Spray and a firmware bypass.  Let me know of any others in the comments section below.

Aside from the limitations in the power circuits, there is an element of silicon lottery involved. Some CPU’s will be able to be overclocked higher than others, so there might be a couple of Pi 4B’s out there that can go beyond 2.5Ghz.

If you’re interested in getting yourself a really small but powerful thermal camera that’s great for getting up close with PCBs and small electronics, the P2 Pro is available from InfiRay’s Amazon stores in a range of countries for $299. If you order one using my coupon code Klements123, you’ll get $20 off your order.

InfiRay P2 Pro Thermal Camera

Here are some additional purchase links

Can You Power Your Pi With A Power Bank Instead Of A UPS?

Today we’re going to be answering a question that has come up quite a lot in videos where I’ve used a small purpose-built UPS to power a Raspberry Pi – that is whether you could just use a power bank instead.

Raspberry Pi Desktop UPS Case

Here’s my video answer to the question, read on for the write-up:

Components & Equipment Used For The Test

Tool & Equipment Used:

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

UPS’ Used In Previous Projects

The UPS hats or shields that I’ve used in previous videos are these two, the Pi Sugar 3 Plus and the Geekworm UPS V5:

Raspberry Pi UPS Options

I used the Geekworm UPS V5 in my mini desktop case build. This UPS costs around $35 to $40 without batteries. It takes two 18650 lithium-ion cells and uses these to provide power through three USB ports on the front of the hat and to inject power to the Pi through the GPIO pins. It’s also got an I2C bus which transmits a range of data to the Pi like whether it is plugged in and what the battery capacity is, and you can also get your Pi to safely shut down when the battery voltage drops below a certain limit.

I used the Pi Sugar 3 Plus in my mini server rack build. This one costs around $50 and comes with an included 5000mAh battery pack. This has largely the same features as the Geekworm UPS but it doesn’t have the USB ports on the front. It does however have a better interface, the settings can all be adjusted and managed through a web dashboard rather than through Python scripts, and I found it to be a lot more stable and reliable.

So the main question is, could you use a power bank to power a Raspberry Pi? Then there is the follow-up question, if you can then why would you use one of these UPS shields instead? Power banks are often a lot cheaper or have significantly higher battery capacity.

Which Power Banks Are We Going To Test?

To find out if we can use a power bank, I’ve got two to test. These represent the two extremes of what is available in the power bank market.

Power Bank Options

The first is a cheap $15 power bank that has a 6000mAh battery. It can output up to 2.1A through two USB type A ports. It is charged at a maximum of 1A through a microUSB port between them.

The second is the Shargeek Storm 2. This is a $220 power bank that has a 25,600mAh battery. It also has a range of USB ports including one USB type A port and two USB type C ports that support power delivery. In addition to these, there is also a DC barrel jack that supports DC input and output within an adjustable range.

Shargeek sent me the Storm 2 to try out and share with you, so I thought it would be a good device for this comparison. You may have already seen one of their eye-catching power banks online with a cyberpunk-style transparent case, leaving the batteries and PCB visible. But apart from the stylish design, they also offer great performance and a host of features which we’ll take a look at during this comparison.

Can We Power A Raspberry Pi With A Power Bank?

The main issue I see when people ask whether they can just use a power bank is that they’re generally asking because it’s an easy way to save money. A $20 power bank is obviously half the price of a $40 UPS and you can still use it to power and charge other devices.

Pi UPS vs Power Bank

The issue is that these cheap power banks often only have USB A ports and usually only support a little over 2A, or about 10W. If you’re familiar with the Pi’s power supply, this is a 3A, or 15W USB C supply.

Official Raspberry Pi Power Supply

Now this is probably not an issue if you’re running a barebones Pi with no connected drives or peripherals, but it will likely be a problem if you try powering a full desktop setup like the one in my 3D-printed desktop case. This has an SSD, an OLED display, a PWM fan and its got a wireless mouse and keyboard receiver plugged into it.

Raspberry Pi Desktop Computer

So let’s start by trying to power a Pi by itself with our first power bank.

So that has booted up and doesn’t seem to have any issues. I can open up a Chromium tab or VLC media player (which puts a load onto the CPU) and we don’t get any under-voltage warnings coming from the Pi.

I put my USB power meter onto it and found that it was drawing a little under half an amp when idle on the desktop.

Current Draw On Cheap Power Bank

Next, let’s try powering the Pi in my desktop case setup.

The first time I tried to boot it up, it looked like it was going to start up. It loaded the stats display script but then locked up.

Power Bank Powering Pi Desktop Setup

I tried it again a few times and it did eventually boot up but instantly came up with a low-power warning. The little lighting bolt warning stays up almost continuously and the Pi is clearly running at reduced performance – it’s very lagging even just moving windows around.

Raspberry Pi Low Voltage Warning

With my power meter connected, it looks like the Pi uses a maximum of around 1.4A when booting up and then stabilises under 1A when on the desktop.

Current Draw On Desktop Setup With Cheap Power Bank

At 1A we’re still well below the 2A rating on the power bank so it should be able to keep the voltage over 5V but it doesn’t. So this cheaper power bank is not really suitable to run any more than a barebones Pi.

So now let’s try powering it with the Storm 2.

The Storm 2’s type A port can do 18W, so we should be able to power the Pi from that port without any issues but it also has two USB type C ports which both support power delivery. The one marked C1 can do up to 100W and the one marked C2 can do up to 30W. I’m going to use the Storm 2’s included USB C cable to power the Pi using the lower-powered USB C port.

Storm 2 Powering Desktop Setup

This time the Pi has booted up and is running without any low-voltage warnings. It’s also a lot more responsive when opening up applications so it doesn’t seem to be performance limited.

On the Storm’s display, we can see that it is drawing a little over 4W.

Power Draw From Storm 2 Powering Desktop Setup

We’ve got a lot of capacity available, so let’s try to hook up the portable monitor to the Storm 2 as well so that our whole setup is running from the power bank.

Storm 2 Powering Desktop Case & Monitor

With the monitor added, we’re now drawing a little over 5W on the display’s port and under 5W on the Pi’s port, with a combination of just over 10W.

The Storm 2 has a 25,600mAh battery or more appropriately 93.5Wh, made up of 8 lithium-ion cells. So we could power this portable setup including the monitor for around 9 hours. Shargeek chose 93.5Wh as most airlines have a limit of 100Wh for power banks or portable batteries, so it is a high-capacity power bank but you can still travel with it.

The onboard controller has a built-in battery protection system which includes over-voltage protection, short circuit protection and extreme temperature protection. The lithium-ion cells are manufactured by Samsung, so are good quality, and the housing is V0 fireproof so they have taken safety seriously when designing it.

Can We Power Additional Pi’s With The Storm 2?

Another interesting feature of the Storm 2 is the DC barrel jack next to the USB ports. This can be used as either an input or an output and its voltage is adjustable through the display.

Storm 2 DC Power Input & Output

If we set it to 12V, we can even power my whole Turing Pi 2 build.

Storm 2 Powering Turing Pi 2 Build

And even plug the monitor into it, drawing a total of 17W. So we could power this setup of 4 networked Pi’s in a fanned enclosure and with a portable monitor for over 5 hours.

Once the battery is drained, Shargeek claim that you can fully recharge the Storm 2 in 1.5 hours. I tested this by fully draining it and then recharging it with my USB C adaptor from my MacBook which supports up to 140W. It charged up to 80% in an hour and reached 100% after 1 hour and 35 mins.

Time To Fully Charge Storm 2

Why Use A UPS Instead Of A Power Bank?

So it clearly is possible to power a Raspberry Pi with the right power bank, and even additional peripherals like a portable display. So does this mean a power bank would be a better choice? Well, this is where it depends on what you want to do with it because a UPS and a Power Bank have similar features but are not really the same thing.

Pi UPS Vs Storm 2 Power Bank

A power bank is great to make your Raspberry Pi setup portable for a period of time, but this is not why we use a UPS. A UPS is there to ensure that your Pi stays powered through minor power interruptions and in the event of an extended interruption, it gives the Pi an opportunity to safely shut down.

There are two important features that make a UPS different to a power bank.

The first is that a UPS is designed to run for long periods of time with power on – and batteries don’t like being fully charged for long periods of time. So most good quality UPS’ will have a feature to limit the maximum charge and discharge level of the connected battery. They’ll then only charge or discharge the battery between these limits. This protects the battery and prolongs its life. They also usually direct power from the supply to the load once the battery is full so that you’re not constantly drawing power from the batteries – again prolonging their life.

UPS Settings To Limit Battery Charge

The second is something I’ve mentioned previously and that is that they are able to tell the Pi to safely shut down when the battery is running low. This protects your Pi and whatever you had running on it in the event of a longer power outage – something that a power bank won’t do either.

UPS Settings To Limit Maximum Discharge & Shutdown

So it really depends on what you’re wanting to do with your Pi. If you are connecting batteries to it to keep it running through a power outage then a UPS is the correct choice. If you’re wanting to make your Pi setup portable then a good quality power bank is the correct choice, and you’ll be able to use it to power other things as well – just make sure that your power bank is able to meet the power requirements of the Pi. You’ll generally be ok with any power bank that can supply 3A through at least one of its ports, most likely a USB C port.

Final Thoughts On The Shargeek Storm 2

Shargeek have a range of good quality power banks and accessories available through their web store or on Amazon.

The Storm 2 sells for $229.00, which is obviously a lot of money for a power bank, but you’re getting a solid set of features and a quality product that’ll likely last for a number of years. Not many power banks even support power delivery, never mind doing it at up to 100W and the inclusion of the DC power output makes it quite versatile. You could probably power small laptops or mini computers directly from this port since they usually take an 18V input. Shargeek even offer a 30-day money-back guarantee if you’re not happy with your Storm 2.

So I hope this post has answered some of the questions that you might have had about powering your Pi with a power bank or a UPS. If you’ve got any other questions on either of these power supplies, leave a comment down below and I’ll try my best to answer it.

I Made A Pico ITX Case For My Rock 5 Model B

Following on from my initial review of the Rock 5 Model B, I eventually managed to get it to boot from an NVME drive. Embarrassingly this was as simple as missing a checkbox on the bootloader reflashing tool – but it now works and boots from the NVME drive really well.

Rock 5 B Bootloader Reflashing

So the next step is to turn it into a computer that I can actually keep on my desk without worrying about something shorting shorting out the components on the PCB or dust collecting on the surface.

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

What You’ll Need To Make Your Own Rock 5 B Case

To make it easier for you to build your Rock 5 B into a mini desktop computer, I have put together a kit that includes the components and screws you need to house your Rock 5 B and Heatsink:

Rock 5 B Case Kit – Buy Here

Alternatively, you can make up your own case with the below hardware:

Tool & Equipment Used:

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

Designing The Rock 5 B Pico ITX Case

The form factor of the Rock 5 Model B is Pico ITX, so while it is slightly wider and longer than a Raspberry Pi, it’s not far off fitting into my Raspberry Pi desktop case design with a few tweaks.

Rock 5 Pico ITX Form Factor

So I opened the model up in TinkerCAD and made a few changes to it so that the Rock 5 fits into the case vertically with all of the primary ports accessible through the back.

Rock 5 B Desktop Case Design

I also designed a small adaptor that will screw onto the board and allow the power button to be pressed from the front of the case. I’ve added a small extension onto this bracket in the hopes that it will pick up the light from the status LED, allowing it to serve a dual purpose.

Rock 5 B Button Extension

I then designed the side panels in Inkscape to be laser cut from some clear acrylic. The main side panel has space to mount a 40mm fan directly over the heatsink on the CPU for additional cooling. The opposite side panel has ventilation holes for the air to escape over the NVME drive and four holes for some standoffs to mount the Rock 5 onto.

Rock 5 B Clear Acrylic Covers

I also added the small button adaptor to the acrylic design so that it’s clear to pick up the LEDs light.

So that’s the design done, now let’s get the components made up.

Making Up The Case Components

To start with, I 3D printed the case in black PLA with a 30% infill. I also sliced it on its side so that it didn’t need any supports – this will make the print cleaner and we won’t have to remove any supports afterwards.

While that was printing, I laser cut the side panels and button adaptor from a sheet of 2mm clear acrylic. You could also use 3mm coloured acrylic sheets if you’d like to add some flair to the case.

Laser Cutting The Side Panels

After a few hours of printing, the body of the case was complete.

To finish it off, we need to add some M3 brass inserts to the corners for the side panel screws to screw into. These will make the holes more durable if we need to remove the side panels so we don’t have to worry about stripping the threads.

M3 Brass Inserts For Corners

We’ll just melt these into place using a soldering iron.

There are four on each side of the case, eight in total. The case is then ready to install the Rock 5 B into.

Installing The Rock 5 Model B & Fan

Before installing the Rock 5 into the case, I’m going to re-install the NVME drive after flashing a fresh install of Debian onto it.

Flashing the OS onto an NVME drive is so much faster than the SD cards I’m used to. It took about 5 seconds to flash the image and 7 seconds to validate it.

Flashing OS To NVME Drive

We can then install the NVME drive in the M.2 slot and secure it with a single M2x3mm screw.

Installing NVME Drive On Board

The Rock 5 looks like it fits into the housing quite nicely and all of the ports line up with enough clearance around them, so let’s get it mounted onto the side panel.

Rock 5 B Ports Line Up With Case

I’m going to mount it with four M2.5x12mm brass standoffs along with button head screws and nuts.

M2.5 Standoffs To Mount Rock 5 B

We’ll need to peel off the protective film on the side panel before installing the standoffs. I’m going to leave the outer film in place so that I don’t get fingerprints all over it while mounting the Rock 5 B.

I’m installing the standoffs with the M2.3 button head screw on the outside. This makes it easier to mount the Rock 5, by just placing it onto the male threads, and also keeps the outside of the case looking neat.

Design Update: After struggling to install the button adaptor directly onto the Rock 5, I added a 5th hole to the side panel so that an additional standoff can be used to mount the button adaptor. So make sure that you install five brass standoffs in this step instead of the four shown.

Installing Standoffs On Side Panel

We can then place the Rock 5 B onto the standoffs and secure it with some M2.5 nuts.

Rock 5 Installed On Side Panel

The button adaptor needs to be mounted onto the hole above the HDMI input.

This was a bit of a challenge to get a screw through the back of, but I eventually managed to get it into place. Don’t tighten the nut yet as you’ll need the adaptor to be loose to guide it through the hole in the front of the case. If you added a 5th standoff to the side panel as per the design update then this step is much easier to do.

It feels like it’s going to work well, it lines up well and is easy to push the button through the front of the case.

Clear Acrylic Button Bracket Installed

The adaptor needs to be moved to overlap the button while installing the side panel so that it can then be pushed through the cutout to the front of the case.

Side Panel Onto Housing

We can then hold the panel in place with four M3x8mm button head screws. Remember to remove the protective film before tightening the screws otherwise, some of the film will be caught underneath the screws and will be difficult to be peeled off.

Then we can push the button adaptor through the cutout and tighten the nut holding it in place. There is enough flex in the acrylic that this nut can be quite tight and still won’t prevent the button from being pressed. Ideally, you want the adaptor to be resting on the face of the button so that there isn’t a gap that needs to be closed to press it.

Button Pressing Bracket In Place

Next, let’s mount the fan onto the opposite side panel. I’m going to use the M3 screws and nuts that came with the fan for this and I’m mounting it so that it is pushing air into the case. Again, make sure that you peel the protective film off before tightening the screws or it’ll be difficult to remove.

Installing 40mm Fan On Side Panel

We can plug the fan into the 5V and GND pins on the Rock 5. The fan will also run on 3.3V, it’ll be quieter but will have slightly reduced performance.

Fan Plugged Into 5V and GND

Then we can close up the main side panel with another four M3x8mm button head screws.

Side Panel Secured Onto Case

And that’s the case complete, let’s get it hooked up to a power supply and monitor to try out.

Using The Rock 5 B Desktop Case

The Rock 5 B comes on automatically when it gets power, so we don’t need to push the power button to boot it up the first time.

It also boots up really quickly from the NVME drive. From the time you plug it in, it takes about 13 seconds to arrive at the login screen.

Rock 5 Model B Booting

Now let’s shut it down and see if the power button works to wake it up again.

Testing The Power Button On Rock 5 Model B

So there is a similar problem to the Raspberry Pi with this setup. Shutting down the board doesn’t remove power from the 5V pins, so the fan continues to run indefinitely. A workaround would be to use a PWM fan or one of these EzFan modules that require a GPIO pin to be pulled high to turn the fan on, that way when the board shuts down, the GPIO pin would turn the fan off as well.

That aside, it looks like the button works correctly to wake it back up.

Rock 5 Model B Booting After Power Off

The button adaptor doesn’t look that bright on camera but the button lights up pretty well using the internal LED.

Button Bracket On Front Lights Up

Let me know what you think of this Rock 5 B case in the comments section below and let me know if you’d like to see anything added or changed in the design. As with my other case designs, I’ve put a kit together for it in my Etsy store if you’d like to get one for your Rock 5 B.

Take Power With You On Days Out – EcoFlow River 2 Power Station Review

Today we’re going to be taking a look at the EcoFlow River 2 portable power station. This is an all-in-one battery, charger, inverter and DC power supply in a compact and portable package. It’ll take care of your power needs on days out, at work sites or on camping trips. EcoFlow have sent me the River 2 along with their 110W solar panel to try out, so let’s get it unboxed and then we’ll take a closer look at what it has to offer.

Here’s my video review of the EcoFlow River 2, read on for the written review:

Where To Buy The River 2

The River 2 can be bought directly from EcoFlow’s web store or alternately from most major camping and outdoors suppliers.

  • EcoFlow River 2 – Buy Here
  • EcoFlow River 2 Pro – Coming May 2023
  • EcoFlow River 2 Max – Buy Here
  • EcoFlow 110W Solar Panel – Buy Here

Equipment Used

Power Meter – Buy Here

Unboxing & First Look

The River 2 arrives in a branded box that is a little larger, mostly in the vertical direction, than a shoe box. Like with other EcoFlow products, the River 2 is well-protected with sealed edges and moulded foam inserts.

EcoFlow River 2 In Box

In the box, we’ve got the River 2 Power Station, a mains power cable, a car charger cable and a quick start guide. So there really isn’t much in the box, but that’s a good thing because EcoFlow have integrated everything you need into the River 2, so you don’t need to carry around additional charger bricks, adaptors or regulators.

EcoFlow River 2 Included In The Box

Inside the River 2 is a 256Wh Lithium Iron Phosphate battery which is good for over 3000 full power cycles. So if you used the full battery capacity every day, it would still last almost 10 years and still have 80% of its original capacity.

EcoFlow River 2 Front

Lithium Ion Phosphate batteries are also less prone to combustion and thermal runaway than Lithium-Ion batteries and the integrated Battery Management System continuously monitors the voltage, current and temperature to ensure that it stays within safe operating limits.

EcoFlow River 2 Front

River 2 Charging Options

Using the built-in mains charger, they claim that you can charge the EcoFlow River 2 at up to 360W which will take it from 0 to 100% in just one hour – which we’re going to test later. So even if you’ve forgotten to charge your Power Station the day before your trip, you should still have enough time to charge it while you prepare your things before heading out.

The River 2 also gives you three other ways to charge it. You can use the included car charger cable to charge it at up to 100W while you drive to your destination, or charge it using up to 110W of solar power, or even charge it using your laptop charger at up to 60W through the dual-purpose USB type C port on the front.

One thing to keep in mind with the River 2 is that, unlike some other power stations, you can’t use multiple charging methods at the same time. So for example you can’t have it plugged into mains and charging from USB C to get it to charge faster.

EcoFlow River 2 No Dual Charging

The solar input allows you to input up to 110W of solar power, meaning that you can fully charge an empty battery in around 3 hours or just keep it topped up while you’re using it on a sunny day.

To keep the battery and inverter cool, there is a fan between the power inputs on the back.

EcoFlow River 2 Fan On Back

This isn’t always on, it’s PWM controlled and only comes on under higher loads, particularly when charging or supplying high AC or DC outputs. There is a fan symbol that is shown on the display on the front when the fan is running. It’s also cleverly positioned under the handle so it can’t be easily blocked if the device is pushed up against a flat surface.

AC & DC Power Outlets

To use the stored power, there are a range of ports and outlets on the front of the River 2. On the left side of the display is a DC output which can provide 12V up to 100W.

DC Outlet On Front

On the right side of the display is an AC outlet which is rated for 300W but can deliver up to 600W using EcoFlow’s X-Boost mode, which we’ll take a look at in a little.

AC Outlet On Front

Beneath the display are three USB ports, two type A ports which can each do 2.4A and one type C port which supports power delivery up to 20V and 60W. This is the same port that can be used to charge the River 2.

USB Ports On Front

The display on the front of the River 2 is similar to that on other EcoFlow models and gives you a lot of information on the status of the device. From left to right, it shows you the time to fully charged or to empty depending on whether the battery is being charged or drained, it shows you the battery capacity within a power draw animation ring and then it shows you the total power input and power output in watts alongside it.

EcoFlow River 2 Portable Power Station

The display turns itself off after a few seconds to save power, but you can wake it up again by short pressing the power button. You can tell whether the River 2 is on or off by the small LED below the display which slowly fades on and off when it the unit is on.

You can also use the River 2 as a UPS which will pass power through from mains to your connected device and in the event of a power outage, will switch over in under 30ms, so you won’t even notice that you’ve lost mains power.

Charging Up To 100% In 1hr

Now that we’ve had a look at the features of the River 2, let’s try do some tests on it. The first thing that we’re going to test is the claim that you can charge the EcoFlow River 2 from empty to 100% in one hour.

Out of the box, the River 2 had a 29% charge and this went up to 37% while checking the charging options. So, let’s drain that completely first and we can then test the claim that it can be fully charged in under an hour.

I hooked it up to one of my 3D printers, which uses about 50W once heated and left it to drain completely. The River 2 stops the AC outlet when the battery is depleted to prevent over-discharge, but the battery management system and display remain active a while longer.

Draining Battery With 3D Printer

Once it was empty and indicating 0%, I hooked up the AC charger and timed how long it took to charge to 100% capacity.

Charging From 0 to 100 Start

After a few seconds, the display indicated that it would be fully charged in 57 mins, and in a little under half an hour the battery was 43% charged and the display indicated 33 mins remaining. So it was still on track to complete the charge in under an hour.

After 57 minutes, the battery was full and the power input ramped down to 0W. So the management system is quite good at predicting the time it needs to fully charge the battery with a consistent power supply and you can definitely fully charge the River 2 in under an hour as they claim.

Fully Charged In Under An Hour

Testing The River 2’s DC Outlet

Next, I tried the DC outlet on a small 36W air pump like you would use for camping.

Camping Air Pump 36W

This ran well as you’d expect and the display indicated that it could power the pump for around 6 hours.

Powering Camping Air Pump

Testing The River 2’s AC Outlet & X-Boost

The AC outlet is where the River 2 gets interesting. It is equipped with a 300W AC inverter, but using EcoFlow’s X-Boost technology, they claim that you can run most appliances up to 600W without overloading it. This is not to say that it can output 600W, it means that it can power 600W devices so that they are able to function albeit often at reduced performance. This works best on appliances that do not have any smart power supplies – ones with heating elements and similar resistive loads work best.

For my test, I’m going to try power this electric brush with a heating element that has three stages, with the highest setting drawing 800W.

Powering 800W Hair Brush

The River 2 was able to power the brush through all three settings and you can see the displayed output power doesn’t go over 350W.

If you watch my review video, you’ll hear that the motor in the brush sounds like it’s slowing down at higher heat settings. X-Boost is able to power the brush on the highest setting by still only outputting 300W. It does this by intelligently reducing the output voltage so that the inverter is not overloaded but is still powering the appliance.

As mentioned previously, this leads to a slight reduction in the performance of the appliance, but it does at least give you a way to use it.

There are also some limitations with X-Boost. You can’t use it while the River 2 is charging and because it is changing the supply voltage, there may be a further reduction in performance if you are using multiple devices on it. So you really only want to use a single AC appliance if you’re using X-Boost. This is not so much an issue on the River 2 since it only has a single AC outlet but is something to be aware of on their larger power stations like the Delta series.

You can also turn X-Boost off in the settings menu in the app if this is something you don’t want to use.

Testing The USB C Charging Port

I tried the USB C port to charge my MacBook and it indicated that it was charging at 60W which is the maximum that they claim it can do.

USB C Charging Macbook

Likewise, plugging the MacBooks charger into the River 2 allowed it to charge at 60W.

USB C Charging At 55W

Testing EcoFlow’s 110W Solar Panel On The River 2

EcoFlow’s 110W solar panel is made up of mono-crystalline silicon cells on a waterproof foldable panel which can be set up using the carrier bag as a stand.

I really like this design, it’s compact when folded up and the carrier bag feels like it is really good quality with rubberised water-resistant zips.

Solar Panel Carrier Bag

The surface of the solar panel is a bit weird, I’ve never seen a solar panel look like this, it’s almost like a rubberised surface as well, but I guess that’s part of what makes it waterproof and durable.

Rubberised Panel Surface EcoFlow 110W

To hook it up to the River 2, you just connect the panel to the included XT60 charging cable and then plug this into the port on the back.

Solar To XT60 Connection

With the panel in full afternoon sun, I first got a little over 90W out of it.

As with any solar panel, it needs to be facing the sun directly to get the most power out. By rotating it just a few degrees to better face the sun, I got an extra 10W.

The panels are also chainable, so you can hook up multiple 110W solar panels to their larger power stations if you’d like to. The River 2 only supports up to 110W of solar input so we’re only able to use a single panel.

Using The River 2 With EcoFlow’s App

Lastly, you can also hook the River 2 up to your smartphone through Bluetooth or WiFi and then use their app to monitor and control it as well as change its settings.

From the main screen, you can see the time remaining to fully charged or empty depending on whether the battery is being used or charged, you can also see the current rates of charge and discharge in watts and of each individual port below that.

You can turn the AC or DC inputs or outputs on or off remotely through the app as well. So you’ve got a lot more control than what you can do on the River 2 itself.

EcoFlow App Turn Outputs On or Off

You can also access the device settings which allows you to do things like turn X-Boost on or off, set timeouts, manage charge and discharge levels and even reduce the maximum power that the River 2 can draw from mains or a car charger when charging.

EcoFlow App Additional Settings

So if we set the charging limit down to a maximum of 100W then it limits the charger draw to 100W.

This is useful if you’re at a campsite or charging it from another low-capacity power source. Without this, it’ll just trip or overload the device that you’re trying to charge it from.

Final Thoughts On The EcoFlow River 2

In my opinion, one of the best features of the River 2 is just how portable it is for the features it includes.

River 2 Portability

It weighs only 3.5kg, or less than a gallon of milk for those who aren’t on the metric system. The flat top and sides mean that it is stackable, unlike the previous generation River, so it’ll fit right in amongst your bags and equipment. It’s even got rubber feet on the bottom so that it doesn’t slide around.

Overall I’m quite impressed with the River 2. The build quality is great, it’s got a good set of features for its size and price. The lithium iron phosphate battery design means that it should last you a number of years.

The only drawbacks are probably going to be the relatively low battery capacity and inverter power output because of its compact size. If those are too low for you then the River 2 Max doubles up on them as an alternative and the River 2 Pro which is launching early May has three times the battery capacity of the River 2. So EcoFlow have you covered with a range of options and any model in the River series is going to be a great companion when you need power on days out or for short camping trips.

Let me know what you think of the EcoFlow River 2 in the comments section below and if there is anything else you’d like to see me test on it.

Level Up Your Homelab With The Raspberry Pi CM4 Compute Blade

Today we’re going to be taking a look at the Compute Blade, a rack-mountable PoE (Power over Ethernet) carrier board for a Raspberry Pi Compute Module 4. They are designed to allow you to stack up to 20 blades, each carrying a Pi CM4 module, into 1U of 19″ rack space. So you’re able to create a low-profile cluster with up to 80 ARM cores, 160GB of RAM and 160TB of NVMe storage.

Raspberry Pi Compute Blade

The Compute Blade has been designed by Ivan from Uptime Labs, who began working on the concept in 2020 and has now launched the Blade through a Kickstarter campaign which is due to end a little before mid-April.

Since the original version, Ivan has been through 8 iterations, taking in feedback from the community and adapting the design to suit.

While a 20-node cluster is probably overkill for most people in a home environment, a 4-node cluster in his 3D printable enclosure with two 40mm fans on the back is perfect for a home lab.

Compute Blade 3D Printable Enclosure

Here’s my video review of the Compute Blade, read on for the written review:

Purchase Links

The Compute Blade is not yet available to buy through traditional channels but is available through the Uptime Labs Kickstarter campaign. I’ll update the links below when the product is available to purchase through a web store after funding.

Equipment Used

First Look At The Compute Blade

Taking a look at the board from end to end, at the front we’ve got one of two addressable RGB LEDs which are user-programmable. Alongside that is a Gigabit Ethernet port which supports PoE or power over Ethernet at up to 30W.

We’ve got a programmable button, a second RGB LED and three other status LEDs for SSD, power and activity.

Alongside them is a UART port and a selector with hardware switchable WiFi, Bluetooth and EEPROM write protection.

Dip Switch Selector For WiFi, Bluetooth and EEPROM Write Protection

We’ve then got a full-size HDMI port, with the CM4 module area and sockets alongside it. Underneath the CM4 module is a TPM 2.0 security chip that allows you to secure-boot your Pi. This is strategically covered by the CM4 module for added security.

Infineon TPM 2.0 Security Chip

Next to the CM4 module area is the PoE power converter which steps the PoE voltage down to 5.1V.

PoE Voltage Converter

Above that is a microSD card slot and a USB A port, and next to those is an M.2 M-key slot which supports NVMe SSDs up to 22110.

M.2 M-Key Port For NVME Drive

Below that is an expansion port for some optional add-ons like a real-time clock module or a Zymbit hardware security module that Ivan has been working on.

Expansion Module Port

Then we’ve got a USB C port and boot button which can be used to flash the boot loader on the CM4 module and finally there is a fan port on the back. The fan port is designed to be used with his fan modules that the blade will slide to plug into.

On the back of the blade, we’ve just got some manufacturing details on the PCB silkscreen.

Raspberry Pi Computer Blade Back

Preparing The Compute Blade For First Boot

To get the Blade ready to boot up, we need to install a Raspberry Pi CM4 module and a boot drive. I’m using a CM4 Lite module, meaning that it doesn’t have onboard eMMC storage and this one also doesn’t have onboard WiFi or Bluetooth. This is perfect for the blade since we’re going to be booting from the NVMe drive in any case and we’re going to be using the Ethernet port on the front.

Raspberry Pi Compute Module 4

For the boot drive, I’m using a 1TB NVMe drive which I’ve preloaded with Raspberry Pi OS Lite. I pre-configured the operating system to enable SSH and I added myself as a user. You can also boot from a microSD card plugged into the slot on the blade if you don’t want to use an NVMe drive, or if you want to use the NVMe drive as a storage drive only, but I prefer the reliability of using it as the boot drive.

Crucial 1TB NVME SSD

We can then install this awesome custom red heat sink over the CM4 module which has cooling pads for the CPU and RAM chips.

Putting The Compute Blade Into A Ventilated Enclosure

Before I power up the Blade, I’m going to make up an enclosure to hold it along with a 40mm fan at the back. This will be similar to Ivan’s 3D printable design for 4 blades but this one will be for one or two Blades and it’ll be made out of clear laser-cut acrylic.

Compute Blade 3D Printable Enclosure

One of the primary drivers behind the Blades design is that Ivan wanted to make them easy to swap out or replace if there is an issue with one. You can simply turn off power to the device and then slide it out of the chassis without affecting the surrounding blades or having to remove the whole rack – so we’re going to retain that in this enclosure design.

Laser Cutting A Clear Acrylic Enclosure

I laser cut the enclosure components from 2mm clear acrylic and glued them together along the edges.

I’m using the same Noctua fan that the Uptime Labs fan module uses but I’m just going to mount this directly onto the back of the enclosure.

Noctua PWM Fan For Back Of Blade

I’ll plug it into 5V and GND, so it’ll be running at full speed all the time. The Blade does have two of the Pi’s GPIO pins available on the fan connector, so you can implement PWM control if you’d like to, that way the Blade or cluster of Blades will run a lot quieter.

Plugging Fan Into Compute Blade

With that done, let’s boot up the Blade and try running some tests on it.

Blade In Enclosure With Noctua Fan

Compute Blade First Boot

If you’re using an older CM4 module like I am, then it probably has a bootloader version on it that doesn’t support booting from the NVMe drive. You’ll need to update the boot loader otherwise your Pi will just get stuck saying that no SD Card or Network boot location was found.

CM4 modules shipped out after July 2021 should have the new boot loader installed, but you can see this one’s boot loader version is from February 2021.

Fortunately, this is quite easy to do right on the Compute Blade, you just need to boot it up with the button next to the USB port pressed, then connect it to another computer using a USB C cable (I used another Raspberry Pi) and then follow a few command prompts to reflash the boot loader.

After that, the Compute Blade should boot up from the NVMe drive and will then be accessible on your network.

Compute Blade Booting Up

I’m using a second Pi to SSH into the Compute Blade to do some testing.

If we use the command lsblk, we can see our connected NVME drive.

NVME Drive Recognised By Pi CM4 Module

Running A Drive Speed Test

With the Compute Blade now booted, lets install hdparm to run a drive speed test.

sudo apt-get install hdparm

We can run the test by entering this command with the drive name that showed up when we ran lsblk.

sudo hdparm -tT /dev/nvme0n1
Testing Raspberry Pi NVME Drive Speed

I’m going to run this test three times as it might change a little each time we run the test.

So we get a cached sequential read speed of a little over 1000 MB/s and a sequential read speed a little over 375 MB/sec. This is much lower than what the drive is capable of but it isn’t a limitation of the Blade, but actually of the Pi CM4 module which only has a PCIe Gen 2 x1 bus available.

Thermal Testing The Compute Blade

Next, let’s try running some thermal tests.

I’ll do two tests on the Pi, both using a utility called CPU Burn, the first running in the enclosure with the fan running, and then with the Blade out of the enclosure and without a fan, so just passively cooled by the large heat sink.

To install CPU Burn, enter the following commands:

wget https://raw.githubusercontent.com/ssvb/cpuburn-arm/master/cpuburn-a53.S
gcc -o cpuburn-a53 cpuburn-a53.S

Let’s try the test with the fan first. We can run the test by entering:

while true; do vcgencmd measure_clock arm; vcgencmd measure_temp; sleep 10; done& ./cpuburn-a53

After running the test for a little over 20 minutes, the CPU temperature stabilised at around 37 degrees, which is really low for all four cores being maxed out continuously.

Thermal Testing Compute Blade Running CPU Burn

Looking at the heat sink through a thermal camera, we can see that it is heating up but it’s also not much over 32 degrees.

Thermal Camera Look At Heatsink In Enclosure

Now let’s take the blade out of the enclosure and run the test again.

After 20 minutes outside of the case, with only passive cooling, the CPU temperature has stabilised at around 56 degrees, which is still quite good considering this is under full load continuously.

Thermal Testing Compute Blade Running CPU Burn

Looking at the heatsink through a thermal camera, we can see that it has heated up quite a lot more than when it was in the enclosure, it is now around 52 degrees.

Thermal Camera Look At Heatsink On Pi Compute Blade

So you’ll be able to get away without a fan if your Blade isn’t running in a confined space but you’ll most likely need a fan if you rack mount it as intended.

The Compute Blade’s Power Consumption

Power consumption when idle is around 4W, so it doesn’t use much more than the CM4 module uses alone.

Energy Consumption Of Compute Blade No Load

With all four cores maxed out, consumption goes up to around 7W, which is still really power efficient. Even with a 20-node cluster with all 80 cores maxed out, you’d be using less than 150W.

Energy Consumption Of Compute Blade Full Load

Final Thoughts On The Compute Blade

There are also some other features of the Blade that I haven’t yet tried out. You can turn off the status LEDs if you aren’t a fan of flashing lights by entering some commands in the terminal. The two addressable LEDs are connected to GPIO18 on the Pi and are programmable, so you can use your own scripts to get them to indicate specific metrics or errors. Similarly, the button on the front of the Blade is connected to GPIO20, so you can program that to do whatever you’d like as well, like initiate a safe shutdown.

Activity LEDs On Front Of Compute Blade

So the Compute Blade is a feature-rich board that is going to be great for a home lab or to pack a significant amount of computing power into a single unit of rack space. There are a lot of benefits to running individual smaller computing nodes rather than a number of virtual machines on a single more powerful computer.

Let me know what you think of the Compute Blade in the comments section below and let me know if there is anything you’d like to see me try on it. Also, check out the Kickstarter page if you’re interested in getting one, Ivan has already blown past his first funding milestone.

Make A Tiny Raspberry Pi Based Cyberdeck

I’ve had a Hyperpixel 4 display in my project cupboard for about two years now. I bought it because it looked like the perfect display to pair with a Raspberry Pi to build a tiny Cyberdeck because it plugs into and is driven entirely through the Pi’s GPIO pins.

Hyperpixel 4 Display Plugs Directly Into Pi 4 GPIO Pins

So when Atomstack reached out and asked me if I would like to try out their new Atomstack X30 Pro laser engraving and cutting machine, I thought that this would be a great project to build with it.

I’m going to make up the Cyberdeck in a clamshell design with the display mounted directly onto the Raspberry Pi in the top half and then a small keyboard in the bottom half. I found a re-purposed keyboard from a Blackberry online which has a small custom carrier board on it to make the keyboard and trackpad act as a USB-connected keyboard and mouse. So, I’m going to build this into the bottom half.

Blackberry Keyboard With Trackpad

To make up the case components, I’m going to use the new Atomstack X30 Pro to laser-cut and engrave some 3mm plywood sheets. You can find out more about the X30 Pro in my unboxing and review post.

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

What You Need To Build Your Own Tiny Cyberdeck

Tool & Equipment Used

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

Designing The Tiny Cyberdeck Components

I designed the two halves of the Cyberdeck in Inkscape. It’s essentially two boxes, one that will hold the Pi and display and form the top half of the clamshell and then a second to hold the keyboard in the bottom.

Plywood Cyberdeck Design In Inkscape

Holding the two halves together are these hinges, which are shaped this way to limit the opening range of travel to a 45-degree angle. It’ll also hopefully be able to sit on a desk when it’s open without toppling over. I’ll have to see about this as there is a lot of weight in the top half with the Pi and display both there.

Plywood Hinge Design To Limit Travel

I also put my initials onto the top plate as a logo to engrave.

Cutting The Components On The X30 Pro

Let’s load a piece of plywood and engrave and cut the top half components. I’ve set Lightburn to engrave the logo first so that the part doesn’t shift when it is cut. I’ll leave the air assist off for the engraving and then turn it on when it starts cutting.

If you watch my video, you’ll see that the laser runs back and forth in lines, called scan lines, to mark the wood and create the logo.

Laser Engraving The Logo

Once that’s done we can turn on air assist to start the cutting.

Laser Cut Case Components

Now we’ve got the first sheet of components cut. Next, let’s cut the components for the bottom half.

Assembling The Cyberdeck

To assemble the cyberdeck, let’s first glue the bottom sections of each half together. These fit together using the interlocking tabs that we’ve cut into them, we just need to make sure that we put them in the right way around.

Clean Edge Cuts Using Air Assist

I’m using PVA wood glue to glue the components together. You can use clamps to hold them together while the glue dries for a stronger bond.

The keyboard housing goes together in a similar way, again making sure that the sides with the hinge tabs are installed the correct way around. The cutouts for the back strips should face upwards towards the surface of the keyboard.

Assembling The Keyboard Half Of The Case

With those drying, we can mount the display onto the Raspberry Pi. It comes with a set of standoffs and a header extension, so let’s plug the extension into the GPIO pins.

Pressing GPIO Adaptor Into Place

We can then screw the standoffs into the back of the display.

Screwing In The Display Standoffs

Then press the display into place on the Pi.

Plugging Raspberry Pi Into Displays GPIO Pins

Now let’s mount the display and Pi stack into the top half of the Cyberdeck. The screws that hold the Pi onto the display’s standoffs are too short to go through the plywood as well, so I’m going to replace them with some M2.5x12mm screws.

I’ve prepared a microSD card with Raspberry Pi OS on it and I’ve pre-configured the software for the Hyperpixel 4 display, so it should work automatically shortly after booting up. The microSD card will still be accessible through the slot on the side of the Cyberdeck, so we don’t have to open it up again if we need to re-flash the card.

We can then press the bezel into place around the display. I could add a drop of glue to the edges to make sure that it doesn’t fall out again, but it actually fits into place quite well without glue.

Next, let’s do the same with the keyboard. We’ll position it within the cutout and then glue the bezel into place to hold the keyboard.

Installing Keyboard Into Bottom Half Of Case

Then we need to add the hinges to join the two halves together. These just use some M3x12mm screws, nuts and washers to mount them onto the two halves. I’m using two nuts on each so that the nuts can be tightened against each other and not the hinge so that the hinge is able to move freely.

Double Nut On Hinge To Allow Movement

We also need to make sure that they are positioned correctly so that the end stops stop the display from opening too far.

Hinge Opening Limits

Lastly, I’m going to glue some felt strips onto the outer edges so that the display doesn’t rub against the keyboard when it is closed as this might scratch it.

Adding Felt Strips To Cyberdeck

That’s the Cyberdeck complete. I really like the clamshell design and how compact it is when it’s folded up.

Completed Cyberdeck

Using The Cyberdeck

To use the Cyberdeck, we need to plug in a short USB C cable between the keyboard and the Pi as well as a power cable.

A straight USB C cable is fine if you’re using it as a handheld device, but if you want to use it on a desk then you’ll need to use a cable with a 90-degree connector otherwise it’ll rest on the connector and won’t lie flat on the desk.

Once it boots we can use the touchscreen or trackpad to move the cursor and open applications and we can type in commands using the keyboard.

Testing The Cyberdeck Keyboard

There is an under-voltage warning coming up periodically with this cable. So it probably isn’t able to supply enough power to drive the display and keyboard attached to the Pi as well.

This doesn’t come up if I use my USB-C adaptor directly, but this doesn’t have a 90-degree connector on it.

Youtube Playback On Cyberdeck

The Cyberdeck uses around 4-6W when running, so it can be powered through a power bank for a couple of hours if you’d like it to be completely portable.

Power Consumption

I think it’s come out really well, let me know what you think of the Cyberdeck in the comments section below and let me know if there is anything that you think I could improve upon or change.

Big Buck Bunny Playback On Cyberdeck