Designed by Oratek in Switzerland
Overview
The TOFU board is a carrier board for use with Raspberry Pi Compute Module 4 (CM4). Inspired by the official CM4IO board, it is intended for industrial applications. With user friendly additions, it may also be used by enthusiasts looking for a compact yet complete solution to interface the many inputs and outputs of the single board computer.

Engineering Notice
The board has been updated to version V1.1 and V1.0 is no longer produced. V1.1 does not impact features, design or performance in any way but gives more design flexibility by moving away components placed underneath the Compute Module. All present and future shipments will be V1.1. The version number is found on the packaging and on the board itself.
V1.1 Changelog
Added
- UKCA logo
Changed
- UKCA logo
Removed
- SIM_SW 0R (R31, below CM4)
Features
The size of the board is 9x9cm and its main features are :
- Standard Raspberry Pi 40 pin GPIO header
- Gigabit Ethernet port with PoE through the official Raspberry Pi PoE HAT
- M.2 2242/3042 socket (key B) with micro SIM card holder. See compatibility list
- 3x USB-A ports
- Full size HDMI port
- Camera and display ports (newer 22pin version, flexible adapter cables can be purchased separately here)
- Two power inputs for industrial connectors (2.1mm barrel and standard 3.5mm terminal block)
- Large input voltage range, from 7.5 to 28V. Also available on 3x1 header pins for sharing to HATs requiring higher voltages (recommended power rating: >24W)
- Micro SD card slot. Only used for CM4Lite (no eMMC memory)
- USB-C port to use it as an OTG device and for programming purposes. May also be used to power the CM4, with power constraints if used with peripherals.
- Circuit protections added for safety reasons (ESD, over- and reverse-current protections)
- Standard Raspberry Pi, CM4 and 4 additional M3 mounting holes for design flexibility

Operating temperature
The CM4 is rated from -20°C to 85°C. All components on the TOFU board comply with this range. Apart from connectors, all electronic components are rated for -40°C or below.
Layout
.webp)
Additional information
Note: When powering the device through PoE or other power HATs (5V line of RPi header as power input), or with USB-C, a hissing noise may appear from the unused power supply. The fuse may be removed for silent operation in these cases.
Edit note: After feedback from our customers, it appears PoE and power HATs will in fact power on the m.2 connector. However, the output current is often limited to 2.5A on these boards. We recommend a higher current rating for proper operation of all peripherals.
Tested compatibility list
NVMe SSDs (M.2 2242)
- KingSpec NE 2242, 128GB
- Western Digital PC SN520, 128GB
- Transcend MTE452T, 128GB
M key NVMe SSD (through adapter)
- Western Digital Blue SN550, 256GB, M.2 2280
- Western Digital Black SN750, 1TB, M.2 2280
- Samsung 970 Pro, 512GB, M.2 2280
Wireless/LTE/GPS modules (M.2 3042)
- Huawei ME906s-158
- Huawei ME936
- Sierra Wireless AirPrime EM7345
- SIMCom SIM7600G-H
Technical files
Mechanical
Electrical
Setup
Board features
To fully utilize the board possibilities, both USB ports and NVMe interfaces have to be enabled.As indicated on the CM4IO board datasheet:
"The USB interface is disabled to save power by default on the CM4. To enable it you need to add the following to the config.txt file :"
dtoverlay=dwc2,dr_mode=host
NVMe support is also not enabled by default on Raspberry Pi OS. The command
sudo modprobe nvme-core
is needed, followed by a reboot to enable the NVMe kernel module. More information on NVMe can be found on Jeff Geerling's CM4 review.
eMMC boot
To boot on eMMC, hold down the nRPIBOOT button while plugging the USB-C cable for flashing (no other power input). The USB cable will power the CM4 while it boots. You may release the button after having plugged the cable. Then, you need to run the rpiboot script. This can be done in two ways:
- If you have BalenaEtcher, open it. It will run the script in the background, and after a few seconds, your device will be recognized.
- Install rpiboot directly. For Linux/macOS, follow the instructions on their github page. For Windows, you can download the installer.
More information for flashing the eMMC can be found here.
Watchdog functions
The compute module behaves much like a Raspberry Pi 4. Thanks to this, one can use the same watchdog functions for reliability issues. You can have a look at diode.io for more information on how to use those. More information may also be found on this StackExchange thread.
SSD mounting
First, you need to partition the storage, following this tutorial from pidramble. Note that /dev/sda1 will most likely be replaced by /dev/nvme0n1.
An alternate possibility for mounting can be found on Raspberry Pi's website, here (with a formatted device).
A neat benchmark test can be run to find your SSD performance by running the command from pibenchmarks.com/, where you'll see great results on the TOFU board in Top Scores (SBC).
sudo curl https://raw.githubusercontent.com/TheRemote/PiBenchmarks/master/Storage.sh | sudo bash
This command has to be run in the disk location.
NVMe SSD boot
Raspberry Pi now Supports NVMe SSD booting, and the TOFU board is the perfect companion for that! You may find more information on Raspberry Pi's documentation.
Network cards
M.2 network cards often use the USB line of the connector as interface. Remember to enable the USB interface, as mentioned above.
The tested cards work natively using Balena OS with Network Manager and Modem Manager being pre-installed. You will just have to set up a configuration file and it works straight out of the box (more details).
Another way is to manually install Network Manager and Modem Manager and configure it. This is not specific to the TOFU board but more general to Linux. A guide to get started can be found here.
Camera and Display ports
On the TOFU board, the camera and display ports are cam1 and disp1. You can find help on enabling these on the Raspberry Pi documentation (camera and display). You can for example download the file "dt-blob-disp1-cam1.dts" at the bottom of the page.
You then need to compile the file (this will display lots of warnings which can be ignored):
sudo dtc -I dts -O dtb -o dt-blob-disp1-cam1.dtb dt-blob-disp1-cam1.dts
Then install the dt-blob.bin:
sudo cp dt-blob-disp1-cam1.dtb /boot/dt-blob.bin
reboot, and you should be all set. More information can also be found here. To use the camera, you may refer to these guides on libcamera software.
Pin configurations


Network cards
M.2 network cards often use the USB line of the connector as interface. Remember to enable the USB interface, as mentioned above.
The tested cards work natively using Balena OS with Network Manager and Modem Manager being pre-installed. You will just have to set up a configuration file and it works straight out of the box (more details).
Another way is to manually install Network Manager and Modem Manager and configure it. This is not specific to the TOFU board but more general to Linux. A guide to get started can be found here.
Resources
- Raspberry Pi Compute Module 4 datasheet
- Raspberry Pi Compute Module 4 IO Board datasheet
- General Raspberry Pi documentation
Customisation
Oratek is an engineering firm at earth therefore any customization or development based on the TOFU is not only a possibility but also a reality. In the past years, we have developed numerous custom development and we are happy to hear any request.
For any enquiry, please contact us
Declarations of Conformity
Raspberry Pi is a trademark of the Raspberry Pi Foundation