I just got a new Raspberry Compute Module 4 enclosure! Check it out on Amazon.
It’s got an internal controllable fan, dual camera connectors, full-size HDMI connectors, and 4 USB connectors. The enclosure itself is two steel halves that fit together and are held in place with 6 screws. The carrier board has a great selection of I/O including:
- 2x CSI (Camera Serial Interface)
- DSI (Display Serial Interface)
- RTC (Real-time clock) with an onboard battery holder
- controllable FAN header
- 2x HDMI
- 4x USB
- RJ45 Gigabit Ethernet
- Micro SD Card Slot
- M.2 Slot
Yes, that’s right even an m.2 slot on the bottom of the carrier board! Arm yourself with an NVMe drive that’s got a PCIe M.2 KEY-M interface in the 2230 or 2242 length. This one is 512GB for $80.
The CM4 presses down onto the two mezzanine connections. There are riser post holes if you think the friction fit isn’t enough. I didn’t use them. Clip on the fan. I mounted the fan upside down so that the label is inside and the fan blows in. The screws suddenly became the proper length as opposed to mounting the fan blowing out.
In that orientation, the fan has recesses for the nuts. Your choice.
Now pair the halves together and use the smallest screws in the kit to secure them. Notice how nicely everything lines up between the enclosure and the carrier board! Excellent manufacturing!
Burn an SD card with your favorite OS image and power it up with the supplied USB-C power supply. I used the HDMI connector and the network connector on the case, so I didn’t have to resort to the supplied ribbon cable adapters.
This is where the build went south, briefly! Neither of the onboard USB connectors would work! I found the WaveShare wiki and found a note about enabling the ports. Apparently, On-the-Go USB is disabled in the newer versions of the OS so you need to edit /boot/config.txt on the SD card to get them working. I added the following:
Save the file, reboot, and everything works! Got it screwed to the wall with the included mounting ears.
Controlling the Fan on the Waveshare CM4-IO-BASE-BOX-B
Here’s a cool project that I found on github that is a reasonable replacement for lm-sensors for the Raspberry CM4. Check it out on github!