From Waveshare Wiki
Jump to: navigation, search
Compute Module PoE Board
Compute Module 4

Mini Base Board, Composite Breakout Board for Developing with Raspberry Pi CM4 / CM4L




Primary Attribute
Category: Raspberry Pi
{{{userDefinedInfo}}}: {{{userdefinedvalue}}}
Brand: Waveshare
International: Website
Chinese: 中文官网
Onboard Interfaces
Related Products


Mini Base Board (B) Designed For Raspberry Pi Compute Module 4


1: This model only support 5V fan and cannot work with the 12V fan. Please confirm the fan voltage before connecting.
2: The DSI Display Port is connecting the DSI0 interface of the CM4, and doesn't use the DSI1 display interface.
3: The Type C interface can be used for power supply or USB SLAVE interface for burning the image.
4: In order to ensure the normal power supply of CM4, please do not connect other devices when using the Type C interface to burn the image.
5: It needs to use a 5V 2A power supply for CM4. Otherwise, problems such as automatic shutdown, frequency reduction, etc. may occur.
6: When using the M.2 interface, please use the matching screws. Using screws of other lengths may cause the CM4 core to be damaged by the screws.
7: The module doesn't have any protection circuit, please do not short-circuit the power supply.
8: USB2.0 is closed by default, if you need to open it, you need to add dtoverlay=dwc2,dr_mode=host in config.txt.
9.HDMI1 uses a flat cable output, if you need to use it, you can purchase an HDMI adapter.
10.This expansion board does not support POE function.


Compute_Module 4 Core board
Compute Module 4 IO Board 5.png

What's on board


No. Component Description
1 CM4 connector Suitable for all versions of Compute Module 4
2 DC power supply/programming interface 5V/2.5A power supply, also can be used as eMMC programming interface
3 DISP Interface MIPI DSI Display interface
4 FAN Interface For connecting cooling fan, allows speed adjustment and measuremen, only support 5V fan.
5 CAM Interface Dual MIPI CSI camera interface
6 HDMI0 Interface HDMI Interface,Support 4K 30fps output
7 USB 2.0 Interface 2-channel USB 2.0 Interface, for connecting sorts of USB devices
8 Gigabit Ethernet Gigabit Ethernet RJ45 connector, with 10 / 100 / 1000M network support
9 M.2 indicators Indicating the operating status of M.2 interface
10 ACT indicators Raspberry Pi operating status indicator
11 PWR indicators Raspberry Pi power indicator
12 BOOT selection jumper shorted: CM4 would be booted from USB-C interface
jumper opened: CM4 would be booted from eMMC or Micro SD card
13 40PIN GPIO Interface Conveniently connect various HAT modules
14 Micro SD Card interface For connecting a Micro SD card with pre-burnt image (Lite variant ONLY).
15 HDMI1 interface HDMI1 Interface,Support 4K 30fps output
16 USB 2.0 interface Can be connected through an adapter
17 FE1.1S USB HUB chip, expanding one USB port to 4x ports
18 M.2 Interface Supports sorts of NVME SSD, or communication modules with PCIE M.2 KEY-M interface
19 RTC Allows RTC-related functions like wakeup, shutdown, reboot, and more
20 RTC interrupt pin switch PI-RUN: CM4 reboot on RTC interruption
GN-EN: CM4 shutdown on RTC interruption
D4: D4 pin is triggered on RTC interruption
21 EMC2301 Fan controller, for speed adjustment / measurement
22 RTC Battery connector Can be connected to CR1220 button battery

Writing Image

1、 Download newest Raspberry Pi OS image from Raspberry Pi Website.
Compute Module 4 IO Board 3.png
2、 Operate according to the CM4 version you are using

  • If you use Compute Module 4 Lite, you should write the image to SD card just like common Raspberry Pi.
  • If your use the eMMC version, you need to connect the CM4 to PC by Micro USB cable, Download the rpiboot tools and install it, run rpiboot.exe as administrator to install drivers and startup tools.
    • After the CM4 has been correctly installed on the IO board, using a jumper cap connect the BOOT pin on the IO board to the ground (GND) signal. Then use the USB Type-C cable to connect the USB Type-C interface of the IO board to your PC. The computer will recognize it as a BCMxxx device. In this case, runing the rpiboot software and the PC will automatically recognize the eMMC of the CM4 as a U disk
    • Note: After installing RPiboot_Setup, there will be a rpiboot software. You need to run rpiboot software every time when you connect this device to the computer, to make the computer recognize the device as a U disk

3、 Format SD card: You need to format the MicroSD card or the eMMC by SDFormatter.exe software.
4、 Write image: You need to write the image to Micro SD card or the eMMC by Win32DiskImager.exe software. Select the image file and click “Write”. Please DO NOT format it after formatting.
5、 Booting: For the CM4 Lite version, insert the Micro SD card into the card slot and connect the 12V power adapter. The power indicator will turn red, and the ACT will turn green and blink while booting.
For the CM4 eMMC version, you need to remove the jumper of nRPI_BOOT J2 (disable eMMC Boot) on the IO board, and then power on the IO board again.

If you failed to write the eMMC, please try with the following steps:

  • User Windows 10 PC instead of Windows 7 or Linux. It seems that Windows 7 or Linux PC is not stable for eMMC writing.
  • Check your CM4, make sure that it is the eMMC version which has one more eMMC chip compare to the LITE version.


  • Note that you need to connect 12 power adapter to the Power port.
  • Please change a USB cable for a try and make sure that the cable is data accessible.
  • Change the USB port of the PC and try it again.
  • Try to restart your PC.
  • Re-connect the CM4 for a try.
  • Try with other PCs.


In order to save power, the USB interface of the CM4 is disabled by default. If you need to open the USB interface, please add the following line to the end of the config.txt:


And then reboot the system.



To enable the I2C for controling the fan and the RTC, you need to add the line "dtparam=i2c_vc=on" on thw config.txt file
RTC is connected to i2c-10 with address 0x51(7bits)
FAN is connected to i2c-10 with address 0x2f(7bits)

sudo nano /boot/config.txt

Add the following line to the end of the config.txt


And then comment out the line dtparam=audio=on


Save the file and reboot the system

sudo reboot

RTC test

1.Download the test demo.

Open the terminal of the Raspberry Pi, enter the following command:

sudo apt-get install p7zip-full
sudo wget
7z x PCF85063_code.7z -O./
cd PCF85063_code

2.Run the demo


Execute the following commands to compile and execute the test demo:

cd c
sudo make clean
sudo make -j 8
sudo ./main

And then you can check the running result as below:

RTC PCF85063 c test.png


Enter the python/example directory:

cd python/example

And then run the python demo, the demo can support python2/3

# python2
sudo python
# python3
sudo python3

The running result as below:

RTC PCF85063 python test.png

FAN test

【Note】Please connect the fan first before connecting the power to the Board to complete! Please do not connect the fan to the Board when the board is powered on(the fan control chip is powered on,), otherwise, itwill be damaged!

Open the terminal of the Raspberry Pi, enter the following command:

sudo apt-get install p7zip-full
sudo wget
7z x EMC2301_code.7z -O./
cd EMC2301_code


Compile and execute the test demo:

cd c
sudo make clean
sudo make -j 8
sudo ./main


Enter the python/example directory:

cd python/example

And then run the python demo, the demo can support python2/3

# python2
sudo python
# python3
sudo python3

The fan will run the variable speed test in RPM mode. Pay attention to the changes of the fan's sound. The running phenomena of the python demo are the same as the C program. The terminal will output the relevant data of the fan at the same time, as shown in the picture below:

FAN EMC2301 test.png

You can also directly control the fan speed by modifying the parameter of the demo.


CSI and DSI are disabled by default. When using the camera and DSI, it will occupy three I2C devices: I2C-10, I2C-11, and I2C-0.

  • Open a terminal and run the following commands:
 sudo apt-get install p7zip-full
 7z x CM4_dt_blob.7z -O./CM4_dt_blob
 sudo chmod 777 -R CM4_dt_blob
 cd CM4_dt_blob/
 #If you want to use both cameras and DSI0
 sudo  dtc -I dts -O dtb -o /boot/dt-blob.bin dt-blob-disp0-double_cam.dts
 #If you want to ue both cameras and DSI1
 sudo  dtc -I dts -O dtb -o /boot/dt-blob.bin dt-blob-disp1-double_cam.dts
  • And then connect the cameras and DSI display

1: Please power off the IO Board first before your connection.
2: Connect the power adapter after connecting the cameras and DSI display
3: Wait a few seconds before the screen boot up.
4: If the DSI LCD cannot display, please check if you have added /boot/dt-blob.bin. If there already has the dt-blob.bin, just try to reboot.
5: The camera needs to be enabled by raspi-config, enter sudo raspi-config on the terminal, choose Interfacing Options->Camera->Yes->Finish-Yes and reboot the system

  • Test the Cameras:

Test camera0:

sudo raspivid -t 0 -cs 0

Test camera1:

sudo raspivid -t 0 -cs 1


  • HDMI1 is disabled if you use DSI interfaces for displaying, even if you just compile the corresponding files without connecting to the DSI screen, please note it.
  • If you want to enable the HDMI1, please remove the dt-blob.bin file with the command:
sudo rm -rf /boot/dt-blob.bin

And then turn off IO Board and reboot it.

Please contact us by Email/Skype/WeChat for technology support.Our response may be delay, you can just leave your questions, we will reply to you as soon as possible in working time.

Service email.png [email protected]
Service skype.png [email protected]
Service wechat.png Webchat Linzeru.png
Service time.png 09:00 - 18:00 (UTC+8 Monday to Staturday)

If it is a technical problem, you can contact me directly:

Retrieved from ""