I’ve recently been reviewing many different single board computers that are outside of the Raspberry Pi ecosystem due to the ongoing pricing and availability issues with the Pi. Today will be my first review of a product that is meant to be an alternative to the Compute Module 4! There are several different CM4 knockoffs/alternatives available and I’ve already also received a Pine64 SOQuartz which I’ll be reviewing in the near future.
Today we will be examining the BIGTREETECH CB1(revision 2.2) as well as the official Pi4B adapter (meant to be one choice of IO board for the device). These are generally meant to be used with 3D printers as BIGTREETECH’s catalog is largely geared toward 3D printing.
I will not be reviewing the device for that purpose today. I will be examining it as a more general-purpose CM4 alternative. We’ll look at the images available, try plugging it into some other I/O boards meant for the CM4 and seeing what works and what doesn’t, benchmarking the performance and try to reach a conclusion about what a board like this will work for and what it won’t.
The packaging and build quality of the BIGTREETECH CB1 and the Pi4B adapter are fairly high. Let’s take a closer look at the CB1 module here:
And the back:
The boards look great. The contrast between the text and the board is fantastic. You can clearly see all the circuit traces and on this board you don’t need to hold it up to the light a certain way to see the traces. They’re always visible in normal light without having to rotate or angle the board against the light to see them.
The only nitpick I have is the perforations along the right side of the board most easily seen in the “Bottom” view above. For how high quality their packaging and the board itself is this is surprising to me that they didn’t clean up those perforations. This isn’t a big deal though especially given how much cheaper these are than an actual CM4 in this market.
Now let’s take a look at the Pi4 adapter IO board. The build quality is the same high quality:
And the bottom view:
You can see that it follows the same clear labeling and tracing that the CB1 board itself does. Overall the build quality is great for the price.
A wireless antenna is also included in the box with the CB1.
As always let’s evaluate what images are available for the board as well as how fresh they are. In the case of the CB1 there are only two images officially available (with more in the works both officially and unofficially).
The official image download page is here on GitHub. At time of writing these were:
- CB1_Debian11_bullseye_minimal_kernel5.16_20220929.img.xz: Only the shell script for setting WiFi configuration from SD card is added (based on pure Debian)
- CB1_Debian11_bullseye_Klipper_kernel5.16_20220929.img.xz: Klipper, Moonraker, Mainsail, Dependent library for resonance compensation , Linux-Host-MCU, and KlipperScreen(tested on on BTT HDMI-5 & HDMI-7) are installed (based on CB1_Debian11_bullseye_minimal_kernel5.16_20220929.img.xz)
These are reasonably fresh and are using kernel 5.16. This is looking good so far. The first image is the one that is meant for general use. The Klipper image includes the full desktop environment and includes other utilities/firmware for 3D printing such as Klipper. For this review I used the minimal image.
The source code is available as well including the entire kernel source tree. Huge props to BIGTREETECH for making that available for everyone.
There are very few third party images available at this time but it’s only a matter of time. With the kernel being open source it’s just a matter time before people start to put their own images together. Undoubtedly there are some out there and available on the forums but at time of writing none of them had risen to the top as a clear and well-supported alternative yet.
I wrote the image to a SD card and connected the power to the Pi4B IO board’s USB-C power port. It immediately joined the network with SSH enabled. The login and password were root/root:
email@example.com's password: ____ _____ _____ ____ ____ _ | __ )_ _|_ _| / ___| __ )/ | | _ \ | | | |_____| | | _ \| | | |_) || | | |_____| |___| |_) | | |____/ |_| |_| \____|____/|_| Welcome to BTT-CB1 2.2.0 Bullseye with Linux 5.16.17-sun50iw9 System load: 5% Up time: 3 min Memory usage: 12% of 984M IP: 192.168.51.177 CPU temp: 44°C Usage of /: 3% of 59G [ 0 security updates available, 5 updates total: apt upgrade ] Last check: 2022-09-28 08:02 root@BTT-CB1:~#
We’re all signed in and there’s even apt updates available! I did those first with:
sudo apt update && sudo apt full-upgrade -y
I did not have any difficulty connecting to the WiFi but I saw some reports online from others that did have trouble. Make sure you have connected the external antenna (it’s included in the box). The CM4 has a decent internal antenna but it’s very likely they give you the external antenna for free for a reason.
The CB1 likely has a weak or non-existent internal antenna and I’d be willing to wager that is where many of those WiFi issues stem from. People don’t realize they need to use the external antenna connector for reliable WiFi performance.
Benchmarking I/O Performance
Let’s see what it can do. The rough power level of this hardware is more equivalent to a Raspberry Pi 3 than a Raspberry Pi 4. I expect the performance to roughly to fall somewhere between a Pi 3 and a Pi 4.
You can verify the performance of your SD card on Pi Benchmarks using the following command:
sudo curl https://raw.githubusercontent.com/TheRemote/PiBenchmarks/master/Storage.sh | sudo bash
Here are the results:
Category Test Result HDParm Disk Read 22.51 MB/s HDParm Cached Disk Read 22.52 MB/s DD Disk Write 18.7 MB/s FIO 4k random read 1878 IOPS (7512 KB/s) FIO 4k random write 766 IOPS (3065 KB/s) IOZone 4k read 8031 KB/s IOZone 4k write 2959 KB/s IOZone 4k random read 7506 KB/s IOZone 4k random write 3175 KB/s Score: 1,070
I would consider this a good result. A Pi 3 average score is somewhere around 900 points while the Pi 4 is somewhere closer to 1100 or so. We’re right between that range as expected.
When testing I/O speeds I am particularly looking for any bottlenecks that may reduce your performance below what you should expect on the board. The CB1 performed exactly where it should given the hardware in the board which I would consider a positive for any product that is an alternative to something else!
Testing Other IO Boards
So everything performed very well using BIGTREETECH’s own Pi4B IO board. I wanted to test how well it would perform with other boards. These are all boards that I have covered in Different Shapes and Sizes of Compute Module 4 IO Boards.
First I tried the official reference board for the CM4:
In addition to just seeing if it would work I tested USB and Ethernet. Ethernet worked perfectly as well as USB:
root@BTT-CB1:~# lsusb Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 003: ID 174c:55aa ASMedia Technology Inc. ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge, ASM1153E SATA 6Gb/s bridge Bus 002 Device 002: ID 0424:2514 Microchip Technology, Inc. (formerly SMSC) USB 2.0 Hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
We can see my USB to 2.5″ SATA adapter here that I was testing for connectivity.
Wow. I’m impressed so far but this is just the reference board. I wanted to try something more interesting next. I decided to try the Waveshare PoE I/O board:
This board has no power cable going into it at all and is powered purely by the Ethernet connection (PoE). This board also has USB 3.1 ports on it unlike the BIGTREETECH official board which only has USB 2.0.
Everything worked perfectly again. I can hardly believe it. This does work seem to work really well with the more popular I/O boards that I have for the CM4!
Pros / Cons
- Relatively inexpensive
- Official image has reached a point where it seems to be widely compatible with most common CM4 I/O boards
- Can be hard to order individual modules as most listings are bundles
- Seems to be intended for more specific 3D printer usage rather than general usage (but they certainly don’t stop you)
I’m very impressed. A lot of the talk around this product online is pretty negative so I was expecting a pretty rough experience. Instead it worked better than my wildest hopes to be honest after some of my more recent reviews of Pi Zero competitors.
It’s not a drop-in replacement because it doesn’t run Raspberry Pi OS. It *is* however potentially a drop-in alternative. You literally can use this with other IO boards meant for the Compute Module 4.
Does your project require you to run Raspberry Pi OS? Then this won’t work (for now, it would not surprise me to see Raspbian come to this). Would your project work on a board running something really similar to Armbian on a open-sourced 5.16.x kernel? If so then this board is absolutely worth investigating.
I only spent $47 on AliExpress for everything you see here. I ordered it from BIGTREETECH’s official AliExpress store*. That is including the heat sink and the Pi4B IO board as well as the CB1 itself (and shipping to the US). That is absolutely a bargain and if you know you can get away with running something different than Raspbian I actually highly recommend this board!
I’ve reviewed another CM4 alternative called the Pine64 SOQuartz here
Don’t miss the rest of my SBC reviews here