Malaysia based Cytron has a history of making fun Maker boards. From the Maker HAT, Maker Pi Pico, and the robotics focussed Maker Pi RP2040 we have reviewed it is evident that Cytron are catering for the maker market. For its latest board, the $56 CM4 Maker Board, we see its focus shift from the mainstream Raspberry Pi and Raspberry Pi Pico, to the Raspberry Pi Compute Module 4.
The CM4 Maker Board is a Swiss Army knife, it offers all the connections that we need to connect HATs, sensors and fast NVMe SSDs in a 110 x 110 mm package. But is this versatility to the detriment of its functionality? To understand this and learn more about the board, we put it on the new test bench and started the tests.
CM4 Maker Board Specifications
Socket | Compute Module 4 |
GPIO | Full 40 pin Raspberry Pi compatible GPIO |
5 x Maker Ports (Grove connectors) | |
1 x Stemma QT (Qwiic / QW/ST compatible) | |
10 x GPIO LEDs | |
3 x Push button inputs | |
Piezo buzzer (GPIO 19) | |
Headphone audio out (GPIO18 and 19) | |
Real time clock | |
Ports | 4 x USB 2 |
Gigabit Ethernet | |
HDMI (4K60) | |
USB C (Power and to flash eMMC with OS) | |
1 x Camera (CSI) Connector | |
1 x Display (DSI) Connector | |
Storage | Micro SD slot for CM4 Lite |
M.2 NVMe for 2230 and 2242 drives | |
Power | 5V via USB-C |
7-18V via DC jack | |
Onboard power switch and breakout for external power button | |
Dimensions | 110 x 110 x 17.3 mm |
As ever with Cytron boards, we are greeted with the distinctive purple PCB. The silkscreen is easy to read, and helpfully reveals which GPIO pins that many of the ports and LEDs are connected to. Even the M.2 socket has a helpful reminder not to use SATA drives with it. The CM4 Maker Board layout is more like a typical PC motherboard than a single board computer.
All of the main ports (USB, Ethernet, Power etc) are located on one side of the board. The four USB 2 ports are nice to have, but I would’ve loved to see a USB 3 port, because now the only way to get high-speed storage is to use the M.2 NVMe connection. On the opposite side are the Maker Ports, Cytron’s name for Grove and Stemma QT connectors.
I didn’t receive any wires in the box, but luckily I have an extensive collection of both Grove and Stemma QT components. The Compute Module 4 is placed in the center of the board, with the silkscreen indicating the orientation. You can, just like with many other CM4 carrier boards, insert it upside down. Just make sure that the holes line up before pressing down.
Just below the CM4 socket, and to the right of a CR2032 battery holder for the real time clock, is where an NVMe 2230 or 2242 SSD can be installed. I installed a 128GB Cytron Makerdisk and then installed Raspberry Pi OS to the eMMC of my Compute Module 4 test unit. Then, using Raspberry Pi OS’ SD Card Copier, I copied the install to the NVMe drive.
Booting from NVMe is not as fast as eMMC, strangely. Coming in around six seconds slower than eMMC, NVMe really comes into its own when used for general computing tasks. It has a much higher sequential write speed of 367 MBps versus eMMC’s 70MB/s. Finally I tested a 64GB Class 10 A1 SDXC card and this test showed the slowest sequential write speed of just 29.5 MB.
Header Cell - Column 0 | Boot Time (seconds) | Sequential Write Speed |
---|---|---|
NVMe | 30.63 | 376643 KB/sec |
eMMC | 24.25 | 72575 KB/sec |
Micro SD | 26.85 | 30214 KB/sec |
Using Cytron CM4 Maker Board
With the OS installed to the NVMe drive, I started the process of testing the GPIO. Firstly I wanted to control the LEDs connected to specific GPIO pins. These are a useful means to check the status of a GPIO pin, and can be used to test that a specific programming language's GPIO library is working correctly, without the need for wiring anything up.
After playing with the LEDs I then tested the three buttons connected to GPIO17, 22, 27 using GPIO Zero. I then decided to test my musical prowess with the onboard piezo buzzer. Connected to GPIO19, I was able to “compose” a short tune, which I expect will not be picked up by any publishers.
There are two more buttons near the USB-C port. These buttons are for safely powering off the board. Using Cytron’s install script, I was able to set the board to react when both buttons are pressed. This will trigger a safe shutdown of the Compute Module 4. Just above are two pins which replicate the button’s function. These pins can be connected to a button on the outside of a case. So if you want to embed your Pi in an old PC case, that would help.
With the board powered off, I then connected a HAT, specifically Pimoroni’s Explorer HAT Pro, a HAT that features in our list of Best Raspberry Pi HATs and also a board that I used to teach programming with. After enabling I2C and running a few tests I can say that you’ll have no issues with the GPIO. I just wish that there were some M2.5 spacers in the box, pressing the Explorer HAT Pro’s buttons left it perilously close to the SoC of the CM4.
Of interest are the Maker ports that line up along one edge of the board. Here we can connect Grove compatible components to digital GPIO pins, PWM, UART and I2C. To easily test the Maker ports, I turned to Adafruit’s CircuitPython libraries as they make short work of connecting sensors and components.
The first component to test was a 128x64 OLED display that used the I2C protocol. After locating the library and writing a test script, I soon had a randomized starfield dancing across the screen. Next up, Stemma QT. In fact this port is so small, and tucked away, that I originally missed it. I plugged in an Adafruit MPU 6050 6 DOF accelerometer and gyro sensor, installed the library and then wrote a few lines of code to stream the data to the Python REPL.
A quick test of the camera is where I encountered my first “gotcha”. I really should’ve read the manual. The Compute Module 4 needs to be configured to use a camera. After running the necessary script, I retried and captured a gloriously clear shot of myself testing the camera. I used the latest wide angle Camera Module 3 with autofocus and everything just worked from then onwards. I didn’t have the opportunity to test the display port, owing to the fact that I cannot find my official display since I moved my office space.
What Projects is Cytron’s CM4 Maker Board Good For?
The Cytron CM4 Maker Board is good for all projects, especially those that might otherwise work with a Raspberry Pi Model B. Unfortunately, the Raspberry Pi Compute Module 4 is often the hardest board to find in stock, so if you have one, you got it for a specific reason.
Cytron’s CM4 Maker Board is more of a Swiss Army knife than a scalpel. It does a lot of things well, instead of one thing excellently. The GPIO and Maker ports are great to have, but we can get the same functionality with HATs on the Raspberry Pi. The onboard NVMe slot is most welcome and provides a great deal of speed to Raspberry Pi OS.
Our initial idea for the CM4 Maker Board was to use it as the base for an arcade cabinet build. The aligned ports would work like a motherboard in a PC case, offering access to the ports, while keeping everything tidy. The NVMe drive would provide fast access to the emulators and ROMs, and the HAT compatibility would enable the use of Pimoroni’s Picade HAT for easy wiring. Another project could be a sensor station, collecting data from sensors connected to the Maker ports and GPIO.
Bottom Line
I loved my time with this board. Apart from the camera issue, something that required me to read the manual, this board just worked and it did a great job. If you want to use HATs with your Compute Module 4, boot from NVMe or use Stemma QT / Grove components then this is the board for you. Its adaptable nature lends itself to many projects; just make sure that you have a project in mind before buying.
MORE: Best RP2040 Boards